Skip to content

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)使用技巧

  1. 🔍 用于纠正特定词汇识别
  2. 📜 保持上下文连贯性
  3. ✍️ 控制标点符号输出
  4. 🗣️ 保留填充词
  5. 📝 控制输出文字样式(如中文简繁体)

支持语言

支持98种语言,包括:

  • 主要亚洲语言:中文、日语、韩语等
  • 欧洲语言:英语、法语、德语等
  • 其他地区语言:阿拉伯语、印地语等

注意:仅列出词错误率(WER)低于50%的语言,其他语言虽支持但质量可能较低

AnyAPI — 专业的 AI 接口聚合服务