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
quietNo 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 ??



