SoundDesk

Dienstprogramm für den Windows-Infobereich

Für jede App eine eigene Lautstärke,
mit einem Klick.

Chrome auf 30 %, Teams auf 70 %, Spotify auf 20 %. Statt jedes Mal den Lautstärkemixer zu öffnen, stellt ein Profil alles wieder her. Zwei Klicks im Menü, oder ein Regler in der Oberfläche.

Windows 10 · 11Kein Installer, eine einzige DateiAusgehender Verkehr standardmäßig aus

Das Fenster, das das Symbol im Infobereich öffnet. Dieselben Werte lassen sich auch direkt im Menü ändern.

Was es tut

Was Sie im Lautstärkemixer gemacht haben, in zwei Klicks aus dem Infobereich.

01

Lautstärke und Stummschaltung pro App

Fasst die gerade tönenden Sitzungen nach Anwendung zusammen. Eine App mit vielen Prozessen, etwa Chrome, bleibt eine Zeile.

02

Für jede App ein anderes Ausgabegerät

Das Spiel auf die Lautsprecher, Discord auf das Headset. Auch das Standardgerät wird im Menü umgeschaltet, und ein Profil speichert das Gerät zusammen mit den Lautstärken.

03

Bleibt erhalten, wenn die App geschlossen und neu geöffnet wird

Merkt sich die Lautstärke jeder App und stellt sie wieder her, sobald diese App wieder etwas abspielt. Auch ein aus- und wieder eingestecktes Gerät oder das Aufwachen aus dem Standby wendet das Profil erneut an.

04

Das Mikrofon in derselben Hand

Der dringendste Knopf in einer Besprechung. CtrlAltK schaltet das Mikrofon stumm und wieder frei.

05

Die Oberfläche

Profile bearbeiten, Tastenkürzel ändern, Automatisierungsregeln schreiben — alles im Fenster. Die Einstellungsdatei muss nie von Hand angefasst werden.

06

Hinaus geht nur, was Sie einschalten

Anonymer Nutzungsbericht, Updateprüfung und Entwicklerhinweise sind alles, was es gibt, und alle drei sind standardmäßig aus. Die Oberfläche öffnet nur auf 127.0.0.1 und verlangt ein bei jedem Start neu erzeugtes Token.

Profile

Ändert sich die Lage, sollten sich alle App-Lautstärken mitändern.

Drei sind eingebaut, und der aktuelle Zustand lässt sich jederzeit als neues Profil sichern. Das automatische Umschalten — beim Start einer App, beim Anstecken eines Geräts oder nach Tageszeit — ist standardmäßig aus.

Die mitgelieferten Profile
ProfileGesamtEinstellungen pro App
Work72%Chrome 30% · Teams 70% · Spotify 20%
Gaming80%Discord 65 % · Spotify 15 % · Browser stumm
Meeting60%Teams 80 % · Zoom 80 % · Chrome 20 % · Spotify stumm

Tastenkürzel

Wenn die Hände ohnehin auf der Tastatur liegen.

Alle sind änderbar, und wenn ein anderes Programm die Kombination schon belegt, wird es Ihnen gesagt, statt still zu scheitern.

  • CtrlAlt Gesamtlautstärke höher
  • CtrlAlt Gesamtlautstärke niedriger
  • CtrlAltM Stumm
  • CtrlAltK Mikrofon stummschalten
  • CtrlAltS Fenster
  • CtrlAlt13 Profil wechseln

Routing pro App

Einen Weg, den Windows nie dokumentiert hat, geprüft bevor er benutzt wird.

gemessen

„nur diese App auf das Headset“ hat keine öffentliche API. Es muss die interne Schnittstelle aufgerufen werden, die die Windows-Einstellungen verwenden, Windows.Media.Internal.AudioPolicyConfig, und sowohl ihre Schnittstellen-ID als auch die Anordnung ihrer vtable unterscheiden sich von Build zu Build. SoundDesk rät dabei nicht.

