Temat: Malinka - dźwięk (konfiguracja alsa)
Otóż mam taki problem z konfiguracją dźwięku w Malince. Może nie tyle samego dźwięku ile jego routowania.
Jest sobie projekt radia internetowego na RPI z obsługą serwisu Pandora przez aplikację pianobar. Chciałbym jednocześnie streamować dalej to, co pianobar gra. W tym celu stoi sobie serwer icecast2 i darkice do kodowania w locie do mp3.
Jednoczesne streamowanie zrealizowane jest przez stworzenie wirtualnego wyjścia dźwięku, które wystawia ten dźwięk równolegle na domyślne wyjście audio i na standardową "kartę" aloop która jest żródłem danych dla darkice.
Jest to zrobione przy pomocy pliku : /home/pi/.asoundrc
pcm.!default {
type asym
playback.pcm "LoopAndReal"
capture.pcm "looprec"
}
pcm.looprec {
type hw
card "Loopback"
device 1
subdevice 0
}
pcm.LoopAndReal {
type plug
slave.pcm mdev
route_policy "duplicate"
}
pcm.mdev {
type multi
slaves.a.pcm pcm.MixReale
slaves.a.channels 2
slaves.b.pcm pcm.MixLoopback
slaves.b.channels 2
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave b
bindings.2.channel 0
bindings.3.slave b
bindings.3.channel 1
}
pcm.MixReale {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
rate 44100
periods 128
period_time 0
period_size 1024 # must be power of 2
buffer_size 8192
}
}
pcm.MixLoopback {
type dmix
ipc_key 1025
slave {
pcm "hw:Loopback,0,0"
rate 44100
periods 128
period_time 0
period_size 1024 # must be power of 2
buffer_size 8192
}
}
Plik ten znalazłem w necie, ale już się trochę naumiałem i widzę, że jest w nim co trzeba i jak trzeba.
Definiuje on kartę wirtualną "LoopAndReal" która stanowi połączenie dwóch wyjść Audio: "MixReale" przekierowanego na sprzętową kartę nr 0 i "MixLoopback" przekierowanego na kartę "Loopback" (jest widoczna w liście kart pod numerem 2 ale tu jest po nazwie).
Jednocześnie karta "LoopAndReal" jest ustawiona jako domyślna, choć to mam powielone w pliku: /etc/libao.conf
default_driver=alsa
dev=LoopAndReal
quiet
No i działa to wszystko.... ale pod jednym warunkiem, że jako karta numer 0 występuje moja zewnętrzna karta USB a wewnętrzne audio ma numer 1. Czyli gra prze kartę USB i jednocześnie streamuje/nagrywa - co tylko chcę przez kartę "Loopback" (nr 2).
Jednak jeśli zamienię miejscami kartę USB i wewnętrzne audio. Czyli wewnętrzne audio dostaje numer 0 a karta USB numerek 1, to za chiny nie gra ani nie streamuje, mimo że cała konfiguracja reszty jest identyczna.Może mamy tu kogoś znającego się na konfiguracji alsy ??
Ostatnio edytowany przez Pecus (2017-05-05 09:04:08)