Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10

Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« kdy: 18. 03. 2026, 12:20:22 »
Zdravím všechny,
na dětský den plánujeme s kroužkem udělat historickou únikovou hru. Z toho důvodu jsme koupili zvukovku Behringer 1820. Kubuntu ji detekuje, hraje přes ní, když dám nastavení repráků, tak to hraje krásně separátně (když dám test repráků).

https://www.behringer.com/product.html?modelCode=0805-AAN

Problém je, že neumím (nevím jak správně nastavit VLC, nebo cokoliv jinýho - ideálně něco co, přes cli umí hrát wav->instalace poběží na RPI5 s python scriptem a senzory přes MQTT), aby mi to hrálo správně prostorově tzn. mám wav se zvukovýma stopama, který hrajou dle očekávání na MACu, ale u mě na ntb s KUBUNTU je těch voleb milion a nevím jak to udělat, aby to správně rozhazovalo stopy na správný reprák (např. stopa1 -> line out 3, stopa 2 -> line out 4.... až line out 10). Máte s tím někdo zkušenosti? To wav dělal kolega přes app asi  MyBand (iBand nebo nějak tak) na MAC OS.

AI nepomohlo, google neví, tak se ptám skutečné inteligence.

Děkuji za případné rady.


RDa

  • *****
  • 3 215
    • Zobrazit profil
    • E-mail
Re:7.1. zvuk na KUBUNTU 24.10. usb zvukovka Behringer 1820 - nastavení
« Odpověď #1 kdy: 18. 03. 2026, 13:01:23 »
Ja bych zacal koumat, jak prostrednictvim .alsarc vytvorit virtualni 7.1 zvukovku z diskretnich zarizeni.

Zda to neni neco jako zde:
https://unix.stackexchange.com/questions/310164/create-virtual-device-in-asoundrc-file

tj. pritahnout nekolik slaves, a nastavit tomu bindings podle vzoru:

Kód: [Vybrat]
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
}

A mozna se nemusite omezovat na 7.1, ale vytvorit ruzne skupiny s ruznym poctem kanalu, podle toho, jak spolu jednotlive regiony / instalace beden existuji.
« Poslední změna: 18. 03. 2026, 13:03:24 od RDa »

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #2 kdy: 19. 03. 2026, 08:17:48 »
Skus nejaky DAW (napr. https://ardour.org/) tam si vies jednotlive wav natiahnut ako stopy a kazdu stopu routovat na vystup ktory potrebujes (ak to mas ako sadu wav suborov po jednej stope, nie ako osem stop v jednom subore).

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #3 kdy: 19. 03. 2026, 09:44:09 »
Děkuji za rady, zítra máme další setkání, tak to tam vyzkouším rovnou na tom RPI5.

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #4 kdy: 19. 03. 2026, 14:58:45 »
Dle https://www.diyaudio.com/community/threads/camilladsp-with-behringer-umc1820-how-to-access-s-pdif-input.428523/post-8052046 je ta zvukovka 12-kanálové výstupní zařízení s formátem S24_3LE, tedy klasický 24bit (3 bajty). Někde jsem četl, že 10 kanálů je analog a zbylé dva jsou SPDIF výstup. Ale to je jedno, podstatné je, že alsa vyžaduje 12 kanálů.

Pokud ti stačí přes řádek přehrávat nějaký wav, nejsnazší by byl sox - na vstup mu dáš ten wav, na výstup tu zvukovku přes alsu, a v konfiguračním řetězci efektů si nastavíš, kam půjde který kanál toho wavu. Zřejmě si to budeš muset vyzkoušet. Konkrétní parametry příkazu viz jakýkoliv slušnější LLM.

Jen pozor - pokud by systém měl pulsaudio/pipewire, je potřeba zvukovku v něm vypnout, aby ji neblokoval pro přímý přístup přes alsu.


Re:7.1. zvuk na KUBUNTU 24.10. usb zvukovka Behringer 1820 - nastavení
« Odpověď #5 kdy: 19. 03. 2026, 15:17:32 »
Ja bych zacal koumat, jak prostrednictvim .alsarc vytvorit virtualni 7.1 zvukovku z diskretnich zarizeni.

Ta zvukovka má kanálů víc než dost, není potřeba spojovat více zvukovek. Navíc plugin multi vyžaduje, aby všechna spojená zařízení běžela synchronně (měla synchronizované hodiny), což téměř nikdy není splněno.

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #6 kdy: 19. 03. 2026, 15:27:18 »
Dle ... je ta zvukovka 12-kanálové výstupní zařízení s formátem S24_3LE, tedy klasický 24bit (3 bajty). Někde jsem četl, že 10 kanálů je analog a zbylé dva jsou SPDIF výstup.

Tak, prvych 10 je analog, potom 2 spdif, a potom dalsich 8 ADAT (ak je zapojene). Vid zadny panel :)

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #7 kdy: Dnes v 01:39:47 »
Nejjednodušší varianta je k tomu přistupovat přímo přes konkrétní ALSA zařízení.
Bude to fungovat i na nějakém minimálním headless RPi bez grafického rozhraní, stačí mít nainstalovanou knihovnu ALSA libasound2 a alsa-utils + přímé závislosti.

