我想在Python中从USB麦克风录制短音频片段。我尝试过pyaudio,但似乎无法与ALSA通信,而alsaaudio的代码示例生成的文件无法读取。
那么我的问题是:在Python中记录来自USB麦克风的音频片段的最简单方法是什么?
我想在Python中从USB麦克风录制短音频片段。我尝试过pyaudio,但似乎无法与ALSA通信,而alsaaudio的代码示例生成的文件无法读取。
那么我的问题是:在Python中记录来自USB麦克风的音频片段的最简单方法是什么?
该脚本在录制test.wav的同时打印当前的振幅:
import alsaaudio, wave, numpy
inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE)
inp.setchannels(1)
inp.setrate(44100)
inp.setformat(alsaaudio.PCM_FORMAT_S16_LE)
inp.setperiodsize(1024)
w = wave.open('test.wav', 'w')
w.setnchannels(1)
w.setsampwidth(2)
w.setframerate(44100)
while True:
l, data = inp.read()
a = numpy.fromstring(data, dtype='int16')
print numpy.abs(a).mean()
w.writeframes(data)
array.array('h', data)
或者struct
代替numpy呢? - Erik Kaplun