因此,我正在使用Python和Google Cloud Services(用于电话呼叫)处理语音文本项目。我收到的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
使用Audacity分割:(准确度为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不能编写脚本。