语音识别该选哪种音频格式
格式看着是小事,直到文件卡在体积上限、或者流量账单开始扎眼。准确率几乎不看容器,上传时间和成本却很看。下面说清楚该发什么、为什么。
服务接受什么
常见容器都支持:ogg、opus、mp3、wav、m4a、webm、flac。单个文件上限 25 MB。服务内部无论如何都会重采样成 16 kHz 单声道,所以超过这个门槛的音质对结果没有影响。
由此得出一条简单规则:不要为将被丢弃的数据付流量。
一小时有多大
| 格式 | 一小时 | 说明 |
|---|---|---|
| wav 44.1 kHz 立体声 | 约 600 MB | 无压缩,塞不进上限 |
| mp3 128 kbps | 约 55 MB | 常见,但对语音是浪费 |
| mp3 64 kbps 单声道 | 约 28 MB | 可以接受,仍然偏大 |
| opus 24 kbps 单声道 | 约 11 MB | 语音的最优解 |
opus 就是为语音设计的,在 mp3 已经糊掉的码率上依然清楚。一小时对话装进十几兆还有余量。
一条命令统一格式
不管电话系统或录音笔给的是什么,这条命令都能规整:
ffmpeg -i input.wav -vn -ac 1 -ar 16000 -c:a libopus -b:a 24k output.ogg
逐个参数:vn 去掉视频轨,ac 1 混成单声道,ar 16000 设为模型期望的采样率,b:a 24k 是语音足够用的码率。
只有一种情况要保留立体声:两位说话人分别录在不同声道,而你打算分开转录。
不要做的事
- 二次压缩。mp3 转 mp3 只增加失真,体积也省不下来——直接从源文件转 opus。
- 提高采样率。把 8 kHz 电话音升到 48 kHz 不会增加信息,只增加体积。
- 粗暴删静音。删掉停顿会打乱时间戳,还会把不同人的话粘在一起。
- 整段视频上传。音轨只有二十分之一大,识别结果一模一样。
用你自己的录音试一试。 注册只需一分钟,免费额度足够判断识别质量。
免费获取 API 密钥常见问题
格式会影响准确率吗?
影响很小。只有在极低码率下才明显,低于 16 kbps 语音开始散架。opus 24 kbps 单声道的结果与原始 wav 没有区别。
文件超过 25 MB 怎么办?
先压成 opus,多数情况就够了。录音确实很长的话,按停顿切开再把文本拼起来。
发送前必须转换吗?
不必,常见格式都能直接收。转换只是省流量和上传时间,长录音时还能避开体积上限。
8 kHz 的电话录音行吗?
可以,电话音识别很稳。不要升采样率,那样并不会给录音增加任何信息。
相关阅读
- 转录前的音频准备:ffmpeg 常用命令 — 可直接复制的 ffmpeg 命令:从视频抽音轨、混成单声道、裁掉静音、按停顿切分,以及把立体声两个声道分开。
- 一次请求装不下的录音怎么转录 — 几小时的录音如何处理:先压缩,再按停顿切分,并行处理各段,最后合并成带连续时间戳的完整文本。
- 如何提高语音识别准确率:八个实用方法 — 真正能改善转录质量的八件事:音频预处理、指定语种、prompt 词表、切分策略、响应格式,以及如何测量字错率。