SoundDesk

Utilità per l'area di notifica di Windows

Un volume diverso per ogni applicazione,
con un clic.

Chrome al 30%, Teams al 70%, Spotify al 20%. Invece di aprire il mixer del volume ogni volta, un profilo rimette tutto a posto. Due clic dal menu, o un cursore nel pannello.

Windows 10 · 11Nessun installer, un solo eseguibileTraffico in uscita disattivato per impostazione predefinita

La finestra che apre l'icona nell'area di notifica. Gli stessi valori si cambiano anche dal menu.

Cosa fa

Quello che facevi nel mixer del volume, in due clic dall'area di notifica.

01

Volume e silenziamento per applicazione

Raggruppa per applicazione le sessioni che stanno suonando adesso. Un'applicazione con molti processi, come Chrome, resta una sola riga.

02

Un dispositivo di uscita diverso per applicazione

Il gioco sugli altoparlanti, Discord sulle cuffie. Anche il dispositivo predefinito si cambia dal menu, e il profilo salva il dispositivo insieme ai volumi.

03

Resta anche chiudendo e riaprendo l'applicazione

Ricorda il volume di ogni applicazione e lo rimette quando quell'applicazione torna a suonare. Anche scollegare e ricollegare un dispositivo, o il risveglio dalla sospensione, riapplica il profilo.

04

Il microfono nella stessa mano

Il pulsante più urgente durante una riunione. CtrlAltK silenzia e riattiva il microfono.

05

Il pannello

Modificare i profili, cambiare le scorciatoie, scrivere regole di automazione: tutto dalla finestra. Non c'è mai bisogno di toccare a mano il file delle impostazioni.

06

Esce solo quello che accendi

Il rapporto d'uso anonimo, il controllo aggiornamenti e gli avvisi dello sviluppatore sono tutto quello che c'è, e tutte e tre sono disattivate. Il pannello si apre solo su 127.0.0.1 e richiede un token creato daccapo a ogni esecuzione.

Profili

Quando cambia la situazione, dovrebbero cambiare tutti i volumi.

Ne sono inclusi tre, e lo stato attuale può essere salvato come nuovo profilo in qualsiasi momento. Il cambio automatico — all'avvio di un'applicazione, al collegamento di un dispositivo o per fascia oraria — è disattivato.

I profili inclusi
ProfiliPrincipaleImpostazioni per applicazione
Work72%Chrome 30% · Teams 70% · Spotify 20%
Gaming80%Discord 65% · Spotify 15% · browser silenziato
Meeting60%Teams 80% · Zoom 80% · Chrome 20% · Spotify silenziato

Scorciatoie

Quando le mani sono già sulla tastiera.

Si possono cambiare tutte, e se un altro programma usa già la combinazione te lo dice, invece di fallire in silenzio.

  • CtrlAlt Alza il volume principale
  • CtrlAlt Abbassa il volume principale
  • CtrlAltM Silenzia
  • CtrlAltK Silenzia il microfono
  • CtrlAltS Pannello
  • CtrlAlt13 Cambia profilo

Routing per applicazione

Una strada che Windows non ha mai documentato, verificata prima di essere usata.

misurato

«solo questa applicazione sulle cuffie» non ha un'API pubblica. Bisogna chiamare l'interfaccia interna che usa l'app Impostazioni di Windows, Windows.Media.Internal.AudioPolicyConfig, e sia l'identificatore dell'interfaccia sia la disposizione della vtable cambiano da build a build. SoundDesk non le usa a indovinare.

La prima chiamata pericolosa avviene in un processo separato, così l'icona sopravvive a un crash, e dopo che un'applicazione è stata davvero spostata si rilegge con Get; solo quando torna lo stesso dispositivo passa a «verificato». Se la rilettura non coincide, la funzione si disattiva da sola e apre la pagina delle impostazioni di Windows.

Cosa significa il verdetto
StatoProva
verifiedUn processo è stato spostato davvero e l'endpoint id riletto coincide. Se non sta suonando nulla, l'autodiagnosi si crea una sessione con un flusso silenzioso e verifica contro sé stessa
probableNon è stato possibile creare nulla da rileggere: risulta solo che attivare la factory e chiamare tramite la vtable non ha causato un crash
unsupportedL'autodiagnosi è fallita, oppure la chiamata è riuscita e Windows non l'ha applicata → vieni indirizzato alla pagina delle impostazioni

Su Windows 10 22H2, build 19045, verified verificato Il verdetto viene salvato con il numero di build e ricontrollato quando Windows si aggiorna

Sicurezza

Sicuro anche eseguito dalla cartella dei download.

Questi sono i problemi che un eseguibile portatile incontra davvero. Non un elenco astratto: dietro ogni riga ci sono codice e un test.

