本指南将教您如何使用 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中文网其他相关文章!

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...

如何解决jieba分词在景区评论分析中的问题?当我们在进行景区评论分析时,往往会使用jieba分词工具来处理文�...

如何使用正则表达式匹配到第一个闭合标签就停止?在处理HTML或其他标记语言时,常常需要使用正则表达式来�...


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

WebStorm Mac版
好用的JavaScript开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

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