如何将mp3数据转换成wav数据?

问题描述 投票:0回答:1

我有一个 wav 音频文件,我使用 python pydub 模块从那个 wav 中提取数据,我得到了这个数据

[-139 18 -215 34 -196 6 -295 -31 -301 -35 -211 13 -93 47 -60 39 -58 7 -17 2]

(这是我得到超过100万条数据的前10条数据)

from pydub import AudioSegment
import numpy as np

song = AudioSegment.from_file("test.wav")
extract_data = np.array(song.get_array_of_samples())
print(extract_data[:10])

然后我使用该模块将 wav 转换为 mp3,并再次从 mp3 文件中提取数据,我得到了这些数据

[-108 7 -193 24 -223 11 -239 -31 -248 -43 -203 -10 -101 23 -14 24 10 15 24 16]

(这是我得到超过100万条数据的前10条数据)

song = AudioSegment.from_file("test.wav")
song.export("test.mp3")
mp3_song = AudioSegment.from_file("test.mp3")
extract_data = np.array(mp3_song.get_array_of_samples())
print(extract_data[:10])

我再次将 mp3 转换为 wav 现在我得到的是 mp3 数据而不是 wav 数据。

mp3_song = AudioSegment.from_file("test.mp3")
mp3_song.export("test1.wav", format="wav")

song = AudioSegment.from_file("test1.wav")
extract_data = np.array(song.get_array_of_samples())
print(extract_data[:10])

我的观点是如何将mp3数据转换成原始的wav数据?

请帮助我,

谢谢。

python mp3 wav pydub
1个回答
0
投票

因为 .MP3 使用“有损”压缩,转换时您不会得到相同的数据,因为数据“丢失”。 数据被压缩,过程中信息丢失。

如果你无限期地来回转换,数据会无限期地降级!

无法取回数据!

© www.soinside.com 2019 - 2024. All rights reserved.