Pokud to zkoušíte na nějakém stroji s DE (KDE, GNOME), bude nad tím sedět ještě pravděpodobně další vrstva - PipeWire (audio server) spolu s WirePlumber (nástroj pro její dynamickou konfiguraci). Pokud nějaká typická GUI aplikace (VLC, prohlížeč, DAW) používá audio zařízení, tak ve výchozím stavu přistupuje na právě přes PipeWire server. Buď nativním rozhraním nebo přes emulaci (PulseAudio, JACK, emulované ALSA rozhraní).
Za normálních okolností to ale to, že je to zařízení mimo ALSU napřímo přístupné také přes PipeWire, nemusí vůbec vadit. Protože pokud v tu chvíli nebude mít žádná aplikace zařízení aktivně otevřené (přehrávání, nahrávání) přes PipeWire, tak je normálně použitelné  rovnou přes ALSU.
V nejhorším se dá také udělat pravidlo ve WirePlumberu, kde se zařízení pro PipeWire kompletně zakáže. Ale jak jsem zmiňoval, nebývá to nezbytně nutné a v případě headless RPi, tam tyhle další vrstvy vůbec nemusíte mít.

A teď jak tam přehrávat vícekanálový wav.

Nejdřív si vypíšu názvy ALSA hw zařízení přes příkaz: aplay -l

mám např. vícekanálovou PCIe zvukovku, která má název: HDSPMxcb26e5

card 2: HDSPMxcb26e5 [RME AIO_cb26e5], device 0: RME AIO [RME AIO]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Dá se použít i index (v mém případě: 2), ale název je lepší, protože se nemění při různém pořadí zavádění modulů, připojování USB zařízení atp.

Teď základní test.
speaker-test -D plughw:HDSPMxcb26e5 -c 16

Program pouští testovací šum postupně do všech kanálů v zařízení, v počtu specifikovaném pomocí parametru -c.. (já mám 16 kanálovou zvukovku, a takhle bych otestovat všechny kanály, ale může otestovat klidně jen třeba první 4). Při testu to vypisuje aktuální číslo kanálu.
Důležitý parametr pak je -D, kde se zadává název zařízení. Pokud bych tam zadal pouze HDSPMxcb26e5, tak bych musel mít přesný počet výstupních kanálů a sample formát, který konkrétní zvukovka vyžaduje (např. S32_LE, S24_3LE, jak zmiňoval Redustin atp.).
Ale tím, že jsem před to napsal plughw:, tak se tam automaticky vřadí ALSA plugin, který sample formát převede a počty kanálů automaticky upraví podle výstupního zařízení.

Pokud jsem s tím v pohodě, můžu zkusit zahrát ten vícekanálový (poly) wav. Řekněme, že by měl třeba 8 kanálů..
aplay -D plughw:HDSPMxcb26e5 ./multichannel.wav

Tohle by mi mělo zahrát wav tak, že bude mapování kanálů 1:1. Tzn. zahraje mi to z prvních osmi kanálů na zvukovce (moje má 16), v těch zbylých bude ticho.
Což je jeden ze způsobů, jak k tomu přistupovat. Pokud mi nebude vyhovovat pořadí, můžu si to proházet přímo při přípravě toho wavu (v DAW) a nebo přepojit ty výstupní TRS jacky na zvukovce :)

Pokud bych to chtěl někam posunout (hrát např. z posledních osmi) nebo proházet pořadí, tak to bude vyžadovat vytvoření virtuálního ALSA audio zařízení s dalším pluginem na směrování audio kanálů.

To udělám v souboru ~/.asoundrc (pro aktuálního uživatele), kam přidám např. takovéhle sekce.

Kód: [Vybrat]
pcm.virtual1 {
  type route
  slave {
    pcm "plughw:HDSPMxcb26e5"
    channels 16
  }
  ttable.0.1 1
  ttable.1.0 1
  ttable.2.2 1
  ttable.3.3 1
  ttable.4.4 1
  ttable.5.5 1
  ttable.6.6 1
  ttable.7.7 1
}

V definici slave se přes pcm odkážu na fyzickou zvukovku, úplně stejně jako v předchozích případech.
A následně např. prohodím první dva kanály přes tabulku.
Tam je fomát: ttable.in-channel.out-channel gain
Přičemž gain je jako float multiplikátor (tzn. 1 = beze změny).

Kód: [Vybrat]
pcm.virtual2 {
  type route
  slave {
    pcm "plughw:HDSPMxcb26e5"
    channels 16
  }
  ttable.0.2 1
  ttable.1.3 1
  ttable.2.4 1
  ttable.3.5 1
  ttable.4.6 1
  ttable.5.7 1
  ttable.6.8 1
  ttable.7.9 1
}

V tomhle druhém případě jsem to posunul o dva výstupy.

Když to pak chci zahrát, tak použiju např.

aplay -D virtual1 ./multichannel.wav nebo aplay -D virtual2 ./multichannel.wav

Takže to je v kostce asi všechno. aplay se dá zavolat z Python programu normálně jako systémový příkaz přes modul subprocess.
Možná kdyby to mělo být hezčí, tak bych se asi poohlédnul po nějakém modulu, co umí s ALSA zařízeními pracovat přímo z Pythonu, třeba jako pyalsaaudio (v podstatě wrapper okolo libasound, ale dýl jsem to neviděl).
Čtení PCM wavů je přímo ve standardní knihovně Pythonu.
Udělat z toho nějakou přehrávací funkci, kterou pak můžu volat například z vláken. Což se zas může hodit, jestli to má dynamicky reagovat na nějaké řídící eventy z toho MQTT.. minimálně se to dá nějak zamykat, synchronizovat, lidsky zastavovat přehrávání atd.
Ale samozřejmě, jestli je to nějaká jednorázovka s opravdu základním spouštěním, nemusí to dávat smysl.

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #8 kdy: Dnes v 23:16:52 »
Moc děkuji všem za pomoc, velký dík patří panu Šmucrovi za parádní kuchařku, během pár minut hotovo a hraje to skvěle, přesně dle očekávání.  ;D