Почему стереофонический mp3-файл потерял канал при преобразовании из mp4 с помощью ffmpeg?

#audio #ffmpeg #mp3

#Аудио #ffmpeg #mp3

Вопрос:

Я следую этому руководству https://hackernoon.com/audio-handling-basics-how-to-process-audio-files-using-python-cli-jo283u3y , и когда я извлекаю данные из mp3-файла, это всего лишь одномерный массив, в то время как данные из wav-файла являются 2D. Я конвертировал их из того же файла mp4 с помощью ffmpeg.

 # 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, он говорит Stereo, но означает ли тот факт, что data_mp3 это только одномерный массив, что он на самом деле моно? Он потерял один канал во время преобразования? И как мне изменить данные, если я хочу подтвердить, что эти два файла имеют идентичный сигнал?

Ответ №1:

но означает ли тот факт, что data_mp3 представляет собой только одномерный массив, что он на самом деле моно?

Нет.

И как мне изменить данные, если я хочу подтвердить, что эти два файла имеют идентичный сигнал?

Декодируйте его обратно в wav