我正在编写一个简单的应用程序,我需要从麦克风上读取,这是我的程序(它只是了解pyAudio如何工作的开始):
CHUNK = 256
FORMAT = pyaudio.paInt16 #paInt8
CHANNELS = 2
RATE = 16000 #sample rate RECORD_SECONDS = 2
parser = argparse.ArgumentParser()
parser.add_argument("fname", help="name of the file")
args = parser.parse_args()
p = pyaudio.PyAudio()
WAVE_OUTPUT_FILENAME = "./Scrivania/audioxMarco/"+args.fname+".wav"
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK) #buffer
print("* recording")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data) # 2 bytes(16 bits) per channel
print("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
我收到了这个警告:
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate)未知的PCM卡.pcm.rear ALSA lib pcm.c:2266:(snd_pcm_open_noupdate)未知的PCM cards.pcm.center_lfe ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) 未知的PCM cards.pcm.side ALSA lib pcm_route.c:867:(find_matching_chmap)找不到匹配的频道映射 ALSA lib pcm_route.c:867:(find_matching_chmap)找不到匹配项 通道图ALSA lib pcm_route.c:867:(find_matching_chmap)发现没有 匹配频道映射ALSA lib pcm_route.c:867:(find_matching_chmap) 找不到匹配的频道映射connect(2)调用 / dev / shm / jack-0 / default / jack_0失败(错误=没有这样的文件或目录) 尝试连接服务器失败
这是什么意思?
最后程序会尽其所能,但我对帧大小有一些问题。
如果我打印len(frames)
,我得到1024,它应该至少为4096(格式为2字节,通道为x2,104)。