使用ffmpeg从MP3创建的WAV文件与Audacity的巨大区别

问题描述

我需要将mp3转换为wav文件,然后Python脚本将使用该文件。 (脚本为每个通道以numpy数组的形式分析wav文件数据。)一切正常。要获取wav,我首先“手动”使用Audacity并打开mp3,然后使用“导出为WAV”。一切都很好,但是,我现在需要使其自动化并避免使用Audacity。因此,我修改了Python脚本,首先使用以下命令运行ffmpeg进行转换:

subprocess.call(["ffmpeg -i",mp3filename,wavfilename])

查看生成的wavfilename.wav数据,我发现它与Audacity生成文件完全不同。我验证了这两种方法都使用了PCM 16位无符号小字节序,相同的采样率等。

现在,如果我使用该ffmpeg生成的wav文件,使用Audacity打开它,然后“导出为WAV”,它将生成一个效果很好的第3个wav,并且看起来与我使用Audacity创建的wav相同首先,当我说完全相同时,我的意思是我逐个比较numpy数组,并且它们排成一行,而ffmpeg数据根本与Audacity数据不相关。

我正在使用最新的ffmpeg,ffmpeg版本N-99557-g6bdfea8d4b和Lavf58.62.100。 Audacity是2.3.2。我也尝试过使用pydub,但结果与ffmpeg相同。

很明显,Audacity在导出wav时做的事情有所不同,即使ffmpeg数据在Python中看起来非常不同,Audacity也能很好地发挥作用-因此它也能够正确地说明ffmpeg在什么时候所做的一切它制作了wav文件。我只是想让ffmpeg模仿Audacity的功能。任何建议或见解都将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)