audio - 为什么立体声 mp3 文件在使用 ffmpeg 从 mp4 转换时会丢失一个通道?
问题描述
我正在关注本教程https://hackernoon.com/audio-handling-basics-how-to-process-audio-files-using-python-cli-jo283u3y,当我从 mp3 文件中提取数据时,它是只有一维数组,而 wav 文件中的数据是二维的。我使用 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 文件的信息时,它说 Stereo,但是data_mp3
只有一维数组的事实是否意味着它实际上是单声道的?转换过程中是否丢失了一个频道?如果我想确认这两个文件具有相同的信号,我应该如何重塑数据?
解决方案
但是 data_mp3 只是一维数组的事实是否意味着它实际上是单声道的?
不。
如果我想确认这两个文件具有相同的信号,我应该如何重塑数据?
将其解码回wav
推荐阅读
- angular - Angular 6 创建动态组件
- java - 无法在我的 Maven 项目中使用 Junit 4.12 解决“junit”问题
- java - Recyclerview 服务中
- python - After working on a machine learning project how do I save it for others to see
- javascript - 使用 Jasmine 测试 TypeScript 生成的类
- laravel - 在 null 上调用成员函数 pluck()
- html - 带有长标题的粘性标题会影响下一个粘性标题
- angular - 来自电子的角度应用程序内的服务ajax请求
- php - 如何通过 WordPress REST API 获取作者(用户)的多语言配置文件
- php - ZipArchive 未正确压缩文件