python 使用 语音转文本
语音转文本 API 指南
概述
音频 API 提供两个主要端点:
- 📝 transcriptions:音频转文本
- 🔄 translations:音频翻译为英文
支持格式
- 📁 文件大小:最大25 MB
- 🎵 支持格式:mp3、mp4、mpeg、mpg、m4a、wav、webm
使用方法
1. 转录(Transcription)
将音频转换为原语言文本
python
from openai import OpenAI
client = OpenAI(
base_url="https://www.anyapi.vip/v1",
api_key=key
)
# 基础转录
audio_file = open("/path/to/file/audio.mp3", "rb")
transcription = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file
)
print(transcription.text)
# 指定输出格式
transcription = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file,
response_format="text"
)2. 翻译(Translation)
将任意语言音频转换为英文文本
python
from openai import OpenAI
client = OpenAI(
base_url="https://www.anyapi.vip/v1",
api_key=key
)
audio_file = open("/path/to/file/german.mp3", "rb")
translation = client.audio.translations.create(
model="whisper-1",
file=audio_file
)
print(translation.text)3. 时间戳功能
python
from openai import OpenAI
client = OpenAI(
base_url="https://www.anyapi.vip/v1",
api_key=key
)
audio_file = open("speech.mp3", "rb")
transcript = client.audio.transcriptions.create(
file=audio_file,
model="whisper-1",
response_format="verbose_json",
timestamp_granularities=["word"]
)
print(transcript.words)4. 处理大文件
使用 PyDub 分割大于25MB的文件:
python
from pydub import AudioSegment
song = AudioSegment.from_mp3("good_morning.mp3")
# 分割为10分钟片段
ten_minutes = 10 * 60 * 1000
first_10_minutes = song[:ten_minutes]
first_10_minutes.export("good_morning_10.mp3", format="mp3")优化建议
提示(Prompts)使用技巧
- 🔍 用于纠正特定词汇识别
- 📜 保持上下文连贯性
- ✍️ 控制标点符号输出
- 🗣️ 保留填充词
- 📝 控制输出文字样式(如中文简繁体)
支持语言
支持98种语言,包括:
- 主要亚洲语言:中文、日语、韩语等
- 欧洲语言:英语、法语、德语等
- 其他地区语言:阿拉伯语、印地语等
注意:仅列出词错误率(WER)低于50%的语言,其他语言虽支持但质量可能较低