问题描述
我想从内置麦克风流式传输实时音频,并且已成功使用 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 (将#修改为@)