Der gefährliche erste Aufruf geschieht in einem eigenen Prozess, damit das Symbol einen Absturz übersteht, und nachdem eine Anwendung wirklich verschoben wurde, wird mit Get zurückgelesen; erst wenn dasselbe Gerät zurückkommt, wird auf „bestätigt“ hochgestuft. Weicht das Rücklesen ab, schaltet sich die Funktion selbst ab und öffnet die Windows-Einstellungsseite.

Was das Urteil bedeutet
ZustandBeleg
verifiedEin Prozess wurde wirklich verschoben und die zurückgelesene endpoint id stimmt überein. Spielt nichts, legt der Selbsttest sich mit einem stillen Stream eine eigene Sitzung an und prüft gegen sich selbst
probableEs ließ sich nichts zum Zurücklesen erzeugen — belegt ist nur, dass das Aktivieren der Factory und der Aufruf über die vtable nicht abgestürzt sind
unsupportedDer Selbsttest ist fehlgeschlagen, oder der Aufruf gelang und Windows hat ihn nicht übernommen → Sie werden zur Einstellungsseite geführt

Unter Windows 10 22H2, Build 19045, verified bestätigt Das Urteil wird mit der Buildnummer gespeichert und nach einem Windows-Update erneut geprüft

Sicherheit

Sicher, auch direkt aus dem Downloadordner gestartet.

Das sind die Probleme, auf die eine portable ausführbare Datei tatsächlich trifft. Keine abstrakte Checkliste: hinter jeder Zeile stehen Code und ein Test.

BedrohungAntwort darauf
DLL-Hijacking
Eine gefälschte DLL neben der exe
System-DLLs werden nur über den System32 absoluten Pfad geladen. Beim Start fallen der exe-Ordner und das Arbeitsverzeichnis aus dem Suchpfad
Mutex-Squatting
Eine andere Sitzung belegt den Namen zuerst und blockiert den Start
Das Einzelinstanz-Objekt liegt im Namensraum Local\.
Einschleusen über die Einstellungsdatei Eine endpoint id erreicht einen COM-Aufruf erst, wenn sie eine Prüfung per regulärem Ausdruck bestanden hat
Gefälschte Logzeilen
Ein Zeilenumbruch im Prozessnamen schleust eine falsche Logzeile ein
App- und Gerätenamen werden von Steuerzeichen befreit und in der Länge begrenzt
Ein Autostart-Pfad ohne Anführungszeichen Der Run-Wert ist immer ein absoluter Pfad in Anführungszeichen, und es wird nur HKCU verwendet
Manipulation der Oberfläche
Ein anderes Programm auf demselben PC oder eine Webseite
127.0.0.1 ausschließlich, dazu ein bei jedem Start neues 256-Bit-Token und eine Host- und Origin-Prüfung. Das Token wird beim ersten Laden zu einem HttpOnly-Cookie und verschwindet aus der Adressleiste

696 Tests · 84 % Abdeckung Darunter ein echter Test, der eine gefälschte DLL ablegt und prüft, dass sie geblockt wird Signiert als PROJECTTEAMFORYOU · prüfen Sie vor dem Start den Herausgebernamen

Datenschutz

Hinaus geht nur, was Sie einschalten.

App-Namen und Sitzungsinformationen werden auf diesem PC verarbeitet und nirgendwo sonst, und die Einstellungen sind eine einzige JSON-Datei. Genau drei Funktionen erreichen das Netz — anonymer Nutzungsbericht, Updateprüfung und Entwicklerhinweise — und alle drei sind standardmäßig aus. Bis Sie eine davon einschalten, geht keine einzige Anfrage hinaus.

