这2个WAV文件有什么区别?

时间:2018-08-14 10:43:38

标签: audio ffmpeg wav mediainfo

我正在尝试使用名为arss的程序从wav文件创建频谱图。我有2个wav文件,一个有效,另一个无效(它已从mp3转换为wav)。

arss扔给我的错误是This WAVE file is not currently supported。很好,但是我不知道要更改wav文件的哪些部分,以便支持 。这些文档对我没有帮助(据我所知)

当我在两个wav文件上运行mediainfo时,我可以达到以下规格:

工作波形:

General
Complete name                            : working.wav
Format                                   : Wave
File size                                : 1.15 MiB
Duration                                 : 6 s 306 ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 536 kb/s

Audio
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 1
Duration                                 : 6 s 306 ms
Bit rate mode                            : Constant
Bit rate                                 : 1 536 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 kHz
Bit depth                                : 16 bits
Stream size                              : 1.15 MiB (100%)

无法正常工作:

General
Complete name                            : not_working.wav
Format                                   : Wave
File size                                : 5.49 MiB
Duration                                 : 30 s 0 ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 536 kb/s
Writing application                      : Lavf57.83.100

Audio
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 1
Duration                                 : 30 s 0 ms
Bit rate mode                            : Constant
Bit rate                                 : 1 536 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 kHz
Bit depth                                : 16 bits
Stream size                              : 5.49 MiB (100%)

比较两个文件的音频规格,我看不出文件大小和持续时间之间的区别。我什至使用ffmpeg更新了无效wav的采样率,以使其与48.0kHz正常工作的wav匹配,但是没有运气。

有什么主意吗?

两个wav文件均可用here

1 个答案:

答案 0 :(得分:2)

FFmpeg默认情况下在数据块之前写入一个LIST块以及一些元数据。 ARSS具有严格的解析器,希望数据块以固定的字节偏移量(0x24)开始。可以告诉FFmpeg使用bitexact选项跳过写LIST块。

ffmpeg -i not_working.wav -c copy -bitexact new.wav

请注意,ARSS不会检查采样率,只是WAV的字节序PCM很少。

这里有一个相关的问题,并非完全重复,供以后的读者使用:

ffmpeg - Making a Clean WAV file