#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