极速语音转录:Groq 上线 Whisper Large-V3 模型,简单易用免费体验!
引言
Groq上了新模型whisper-large-v3
,你可以在Playground或本地项目中使用API。
之前我有文章,详细介绍了Groq和它的API,请看这两篇。
Groq技术新突破:Mixtral 8x7B模型实现每秒500个tokens的生成速度Groq API 使用指南:无需申请即可体验,从速率限制到模型参数解析
Groq's Whisper 快速上手
Model ID: whisper-large-v3
Developer: OpenAI File Size: 最大支持 25MB 的文件,支持的格式包括:mp3, mp4, mpeg, mpga, m4a, wav, webm
Playground链接
https://console.groq.com/playground
目前Groq对普通用户免费。
价格(现在还未收费)
将美元转换成人民币(汇率为1美元 = 7.26人民币),约每小时 ¥0.48
速度很快
转录一段4分30秒钟的视频大约只需要 3 秒。不仅支持多种语言的转录,还支持其他语言翻译成英文。
那将语音转录后,我们要如何处理呢?这里非常推荐宝玉老师(@dotey)的GPTs——Transcript organization 视频文稿整理。整理效果特别棒。
Groq's Whisper API 语音处理功能总结
主要功能
Groq 的 Whisper API 提供强大的语音转文本和语音翻译功能,并使用与 OpenAI 兼容的 API 接口,方便用户集成到自己的应用程序中。
API 接口
语音转文本: https://api.groq.com/openai/v1/audio/transcriptions 语音翻译 (翻译为英文): https://api.groq.com/openai/v1/audio/translations
支持的模型
whisper-large-v3: 该模型在语音转文本和翻译任务中均提供最先进的性能。
音频文件限制
文件大小限制为 25 MB。 支持的输入文件类型:mp3, mp4, mpeg, mpga, m4a, wav, and webm。 如果文件包含多个音轨(例如,带有配音的视频),则仅转录第一个音轨。
音频预处理
Whisper 会在转录前将音频下采样至 16,000 Hz 单声道。建议在客户端执行此预处理以减小文件大小并允许上传更长的文件。
使用 ffmpeg 进行音频预处理:
ffmpeg \
-i <your file> \
-ar 16000 \
-ac 1 \
-map 0:a: \
<output file name>
语音转文本功能详解
功能: 将音频或视频文件中的语音转换为文本。
可选参数:
prompt: 提供上下文或指定不熟悉单词的拼写方式。
response_format: 定义输出响应格式。
默认值为 "json"。
设置为 "verbose_json" 可接收音频片段的时间戳。
设置为 "text" 以返回文本响应。
不支持 vtt 和 srt格式。
temperature: 指定一个介于 0 和 1 之间的值以控制翻译输出。
language: 指定转录语言(可选;如果未指定,Whisper 将自动检测)。
使用 ISO 639-1 语言代码(例如,"en" 代表英语,"fr" 代表法语等)。
指定语言可以提高转录准确性和速度。
timestamp_granularities[]: 不支持此参数。
Python 代码示例:
pip install groq
import os
from groq import Groq
client = Groq()
filename = os.path.dirname(__file__) + "/sample_audio.m4a"
with open(filename, "rb") as file:
transcription = client.audio.transcriptions.create(
file=(filename, file.read()),
model="whisper-large-v3",
prompt="Specify context or spelling", # 可选
response_format="json", # 可选
language="en", # 可选
temperature=0.0 # 可选
)
print(transcription.text)
实际体验,4分30秒的视频大约转录需要3秒。速度很快。
语音翻译功能详解
功能: 将音频或视频文件中的语音翻译成英文。(如果原始语音就是英文,则结果仍为英文文本)。
可选参数:
prompt: 提供上下文或指定不熟悉单词的拼写方式。
response_format: 定义输出响应格式。
默认值为 "json"。
设置为 "verbose_json" 可接收音频片段的时间戳。
设置为 "text" 以返回文本响应。
不支持格式 vtt 和 srt。
temperature: 指定一个介于 0 和 1 之间的值以控制翻译输出。
Python 代码示例:
pip install groq
import os
from groq import Groq
client = Groq()
filename = os.path.dirname(__file__) + "/sample_audio.m4a"
with open(filename, "rb") as file:
translation = client.audio.translations.create(
file=(filename, file.read()),
model="whisper-large-v3",
prompt="Specify context or spelling", # 可选
response_format="json", # 可选
temperature=0.0 # 可选
)
print(translation.text)
实际运行后,发现在翻译结果的开头出现了一些无意义字段,但后面的内容翻译正常,我还会继续尝试解决这个问题。
结语
自从使用上了Groq,对它的快速度非常满意,而且它的API容易申请。
推荐大家都体验下。
欢迎在评论区留言,让我们一起交流进步。
为了方便在本地调用 Groq API,我们可以将 API 密钥设置为环境变量。
拓展阅读——GROQ_API_KEY的环境变量设置
运行Python程序前,先设置GROQ_API_KEY的环境变量。
Mac 电脑
在Mac上设置环境变量有两种常用方法:临时设置和永久设置。
临时设置
临时设置只在当前终端会话中有效。关闭终端或注销后设置会失效。
打开终端。
输入以下命令并回车:
export GROQ_API_KEY=xxx
永久设置
永久设置会在每次启动终端时生效。你需要编辑你的shell配置文件,例如 .bash_profile
,.zshrc
或 .bashrc
。
打开终端。
使用文本编辑器打开配置文件(以下以
.zshrc
为例,如果你使用的是zsh
,对于bash
用户,请使用.bash_profile
或.bashrc
):nano ~/.zshrc
在文件末尾添加以下行:
export GROQ_API_KEY=xxx
保存并退出编辑器(在
nano
中,按Ctrl + O
然后按Enter
保存,按Ctrl + X
退出)。重新加载配置文件:
source ~/.zshrc
Windows 电脑
临时设置
临时设置只在当前命令提示符会话中有效。关闭命令提示符后设置会失效。
打开命令提示符。
输入以下命令并回车:
set GROQ_API_KEY=xxx
永久设置
永久设置会在每次打开命令提示符时生效。
在桌面上右键点击“此电脑”或“我的电脑”,选择“属性”。 点击“高级系统设置”。 在“系统属性”窗口中,点击“环境变量”按钮。 在“环境变量”窗口中,点击“新建”按钮以添加一个新的用户变量或系统变量。 在“变量名”中输入 GROQ_API_KEY
,在“变量值”中输入xxx
。点击“确定”保存设置,并关闭所有对话框。
这样设置后,你的环境变量 GROQ_API_KEY
就会在所有新的命令提示符会话中生效。
精选历史文章,请看这里:
Groq技术新突破:Mixtral 8x7B模型实现每秒500个tokens的生成速度
Groq API 使用指南:无需申请即可体验,从速率限制到模型参数解析
Groq + Llama 3 实现本地 RAG:Phidata 框架的应用与性能展示
Groqbook:使用 Groq 和 Llama3 在几秒钟内生成整本书