gpt4 book ai didi

python - 到 Librosa 的 AudioSegment

转载 作者:行者123 更新时间:2023-12-03 00:23:58 24 4
gpt4 key购买 nike

我,正在使用 pydub 编写代码模块从音频文件中获取数据,但我想使用 librosa 执行相同的操作模块,如何转换我的代码并获得与 librosa 相同的结果
这是我的代码:

import numpy as np
from pydub import AudioSegment

audiofile = AudioSegment.from_file(filename)
data = np.fromstring(audiofile._data,np.int16)

channels = []
for c in range(audiofile.channels):
channels.append(data[c::audiofile.channels])

fs = audiofile.frame_rate

return channels, fs

最佳答案

您可以使用:

from pydub import AudioSegment

sound = AudioSegment.from_file("file.wav")
samples = sound.get_array_of_samples()
arr = np.array(samples).astype(np.float32)/32768 # 16 bit
arr = librosa.core.resample(arr, sound.frame_rate, 22050, res_type='kaiser_best')
print(arr)
输出:
array([-0.0065596 , -0.00243502,  0.00489785, ..., -0.04385557,
-0.04421588, -0.05063475], dtype=float32)
在 librosa 中测试:
y, sr = librosa.load('file.wav', sr=22050)
print(y)
输出:
array([-0.0065596 , -0.00243502,  0.00489785, ..., -0.04385557,
-0.04421588, -0.05063475], dtype=float32)

关于python - 到 Librosa 的 AudioSegment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62916406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com