Audio-Profil-Wechsel leicht gemacht

Mein Hauptrechner besitzt 2 Monitore. Einer davon steht auf dem Schreibtisch unter den sich auch der PC befindet. Der andere ist mein TV-Gerät und befindet sich in ca. 15 m Entfernung. Mit Hilfe von 2 Tastaturen und Mäusen habe ich somit einen vollwertigen Rechner sowohl im Büro, als auch im Wohnzimmer.

Beide Monitore werden über HDMI angesteuert, wobei das Fernsehgerät auch gleich den Ton über das HDMI-Kabel erhält. Im Büro dagegen sind die Boxen analog angeschlossen. Und genau hier liegt mein Problem. Wenn ich mal schnell einen Film vom Computer im Wohnzimmer ansehen möchte, so muss ich zwangsweise die Audio-Ausgabe auf digital stellen. Wenn ich dann später wieder zurück ins Büro wechsle, so muss ich den Ton wieder auf analog zurück ändern.

Leider gestaltet sich der Wechsel des Audio-Profils unter Ubuntu als sehr mühsehlig:

Open Sound Preferences... | Hardware | Profile | Close

Sound-Preferences_007

Viel einfacher ist es sich ein kleines Skript zu schreiben und dieses dann über eine Tastenkombination aufzurufen. Diese Lösung will ich hier einmal vorstellen:

  1. Zunächst muss das Skript angelegt werden sudo emacs /usr/local/bin/switch_audio_profile (alternativ macht ihr das ganze mit gedit)
  2. Dort kopiert ihr dann den folgenden Inhalt rein
#!/bin/bash
# list all profiles: pactl listCARD=0
CURRENT=$(pactl list | grep "Active Profile: " | cut -d " " -f 3)
CASE1="output:analog-surround-51"
CASE2="output:iec958-stereo"case ${CURRENT} in
${CASE1})
pactl set-card-profile ${CARD} ${CASE2}
# send a notification with an icon and a message
notify-send -i notification-audio-volume-high "Sound profile switched to" "$(echo ${CASE2} | cut -d ":" -f 2)"
exit;;${CASE2})
pactl set-card-profile ${CARD} ${CASE1}
notify-send -i notification-audio-volume-high "Sound profile switched to" "$(echo ${CASE1} | cut -d ":" -f 2)"
exit;;*)
notify-send -i notification-audio-volume-high "Cannot switch sound profile! Actual profile" "${CURRENT}" "not in case list."
exit;;
esac

Wie ihr schon oben erkennen könnt, wechsel ich immer zwischen 5.1 Sound und digitale Ausgabe (IEC958). Das ganze lässt sich natürlich ganz einfach an eure Bedürfnisse anpassen. Um alle möglichen Audio-Profile in Erfahrung zu bringen benutzt ihr einfach den Befehl pactl list

  1. Jetzt speichert ihr das Skript und schließt den Editor
  2. Das Skript muss nun noch mittels sudo chmod 755 /usr/local/bin/switch_audio_profile ausführbar gemacht werden.
  3. Zum Schluß verbinden wir das Skript noch mit einer Tastenkombination. Startet Keyboard Shortcuts | Add

Keyboard-Shortcuts_008

  1. Dort füllt ihr das Fenster dann entsprechend aus:
    Custom-Shortcut_011
  2. Ich habe den ganzen dann den Shortcut STRG + ALT + A zugeordnet
  3. Das war’s!

Jetzt ist das Wechseln des Audio-Profils nur noch eine Tastenkombination entfernt! Fröhliches Profil-Wechseln! 😉

  • Uvo

    Danke für den Tipp, so ein Script könnte ich gut gebrauchen. Ich habe allerdings Kubuntu (12.04), macht das einen Unterschied?
    Ich habe das Script ausprobiert und bekomme folgende Fehlermeldungen:

    ./audio-profile: Zeile 5: in: Kommando nicht gefunden.
    ./audio-profile: Zeile 6: Syntaxfehler beim unerwarteten Wort `)’
    ./audio-profile: Zeile 6: `${CASE1})’

    • maroony

      Es ist egal, ob du Unity, KDE oder sonst was nutzt. Nimm am besten das aktualisierte Skript von mir von github:

      https://github.com/maroony/commons/blob/master/bin/switchAudioProfile

      Jetzt solltest du noch die # KDE stellen einkommentieren und die # Gnome/Unity-Stellen auskommentieren und es sollte laufen. Wenn nicht, dann melde dich einfach noch mal.