Obecnie pracuję nad małą aplikacją, która działa na Cubieboard (ARMv7, podobny do rasp-pi).
To, co naprawdę muszę zrobić, to dostęp i rejestracja liniowego sygnału audio z dwóch różnych aplikacji.
Pierwszy to PyAudio, a drugi to Darkice Media Streamer . Karta dźwiękowa używa sterownika jądra sun4i-CODEC od twórców Cubieboard. Warstwa audio jest obecnie dostarczana przez ALSA Audio .
Obecnie obie aplikacje rejestrują od hw: 0,0 i intefere. Więc jeśli uruchomię klienta Darkice, mój skrypt Python nie ma dostępu i vice verca.
Ouput z mojego arecord -L
:
null
Discard all samples (playback) or generate zero samples (capture)
default
sysdefault:CARD=sun4icodec
sun4i-CODEC, sun4i PCM
Default Audio Device
dmix:CARD=sun4icodec,DEV=0
sun4i-CODEC, sun4i PCM
Direct sample mixing device
dsnoop:CARD=sun4icodec,DEV=0
sun4i-CODEC, sun4i PCM
Direct sample snooping device
hw:CARD=sun4icodec,DEV=0
sun4i-CODEC, sun4i PCM
Direct hardware device without any conversions
plughw:CARD=sun4icodec,DEV=0
sun4i-CODEC, sun4i PCM
Hardware device with all software conversions
To jest mój wynik amixer
:
imple mixer control 'Master',0
Capabilities: pvolume pvolume-joined penum
Playback channels: Mono
Limits: Playback 0 - 63
Mono: Playback 63 [100%]
Simple mixer control 'LineL',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'LineR',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Mic Input Mux',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 15
Mono: 15 [100%]
Simple mixer control 'MicL',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 3
Mono: 1 [33%]
Simple mixer control 'MicR',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 3
Mono: 3 [100%]
Simple mixer control 'Playback',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Capture',0
Capabilities: cvolume cvolume-joined penum
Capture channels: Mono
Limits: Capture 0 - 7
Mono: Capture 7 [100%]
Simple mixer control 'ADC Input Mux',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 7
Mono: 7 [100%]
Simple mixer control 'Fm',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 7
Mono: 7 [100%]
Simple mixer control 'FmL',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FmR',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Ldac Left Mixer',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Ldac Right Mixer',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Rdac Right Mixer',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Więc jakie jest najlepsze rozwiązanie tego problemu? Dzielisz wejście stereo na dwa różne dekory? Używać innej warstwy audio? Nie wiem!
Z góry dziękuję,
~ MxAgent
dsnoop
zamiasthw
.IOError: [Errno Input overflowed] -9981
błąd podczas uruchamiania PyAudio ..arecord
instancjami lub innymi programami?