如何在Python中将.opus格式音频转文本或转.wav格式?
解决Opus音频转文本或WAV格式的方法
一、将Opus转换为WAV格式
方法1:使用FFmpeg命令行
这是最快捷的方式,先确保系统已安装FFmpeg,然后执行单文件转换命令:
ffmpeg -i input.opus output.wav
如果需要批量转换所有Opus文件,可使用shell脚本(适用于Linux/macOS):
for file in *.opus; do ffmpeg -i "$file" "${file%.opus}.wav" done
方法2:使用Python的pydub库
先安装依赖包:
pip install pydub
注意需要FFmpeg在系统PATH中,若不在可在代码中指定路径:
from pydub import AudioSegment # 可选:指定FFmpeg路径(如果未加入系统PATH) # AudioSegment.converter = "/your/path/to/ffmpeg" # 加载Opus文件并导出为WAV audio = AudioSegment.from_file("input.opus", format="opus") audio.export("output.wav", format="wav")
二、直接将Opus转换为文本(无需转WAV)
使用OpenAI的Whisper库,原生支持Opus格式,识别准确率较高:
先安装库:
pip install openai-whisper
单文件识别示例:
import whisper # 选择模型(tiny/base/small/medium/large,越大准确率越高、速度越慢) model = whisper.load_model("base") result = model.transcribe("input.opus") print("识别文本:", result["text"])
批量转换并保存为文本文件示例:
import whisper import os model = whisper.load_model("base") for filename in os.listdir("."): if filename.endswith(".opus"): result = model.transcribe(filename) txt_filename = filename.replace(".opus", ".txt") with open(txt_filename, "w", encoding="utf-8") as f: f.write(result["text"])
内容的提问来源于stack exchange,提问作者ai_10111
相关产品推荐
相关产品推荐

