Запись в стерео с pyalsaaudio
Я пытаюсь записывать в стереофоническом режиме с помощью пары стереонаушников, этой стереокарты USB:
http://www.ebay.co.uk/itm/261343188737?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
и мой ноутбук. Я использую звуковую карту USB, так как в конечном итоге хочу, чтобы это работало на моем Raspberry Pi. Я использую pyalsaaudio и следующий код:
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, но пока у меня есть только то, что выглядит как монофоническая запись (например, когда я делаю звук на один наушник, который я получаю (245, 321, 678, 672, 478, 456) в качестве результирующих данных, когда я ожидаю для чередующихся аудиоданных что-то вроде (245, 21, 678, 25, 567, 12), т. Е. Небольшое чтение из одного канала и большое чтение из другого.
arecord -L возвращает:
Воспроизведение / запись по умолчанию через звуковой сервер PulseAudio
sysdefault:CARD=PCH HDA Intel PCH, аналоговое аудиоустройство ALC270 по умолчанию
спереди:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Аналоговые фронтальные колонки
Surround40:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Аналоговый выход 4.0 Surround на передние и задние динамики
Surround41:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Analog 4.1 Выход объемного звучания на фронтальные, тыловые и сабвуферные динамики
Surround50:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Analog 5.0 Выход объемного звучания на фронтальные, центральные и тыловые колонки
Surround51:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Аналоговый 5.1-канальный вывод окружающего звучания на фронтальные, центральные, тыловые и сабвуферные динамики
Surround71:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Аналоговый 7.1 Выход объемного звучания на фронтальные, центральные, боковые, тыловые и низкочастотные динамики
dmix:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Аналоговое устройство прямого сэмплирования
dsnoop:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Аналоговое устройство прямого контроля пробы
hw:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Аппаратное обеспечение Analog Direct без каких-либо преобразований
plughw:CARD=PCH,DEV=0 HDA Intel PCH, ALC270 Аналоговое аппаратное устройство со всеми программными преобразованиями
sysdefault: CARD = Устройство USB PnP Звуковое устройство, USB Audio Аудиоустройство по умолчанию
спереди: CARD = устройство,DEV=0 USB PnP Sound Device, USB Audio Передние динамики
surround40:CARD= устройство,DEV=0 USB PnP Sound Device, USB Audio 4.0 Выход объемного звучания на передние и задние динамики
surround41:CARD= устройство,DEV=0 USB PnP Sound Device, USB Audio 4.1 Выход объемного звучания на фронтальные, тыловые и сабвуферные динамики
round50: CARD = устройство,DEV=0 USB PnP Sound Device, USB Audio 5.0 Выход объемного звучания на фронтальные, центральные и тыловые колонки
Surround 51: CARD = устройство,DEV=0 USB PnP Sound Device, USB Audio 5.1 Выход объемного звучания на фронтальные, центральные, тыловые и сабвуферные динамики
surround71:CARD= устройство,DEV=0 USB PnP Sound Device, USB Audio 7.1 Выход объемного звучания на фронтальные, центральные, боковые, тыловые и низкочастотные динамики
iec958:CARD= Устройство, DEV = 0 Звуковое устройство USB PnP, Аудио USB Цифровой аудиовыход IEC958 (S/PDIF)
dmix:CARD=Device,DEV=0 USB PnP Sound Device, USB Audio.
dsnoop: CARD = устройство, DEV = 0 звуковое устройство USB PnP, устройство прослушивания USB Audio Direct
hw: CARD = устройство, DEV = 0 звуковое устройство USB PnP, аппаратное устройство USB Audio Direct без каких-либо преобразований
plughw: CARD = устройство,DEV=0 USB PnP Sound Device, USB Audio Аппаратное устройство со всеми программными преобразованиями
Не совсем уверен, какие из них актуальны...
PCH - это встроенная звуковая карта на моем ноутбуке, Device - это звуковая карта USB. Я начинаю сомневаться в том, что звуковая карта USB на самом деле способна к стереозаписи, так как, когда я запускаю alsamixer, я не могу настроить левый и правый каналы для микрофона по отдельности.
Исходя из этого, я сначала хотел бы, чтобы стереозапись работала на звуковой карте моего ноутбука, но я не уверен, как указать использование наушников, подключенных к разъему для наушников / микрофона на моем ноутбуке, для записи, а не встроенного микрофона для ноутбука - В общем, я не могу понять, как записывать с помощью определенного устройства на звуковую карту.
Я не совсем уверен, что попробовать дальше, так как я новичок в alsa и pyalsaaudio. Любые советы о том, как сделать эту работу, будут оценены.