为什么立体声mp3文件在用ffmpeg从mp4转换时丢失了一个频道



我正在学习本教程https://hackernoon.com/audio-handling-basics-how-to-process-audio-files-using-python-cli-jo283u3y,当我从mp3文件中提取数据时,它只是一个一维数组,而从wav文件中提取的数据是2D。我用ffmpeg从同一个mp4文件中转换了它们。

# read WAV file using scipy.io.wavfile
fs_wav, data_wav = wavfile.read("data/music_8k.wav")
# read MP3 file using pydub
audiofile = AudioSegment.from_file("data/music_8k.mp3")
data_mp3 = np.array(audiofile.get_array_of_samples())
fs_mp3 = audiofile.frame_rate
print(data_wav.shape) #(9835520, 2)
print(fs_wav) #44100
print(data_mp3.shape) #(19671040,)
print(fs_mp3) #44100

当我检查mp3文件的信息时,它说立体声,但data_mp3只是一维数组这一事实是否意味着它实际上是单声道的?它在转换过程中丢失了一个通道吗?如果我想确认这两个文件有相同的信号,我应该如何重塑数据?

但data_mp3只是一维数组这一事实是否意味着它实际上是单声道的?

否。

如果我想确认这两个文件具有相同的信号,我应该如何重塑数据?

将其解码回wav

相关内容

最新更新