Python 使用pyalsaaudio进行立体声录音
我正在尝试使用一对立体声耳机录制立体声,此立体声USB声卡: 还有我的笔记本电脑。我正在使用USB声卡,因为我最终想让它在我的树莓pi上工作。我正在使用pyalsaaudio和以下代码:Python 使用pyalsaaudio进行立体声录音,python,audio,audio-recording,pcm,alsa,Python,Audio,Audio Recording,Pcm,Alsa,我正在尝试使用一对立体声耳机录制立体声,此立体声USB声卡: 还有我的笔记本电脑。我正在使用USB声卡,因为我最终想让它在我的树莓pi上工作。我正在使用pyalsaaudio和以下代码: import matplotlib import alsaaudio, wave, numpy inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE, alsaaudio.PCM_NORMAL, 'plughw:CARD=Device') inp.setchannels(2)
import matplotlib
import alsaaudio, wave, numpy
inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE, alsaaudio.PCM_NORMAL, 'plughw:CARD=Device')
inp.setchannels(2)
inp.setrate(44100)
inp.setformat(alsaaudio.PCM_FORMAT_S16_LE)
inp.setperiodsize(1024)
i = int(raw_input('How many samples of recording?'))
amplitude = []
while i > 0:
l, data = inp.read()
a = numpy.fromstring(data, dtype='int16')
amplitude.extend(abs(a))
i -= 1
print amplitude
我希望每个耳机都是一个单独的通道,即左耳机=通道1,右耳机=通道2,但到目前为止,我只得到了一个单声道录音(当我在jsut中发出声音时,我得到了一个耳机,例如(245321678672478456)作为结果数据,当我期望交错音频数据时,比如(245,21678,25567,12),即一个通道的小读数和另一个通道的大读数
arecord-L返回:
违约
通过PulseAudio声音服务器播放/录制
sysdefault:CARD=PCH
HDA英特尔PCH,ALC270模拟
默认音频设备
前端:卡=PCH,开发=0
HDA英特尔PCH,ALC270模拟
前置扬声器
周边40:卡=PCH,开发=0
HDA英特尔PCH,ALC270模拟
4.0环绕声输出至前后扬声器
周边41:卡=PCH,开发=0
HDA英特尔PCH,ALC270模拟
4.1前、后和超低音扬声器的环绕声输出
周围50:卡=PCH,开发=0
HDA英特尔PCH,ALC270模拟
前、中、后扬声器的5.0环绕声输出
周围51:卡=PCH,开发=0
HDA英特尔PCH,ALC270模拟
5.1前、中、后和超低音扬声器的环绕声输出
周围71:卡=PCH,开发=0
HDA英特尔PCH,ALC270模拟
7.1前、中、侧、后和低音扬声器的环绕声输出
dmix:CARD=PCH,DEV=0
HDA英特尔PCH,ALC270模拟
直接混样装置
dsnoop:CARD=PCH,DEV=0
HDA英特尔PCH,ALC270模拟
直接样品窥探装置
硬件:卡=PCH,开发=0
HDA英特尔PCH,ALC270模拟
无需任何转换的直接硬件设备
plughw:CARD=PCH,DEV=0
HDA英特尔PCH,ALC270模拟
具有所有软件转换的硬件设备
sysdefault:CARD=设备
USB PnP声音设备,USB音频
默认音频设备
前端:卡=设备,开发=0
USB PnP声音设备,USB音频
前置扬声器
周边40:卡=设备,开发=0
USB PnP声音设备,USB音频
4.0环绕声输出至前后扬声器
surround41:卡=设备,开发=0
USB PnP声音设备,USB音频
4.1前、后和超低音扬声器的环绕声输出
surround50:卡=设备,开发=0
USB PnP声音设备,USB音频
前、中、后扬声器的5.0环绕声输出
surround51:卡=设备,开发=0
USB PnP声音设备,USB音频
5.1前、中、后和超低音扬声器的环绕声输出
surround71:卡=设备,开发=0
USB PnP声音设备,USB音频
7.1前、中、侧、后和低音扬声器的环绕声输出
iec958:卡=设备,开发=0
USB PnP声音设备,USB音频
IEC958(S/PDIF)数字音频输出
dmix:CARD=Device,DEV=0
USB PnP声音设备,USB音频
直接混样装置
dsnoop:卡=设备,开发=0
USB PnP声音设备,USB音频
直接样品窥探装置
硬件:卡=设备,开发=0
USB PnP声音设备,USB音频
无需任何转换的直接硬件设备
plughw:CARD=Device,DEV=0
USB PnP声音设备,USB音频
具有所有软件转换的硬件设备
不完全确定其中哪些是相关的
PCH是我笔记本电脑上的内置声卡,设备是USB声卡。我开始怀疑USB声卡是否能够进行立体声录制,因为当我运行alsamixer时,我无法单独调整麦克风的左右声道
在此基础上,我首先希望在我的笔记本电脑声卡上使用立体声录音,但我不确定如何指定使用插入笔记本电脑耳机/麦克风端口的耳机进行录音,而不是使用内置笔记本电脑麦克风-一般来说,我无法确定如何使用声卡上的特定设备进行录音
我不知道下一步该怎么做,因为我对alsa和pyalsaaudio还不熟悉。如果您能给我提供一些建议,我将不胜感激。忘记
aplay
;尝试使用arecord
。这台设备真的能够同时从两个麦克风录音吗?我没有提到aplay…我是什么试着从一对立体声耳机中录制立体声,然后我将分离频道。USB声卡说它可以录制立体声,但实际上它可能无法做到这一点。我的笔记本电脑声卡当然可以录制立体声,但我也没有任何运气…抱歉,我被de搞糊涂了副列表,因为大多数是仅播放设备。大多数声卡都有一个捕获设备,并使用混音器控件选择录制源。请注意,所有麦克风输入插孔都是单声道的,除非明确为立体声麦克风构造。