Einstellungsdatei%APPDATA%\SoundDesk\config.json
Protokoll%APPDATA%\SoundDesk\sounddesk.log
Anonymer NutzungsberichtStandardmäßig aus — eingeschaltet einmal täglich: eine zufällige Installations-ID, die Version, der Windows-Build, die Sprache und drei Zählwerte
Updateprüfung · EntwicklerhinweiseStandardmäßig aus — eingeschaltet nur die laufende Version und die Sprache. Die Installations-ID wird nicht gesendet
Was nie hinausgehtApp-Namen · Gerätenamen · Dateipfade · der Windows-Kontoname
Verwendete APIsIMMDeviceEnumerator · IAudioSessionManager2 · ISimpleAudioVolume · IPolicyConfig · AudioPolicyConfig
AutostartHKCU\Software\Microsoft\Windows\CurrentVersion\Run (optional)

Selbsttest

Fragen Sie die App selbst, ob sie auf Ihrem PC funktioniert.

Sie führt ihre eigenen Funktionen eine nach der anderen auf dem echten Audiostack aus und stellt wieder her, was sie angefasst hat. Nichts, was einen Ton erzeugen würde, wird überhaupt getan — die Gesamtlautstärke wird belegt, indem der bereits gesetzte Wert erneut geschrieben wird, was nur den Aufrufweg beweist.

BefehlWas er prüft
--selftest-audio Geräte · Gesamt · Mikrofon · Lautstärke, Stummschaltung und Routing pro App · Profile · globale Tastenkürzel. Spielt keine App, wird das Routing gegen eine eigene stille Sitzung geprüft
--selftest-panel Ob die gepackte Datei die Oberfläche wirklich ausliefert
--report Geräte, Sitzungen und Profile als JSON

Ergebnis auf diesem PC

OK  Lautstärke pro App (firefox.exe 100 % → 42 % → wiederhergestellt)
OK  Stummschaltung pro App
OK  Ausgabe-Routing pro App (firefox.exe → ASUS VZ279 → wiederhergestellt)
OK  Wechsel des Standardgeräts · Profile · globale Tastenkürzel
—   Mikrofon (dieser PC hat kein Eingabegerät)

11 passed, 0 failed, 2 skipped — Windows 10 22H2 Build 19045

Überall

In Ihrer Sprache, auf Ihrem PC.

Dieselben Einstellungen zu Hause und im Büro, gelesen in der Sprache, die Sie benutzen, bei Bedarf aus einem Makro aufgerufen.

01

12 Sprachen

Folgt der Anzeigesprache von Windows. Sie können auch selbst eine wählen; dann wechseln Oberfläche und Menü sofort, ohne Neustart.

한국어 · English · 日本語 · 简体中文 · 繁體中文 · Español · Português · Français · Deutsch · Русский · Italiano · Tiếng Việt

02

Zu Hause und im Büro dieselben Einstellungen

Exportieren Sie Profile, Tastenkürzel und Regeln in eine Datei und importieren Sie sie auf einem anderen PC. Geräte werden über den Namen zugeordnet — dasselbe Headset hat auf jedem PC eine andere ID, sodass das bloße Kopieren der Datei das Routing still verschwinden ließe. Geräte, die dieser PC nicht hat, werden Ihnen namentlich genannt.

03

Aus einem Makro aufrufen

Direkt von einer Stream-Deck-Taste oder aus einer Zeile AutoHotkey nutzbar. Es funktioniert, ob das Symbol läuft oder nicht, und öffnet kein zweites. Exitcode 0, wenn sich etwas geändert hat, 1, wenn nichts passte.

SoundDesk.exe --set-app chrome.exe=25
SoundDesk.exe --profile Gaming
SoundDesk.exe --list apps

Installation

Eine Datei. Kein Installer.

SoundDesk.exe an einen beliebigen Ort legen und starten — im Infobereich erscheint ein Symbol. Zum Entfernen die Datei und den Einstellungsordner löschen. Python wird nicht gebraucht.

Windows 10 1803 oder neuerEine einzige ausführbare DateiKeine Administratorrechte nötigSHA-256 beiliegend