所以我正在使用 Python 和谷歌云服务(用于电话呼叫)进行语音转文本项目。我收到的 mp3 在左扬声器播放一种声音,在右扬声器播放另一种声音。
所以在测试过程中,我手动将原始 mp3 文件拆分为两个 WAV 文件(每个通道一个,转换为单声道)。我通过 Audacity 进行了拆分。准确率约为 80-90%,非常适合我的目的。
但是,一旦我尝试使用 ffmpeg (更具体地说:ffmpeg -i input_filename.mp3 -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav)自动分割,精度急剧下降。
我已经试验了大约一个星期,但我无法提高准确性。就其价值而言,音频文件听起来与人耳相同。我发现当我增加输出文件的体积时,准确度会变得更好,但不如我用 Audacity 进行拆分时那么好。
我想我想问的是,Audacity 有什么不同?
以下是每个文件的 sox -n stat 结果:
**使用 ffmpeg 拆分(~20-30% 准确度):**
Samples read: 1690560
Length (seconds): 211.320000
Scaled by: 2147483647.0
Maximum amplitude: 0.433350
Minimum amplitude: -0.475739
Midline amplitude: -0.021194
Mean norm: 0.014808
Mean amplitude: -0.000037
RMS amplitude: 0.028947
Maximum delta: 0.333557
Minimum delta: 0.000000
Mean delta: 0.009001
RMS delta: 0.017949
Rough frequency: 789
Volume adjustment: 2.102
大胆拆分:(80-90% 准确率)
Samples read: 1689984
Length (seconds): 211.248000
Scaled by: 2147483647.0
Maximum amplitude: 0.217194
Minimum amplitude: -0.238373
Midline amplitude: -0.010590
Mean norm: 0.007423
Mean amplitude: -0.000018
RMS amplitude: 0.014510
Maximum delta: 0.167175
Minimum delta: 0.000000
Mean delta: 0.004515
RMS delta: 0.008998
Rough frequency: 789
Volume adjustment: 4.195
原始mp3:
Samples read: 3379968
Length (seconds): 211.248000
Scaled by: 2147483647.0
Maximum amplitude: 1.000000
Minimum amplitude: -1.000000
Midline amplitude: -0.000000
Mean norm: 0.014124
Mean amplitude: -0.000030
RMS amplitude: 0.047924
Maximum delta: 1.015332
Minimum delta: 0.000000
Mean delta: 0.027046
RMS delta: 0.067775
Rough frequency: 1800
Volume adjustment: 1.000
对我来说突出的一件事是持续时间不一样。还有幅度。我可以指示 ffmpeg 进行拆分时的持续时间是多少?我可以更改所有幅度以匹配大胆文件吗?我不确定如何才能达到 80% 的准确率,但增加音量似乎是迄今为止最有希望的解决方案。
任何帮助将不胜感激。我不必使用 ffmpeg,但这似乎是我唯一的选择,因为 Audacity 不可编写脚本。