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 im Bedienfeld.

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

Das Bedienfeld

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

06

Es gehen nur drei Dinge hinaus

Automatische Aktualisierung, anonyme Nutzungsberichte und Hinweise des Entwicklers - mehr ist es nicht. nur die automatische Aktualisierung ist von Anfang an ein, und bei einer geladenen Datei wird die Signatur geprüft, bevor Sie gefragt werden. Das Bedienfeld lauscht 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
  • CtrlAlt1–3 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 des Bedienfelds
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

1270 Tests · 82 % 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

Drei Dinge verlassen diesen PC, und hier stehen sie.

Anwendungsnamen und Sitzungsdaten werden auf diesem PC verarbeitet, und die Einstellungen sind eine einzige JSON-Datei. Drei Funktionen gehen ins Internet: automatische Aktualisierung, anonyme Nutzungsberichte und Hinweise des Entwicklers. Die Handy-Fernbedienung bleibt aus, bis Sie sie einschalten, und zeigt Anwendungsnamen dann nur den gekoppelten Handys im selben privaten Netzwerk. nur die automatische Aktualisierung ist von Anfang an ein: Sie fragt, ob es eine neuere Fassung gibt, lädt sie gegebenenfalls und fragt dann, ob installiert werden soll. Gesendet werden die laufende Version und die Sprache, nie die Installations-ID, und im Bedienfeld lässt sie sich abschalten. Die beiden anderen bleiben still, bis Sie sie einschalten.

Einstellungsdatei%APPDATA%\SoundDesk\config.json
Protokoll%APPDATA%\SoundDesk\sounddesk.log
Automatische AktualisierungStandardmäßig ein — einmal pro Start, nur die laufende Version und die Sprache. Die Installations-ID wird nicht gesendet. Eine neue Fassung wird geladen, Windows bestätigt die Signatur von PROJECTTEAMFORYOU, und das Installieren kostet einen Klick
Anonymer NutzungsberichtStandardmäßig aus — eingeschaltet einmal täglich: eine zufällige Installations-ID, die Version, der Windows-Build, die Sprache und drei Zählwerte
Hinweise des EntwicklersStandardmäßig aus — eingeschaltet nur die laufende Version und die Sprache
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 das Bedienfeld 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 Bedienfeld 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. Python wird nicht gebraucht.

SoundDesk.exe herunterladen Als zip laden

21,9 MB · signiertexe SHA-256zip SHA-256

Wenn Ihr Browser oder Ihre Firmenrichtlinie ausführbare Dateien blockiert, nehmen Sie das zip. Darin liegt dieselbe Datei, und für beide gibt es eine Prüfsumme.

Noch einmal ansehen

Ihr Browser blockiert die Datei möglicherweise als verdächtigen Download. Das heißt, dass sie bisher nur wenige heruntergeladen haben, nicht dass mit ihr etwas nicht stimmt. In Chrome öffnen Sie die Downloadliste, klicken auf ⋮ und wählen Beibehalten; blockiert Windows, wählen Sie Weitere Informationen → Trotzdem ausführen. Wirklich prüfen lässt sich zweierlei: dass der Herausgeber PROJECTTEAMFORYOU ist, und dass der SHA-256 oben zu der Datei passt, die Sie erhalten haben. Die Warnung verschwindet, je mehr Menschen die Datei laden.

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

Änderungen

Was sich wann geändert hat.

Alle Zeiten sind koreanische Standardzeit (KST). Die vollständige Liste steht in der Änderungsdatei im Repository.

  1. v1.7.0 Neueste

    • Handy-Fernbedienung. Ein Android-Handy im selben WLAN (SoundDesk Remote) steuert Lautstärke, Stummschaltung, Ausgabegeräte und Profile. Standardmäßig aus; eingeschaltet können sich nur per QR-Code gekoppelte Handys verbinden, und nur aus einem privaten Netzwerk.
    • Die Datenschutzerklärung und die Nutzungsbedingungen sind in zwölf Sprachen veröffentlicht.
  2. v1.6.0

    • Automatische Aktualisierung. Eine neue Fassung wird geladen, sobald es sie gibt, und dann werden Sie gefragt, ob installiert werden soll. Standardmäßig ein, in den Einstellungen abschaltbar.
    • Eine geladene Datei muss den veröffentlichten Hash und die Signatur bestehen, und die Signatur wird beim Installieren noch einmal geprüft.
  3. v1.5.0

    • Der Pegel des Tons, der gerade ausgegeben wird - unter der Hauptlautstärke, dem Mikrofon und jeder spielenden App.
    • Ein globales Tastenkürzel, das eine App benennt. Mitten in einer Besprechung ein Programm stumm schalten, ohne das Bedienfeld zu öffnen.
    • Automatisches Leiserstellen — gibt die gewählte App Ton aus, werden die übrigen leiser und bei Stille wieder lauter.
  4. v1.4.0

    • Als ausführbare Datei und als ZIP erhältlich. Die Bytes darin sind dieselben, und jede hat ihren eigenen Hash.
    • Die App kennt ihre eigene Adresse — zu öffnen über das Infobereichsmenü oder über „Info“ im Bedienfeld.
    • Eine einzige Schrift für die ganze Seite, und die Dateien schrumpften von 870 KB auf 225 KB.
  5. v1.3.0

    • Ein Profil kann jetzt sagen: „dieses Programm folgt dem Standardgerät“.
    • Diese Seite erscheint in zwölf Sprachen.