Raspberry Pi, Kodi und Tonausgabe in Mono über HDMI

Veröffentlicht am Autor geierb

In Kodi kann man alle möglichen Lautsprecherkombinationen einstellen. Nur Mono, also “1.0”, fehlt.
Falls unbedingt mal jemand (wie ich) Mono-Sound über HDMI haben will, so funktioniert’s:

  1. /etc/asound.conf anlegen:
    pcm.mono {
        type route
        slave {
            pcm "hw:CARD=ALSA,DEV=0"
            channels 2
        }
        ttable {
               0.1 0.75
               1.1 0.75
               0.0 0.75
               1.0 0.75
        }
    }
    pcm.!default {
        type plug
        slave.pcm "mono"
    }
    ctl.!default {
        type hw card 0
    }
    
  2. In Kodi als Audio-Ausgabegerät “ALSA Default bcm2835” auswählen.
  3. Außerdem in Kodi die Anzahl der Audiokanäle auf “2.0” stellen.

Die Downmix-Magie steckt in der “ttable”: Ein Stereo-Signal hat zwei Kanäle: Links und Rechts, bzw. 0 und 1.
Die erste Zeile “0.1 0.75” heißt, dass Eingangskanal 0 zu Ausgangskanal 1 geroutet wird (“0.1”), und zwar mit 75% (“0.75”) Lautstärke. Je 50% wäre zwar logischer, mir kam es dann aber zu leise vor.

Das Ganze wird für jeden Ein- und Ausgangskanal gemacht. Am Ende liegt das zu Mono heruntergemische Stereosignal an beiden Ausgangskanälen an: Aus dem linken Lautsprecher kommt das gleiche wie aus dem rechten.

Das “hw:CARD=ALSA,DEV=0” ist das Alsa-Soundgerät. Sollte es mit diesem Soundgerät nicht funktionieren: Mit aplay -L kann man sich alle verfügbaren Soundgeräte anzeigen lassen. Viele davon sind zur internen Verwendung, andere geben Ton auf dem falschen Ausgang aus. Bei Problemen einfach mit aplay -D<Soundgerät> <WAV-Datei> die Einzelnen nacheinander durchprobieren und testen, ob Ton oder eine Fehlermeldung kommt. Beispiel:aplay -Dhw:CARD=ALSA,DEV=0 /usr/share/sounds/alsa/Front_Left.wav