使用 OpenAI Whisper 和 Streamlit 构建语音转录和翻译应用程序
本指南将教您如何使用 Streamlit st.audio_input 小部件在与 OpenAI Whisper 模型配对的设备麦克风上录制您的声音,以将您的语音转录和/或翻译为英语文本。您稍后可以将转录内容下载为 .txt 格式的文本文件。
先决条件
- Python基础知识
- 流光
- OpenAI API 密钥。注册一个帐号
什么是耳语
Whisper 是一个训练有素的开源神经网络,在英语语音识别方面接近人类水平的鲁棒性和准确性。
OpenAI API 提供两个端点:
- 转录
- 翻译
什么是 Streamlit
从官方网站来看,Streamlit 是构建和共享数据应用程序的更快方式。它是一个开源 Python 库,可帮助您构建 Web 应用程序以共享分析结果、构建复杂的交互式体验以及在新的机器学习模型之上进行迭代。
Streamlit 是 Python 开发人员的首选,因为它具有内置且方便的方法,从接受文本、数字和日期等用户输入到使用最流行、最强大的 Python 图形库显示交互式图形。
安装 Streamlit
要运行任何 Streamlit 应用程序,您必须首先使用以下命令安装 Streamlit:
pip install streamlit
安装其他库
由于我们正在将音频转换为文本,因此我们需要安全地存储环境变量。
pip install openai python-dotenv
创建环境变量
在项目根目录下创建一个新文件,命名为.env。
粘贴您的 OpenAI API 密钥:
.env
OPENAI_API_KEY="sk-..."
创建应用程序
在您的目录中创建此文件,streamlit_app.py,其中将包含用于转录和翻译音频并输出结果文本的所有 Python 代码。
要初始化 OpenAI 客户端的实例,请复制粘贴以下代码:
streamlit_app.py
import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() api_key = os.getenv('OPENAI_API_KEY') client = OpenAI()
代码块连接并读取 .env 文件中的密钥,确保我们作为用户进行身份验证。
PS:使用 OpenAI API 并不是免费的,因为您必须购买一些积分才能使用该服务。
用 Whisper 进行转录
让我们使用以下内容更新streamlit_app.py:
streamlit_app.py
... import streamlit as st st.logo( "logo.png", size="medium", link="https://platform.openai.com/docs", ) st.title("Transcription with Whisper") audio_value = st.audio_input("record a voice message to transcribe") if audio_value: transcript = client.audio.transcriptions.create( model="whisper-1", file = audio_value ) transcript_text = transcript.text st.write(transcript_text)
转录 API 将使用 st.audio_input 小部件转换我们的音频来录制我们的声音。如果录音存在,模型 Whisper 用于创建音频转录所需的文件格式,并使用 st.write() 函数输出文本,该函数接受一个字符串并将其直接写入我们的 Web 应用程序。
要使用应用程序左上角的确切徽标,请下载此徽标并将其保存在您的项目目录中。
现在,让我们在终端中使用以下命令运行此应用程序:
pip install streamlit
下载转录文本
下载转录的消息供以后使用的功能可以在您需要时用于保存记录。
Streamlit 提供了一个输入小部件,允许显示下载按钮。返回streamlit_app.py 文件,使用以下内容更新代码库:
streamlit_app.py
pip install openai python-dotenv
上面的代码行中出现以下内容:
- Streamlit 中的 st.session_state 允许您在每个用户会话的重新运行之间共享变量
- transcript_text 变量将包含转录文本的内容
- 赋值的txt_file变量,transcription.txt是下载文件时转录文本的文件名。
- 在 st.download_button() 函数中,标签向用户描述了该按钮的用途。
保存文件时,st.success 状态元素会显示成功消息,如下所示:
耳语翻译
创建翻译的过程与创建转录的过程类似。翻译端点将从音频文件的输入将外语翻译成英语书面文本。
复制并粘贴此代码。
streamlit_app.py
OPENAI_API_KEY="sk-..."
如果您想创建一个文件将翻译后的音频文件另存为文本,您可以使用下载转录按钮执行相同的操作。
完整的源代码位于此存储库中,并尝试使用此应用程序将您的语音转录并翻译为文本。
祝你好运!
结论
不像 OpenAI 文档中那样使用来自互联网的预先录制的音频,Streamlit 为您提供了使用您的语音并将其与 OpenAI 提供的转录和翻译端点配对来创建这个出色项目的机会。
设备中的麦克风可以做很多事情,因为技术已经使其超越了在会议和通话期间使用它进行通信的范围。
以上是使用 OpenAI Whisper 和 Streamlit 构建语音转录和翻译应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

每天学习Python两个小时是否足够?这取决于你的目标和学习方法。1)制定清晰的学习计划,2)选择合适的学习资源和方法,3)动手实践和复习巩固,可以在这段时间内逐步掌握Python的基本知识和高级功能。

Python在开发效率上优于C ,但C 在执行性能上更高。1.Python的简洁语法和丰富库提高开发效率。2.C 的编译型特性和硬件控制提升执行性能。选择时需根据项目需求权衡开发速度与执行效率。

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。

Python在科学计算中的应用包括数据分析、机器学习、数值模拟和可视化。1.Numpy提供高效的多维数组和数学函数。2.SciPy扩展Numpy功能,提供优化和线性代数工具。3.Pandas用于数据处理和分析。4.Matplotlib用于生成各种图表和可视化结果。

Python在Web开发中的关键应用包括使用Django和Flask框架、API开发、数据分析与可视化、机器学习与AI、以及性能优化。1.Django和Flask框架:Django适合快速开发复杂应用,Flask适用于小型或高度自定义项目。2.API开发:使用Flask或DjangoRESTFramework构建RESTfulAPI。3.数据分析与可视化:利用Python处理数据并通过Web界面展示。4.机器学习与AI:Python用于构建智能Web应用。5.性能优化:通过异步编程、缓存和代码优
