ALSA和PyAudio

时间:2018-01-26 09:19:23

标签: python alsa pyaudio

我正在编写一个简单的应用程序,我需要从麦克风上读取,这是我的程序(它只是了解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)。

0 个答案:

没有答案