期待结果和实际结果
我希望实现ai的语音唤醒,通过api调用实现语音交互
软硬件版本信息
使用yahboom制作的k230开发板
错误日志
由于pyaudio不可重复初始化,关键词录入kws_income_stream帧长固定为kws_chunk,与输出音频的帧长不同,扬声器播放音频时发出“砰砰”的电子音
尝试解决过程
KWS_input_stream = self.p.open(format=self.FORMAT,# 打开输入音频流,配置格式、通道数、采样率等参数
channels=self.CHANNELS,
rate=self.RATE,
input=True,
frames_per_buffer=KWS_CHUNK)
KWS_input_stream.volume(vol = 100)
KWS_output_stream = self.p.open(format=self.FORMAT, # 打开输出音频流,配置格式、通道数、采样率等参数
channels=self.CHANNELS,
rate=self.RATE,
output=True,
frames_per_buffer=self.CHUNK)
#KWS_CHUNK设置为self.CHUNK,无法检测人声
补充材料
KWS_CHUNK = int(0.3 * 16000) # 每次读取音频数据的帧数,设置为0.3秒的帧数
self.RATE = 16000
self.CHUNK = self.RATE // 25 # 每个缓冲区的帧数 / Frames per buffer
我想问的核心就是关键词检测的程序中,语音输入流的帧长是不是固定为int(0.3 * 16000),如果程序运行中,音频通道想要更改,该如何更改