微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何处理音频字节以从实时音频流中提取 MFCC?

如何解决如何处理音频字节以从实时音频流中提取 MFCC?

我想从内置麦克风流式传输实时音频,并且已成功使用 PyAudio 和 Sounddevice。两种方法都不错,但主要问题是关于特征提取

PyAudio

import pyaudio

FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
CHUNK = 1024

audio = pyaudio.PyAudio()
stream = audio.open(format=FORMAT,channels=CHANNELS,rate=RATE,input=True,output=True,frames_per_buffer=CHUNK)
data = stream.read(CHUNK)

声音设备

import sounddevice as sd

fs=44100
duration=5

audio = sd.rec(duration*fs,samplerate=fs,channels=1,dtype='float64')
sd.wait()
print('audio recorded')

我想获取此实时音频数据流以提取 MFCC 特征,而无需将流写入波形文件并回读。如何将流数据转换为 MFCC 特征?

补充:我曾尝试使用 Librosa 库获取带有 PyAudio 音频流的 mfccs,但出现错误

while True:
    data = stream.read(CHUNK)
    data_int = np.frombuffer(data,dtype=np.int16)
    mfcc_y = librosa.feature.mfcc(data_int,sr=44100)
    librosa.display.specshow(mfcc_y,sr=44100)

出现错误ParameterError: Audio buffer is not finite everywhere

我希望得到一些关于如何转换音频字节以执行任何特征提取的指导。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。