MinacciaRisposta
Dirottamento di DLL
Una DLL falsa messa accanto all'exe
Le DLL di sistema si caricano solo per System32 percorso assoluto. All'avvio la cartella dell'exe e la directory di lavoro escono dal percorso di ricerca
Occupazione del mutex
Un'altra sessione prende prima il nome e blocca l'avvio
L'oggetto a istanza singola sta nello spazio dei nomi Local\.
Iniezione tramite il file delle impostazioni Un endpoint id arriva a una chiamata COM solo dopo aver superato un controllo con espressione regolare
Falsificazione del log
Un a capo nel nome di un processo per inserire una riga di log falsa
Ai nomi di applicazione e dispositivo vengono tolti i caratteri di controllo e applicato un limite di lunghezza
Un percorso di avvio automatico senza virgolette Il valore di Run è sempre un percorso assoluto tra virgolette, e si usa soltanto HKCU.
Manomissione del pannello
Un altro programma sullo stesso PC, o una pagina web
127.0.0.1 soltanto, più un token da 256 bit nuovo a ogni esecuzione e un controllo di Host e Origin. Il token diventa un cookie HttpOnly al primo caricamento e sparisce dalla barra degli indirizzi

696 test · copertura 84% Compreso un test reale che piazza una DLL falsa e verifica che venga bloccata Firmato come PROJECTTEAMFORYOU · controlla il nome dell'autore prima di eseguirlo

Privacy

Esce solo quello che accendi.

I nomi delle applicazioni e le informazioni di sessione vengono trattati su questo PC e da nessun'altra parte, e le impostazioni sono un solo file JSON. Le funzioni che raggiungono la rete sono esattamente tre — rapporto d'uso anonimo, controllo aggiornamenti e avvisi dello sviluppatore — e tutte e tre sono disattivate. Finché non ne accendi una nel pannello, non esce nemmeno una richiesta.

File delle impostazioni%APPDATA%\SoundDesk\config.json
Log%APPDATA%\SoundDesk\sounddesk.log
Rapporto d'uso anonimoDisattivato — se acceso, una volta al giorno: un id di installazione casuale, la versione, la build di Windows, la lingua e tre conteggi
Controllo aggiornamenti · avvisi dello sviluppatoreDisattivato — se acceso, solo la versione in esecuzione e la lingua. L'id di installazione non viene inviato
Quello che non esce maiNomi di applicazione · nomi di dispositivo · percorsi di file · il nome dell'account Windows
API usateIMMDeviceEnumerator · IAudioSessionManager2 · ISimpleAudioVolume · IPolicyConfig · AudioPolicyConfig
Avvio automaticoHKCU\Software\Microsoft\Windows\CurrentVersion\Run (facoltativo)

Autodiagnosi

Chiedi all'applicazione stessa se funziona sul tuo PC.

Esegue una per una le proprie funzioni sullo stack audio reale e rimette a posto ciò che ha toccato. Niente che produca suono viene proprio fatto: il volume principale si prova riscrivendo il valore che ha già, il che esercita il percorso di chiamata e nient'altro.

ComandoCosa controlla
--selftest-audio Dispositivi · principale · microfono · volume, silenziamento e routing per applicazione · profili · scorciatoie globali. Se non sta suonando nessuna applicazione, il routing si verifica con una sessione silenziosa propria
--selftest-panel Se l'eseguibile pacchettizzato serve davvero il pannello
--report Dispositivi, sessioni e profili in JSON

Risultato su questo PC

OK  Volume per applicazione (firefox.exe 100% → 42% → ripristinato)
OK  Silenziamento per applicazione
OK  Routing di uscita per applicazione (firefox.exe → ASUS VZ279 → ripristinato)
OK  Cambio del dispositivo predefinito · profili · scorciatoie globali
—   Microfono (questo PC non ha dispositivi di ingresso)

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

Ovunque

Nella tua lingua, sul tuo PC.

Le stesse impostazioni a casa e al lavoro, lette nella lingua che usi, richiamate da una macro quando serve.

01

12 lingue

Segue la lingua di Windows. Puoi anche sceglierne una, e quando lo fai il pannello e il menu cambiano sul momento, senza riavviare.

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

02

Le stesse impostazioni a casa e al lavoro

Esporta profili, scorciatoie e regole in un file e importalo su un altro PC. I dispositivi vengono abbinati per nome: le stesse cuffie hanno un id diverso su ogni PC, quindi copiare il file e basta farebbe sparire il routing in silenzio. Dei dispositivi che questo PC non ha ti viene detto il nome.

03

Richiamarlo da una macro

Usalo così com'è da un pulsante dello Stream Deck o da una riga di AutoHotkey. Funziona che l'icona sia presente o no, e non ne apre una seconda. Codice di uscita 0 se qualcosa è cambiato, 1 se non ha trovato nulla.

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

Installazione

Un file. Nessun installer.

SoundDesk.exe dove preferisci ed eseguilo: comparirà un'icona nell'area di notifica. Per rimuoverlo, cancella il file e la cartella delle impostazioni. Python non serve.

Scarica SoundDesk.exe

21,9 MB · firmato digitalmenteSHA-256

Rivedilo

Windows 10 1803 o successivoUn solo eseguibileNessun diritto di amministratoreSHA-256 incluso