Utilitaire pour la zone de notification Windows
Un volume différent pour chaque application, en un clic.
Chrome à 30 %, Teams à 70 %, Spotify à 20 %. Au lieu d'ouvrir le mélangeur de volume à chaque fois, un profil remet tout en place. Deux clics depuis le menu, ou un curseur dans le panneau de commande.
La fenêtre qu'ouvre l'icône de la zone de notification. Les mêmes valeurs se changent aussi directement depuis le menu.
Ce qu'il fait
Ce que vous faisiez dans le mélangeur de volume, en deux clics.
Volume et coupure du son par application
Regroupe par application les sessions qui produisent du son en ce moment. Une application à plusieurs processus, comme Chrome, tient sur une seule ligne.
Un périphérique de sortie différent par application
Le jeu sur les haut-parleurs, Discord sur le casque. Le périphérique par défaut se change aussi depuis le menu, et un profil enregistre le périphérique avec les volumes.
Conservé quand l'application est fermée puis rouverte
Retient le volume de chaque application et le remet quand cette application se remet à jouer. Débrancher puis rebrancher un périphérique, ou sortir de veille, réapplique aussi le profil.
Le microphone dans la même main
Le bouton le plus urgent pendant une réunion. CtrlAltK coupe et rétablit le microphone.
Le panneau de commande
Modifier les profils, changer les raccourcis, écrire des règles d'automatisation : tout se fait dans la fenêtre. Il n'y a jamais besoin de toucher au fichier de réglages à la main.
Trois choses sortent, pas plus
Mises à jour automatiques, rapports d'usage anonymes et annonces du développeur : c'est tout. seules les mises à jour automatiques sont actives au départ, et la signature d'un fichier téléchargé est vérifiée avant qu'on vous demande de l'installer. Le panneau écoute sur 127.0.0.1 et exige un jeton recréé à chaque exécution.
Profils
Quand la situation change, tous les volumes devraient changer avec elle.
Trois sont fournis, et l'état actuel peut être enregistré comme nouveau profil à tout moment. Le changement automatique — au lancement d'une application, au branchement d'un périphérique ou selon l'heure — est désactivé par défaut.
| Profils | Général | Réglages par application |
|---|---|---|
| Work | 72% | Chrome 30% · Teams 70% · Spotify 20% |
| Gaming | 80% | Discord 65 % · Spotify 15 % · navigateur muet |
| Meeting | 60% | Teams 80 % · Zoom 80 % · Chrome 20 % · Spotify muet |
Raccourcis
Quand les mains sont déjà sur le clavier.
Tous sont modifiables, et si un autre programme utilise déjà la combinaison, on vous le dit au lieu d'échouer en silence.
- CtrlAlt↑ Monter le volume général
- CtrlAlt↓ Baisser le volume général
- CtrlAltM Couper le son
- CtrlAltK Couper le microphone
- CtrlAltS Fenêtre
- CtrlAlt1–3 Changer de profil
Routage par application
Un chemin que Windows n'a jamais documenté, vérifié avant d'être emprunté.
mesuré
« cette application seulement sur le casque » n'a pas d'API publique. Il faut appeler l'interface interne qu'utilise l'application Paramètres de Windows, Windows.Media.Internal.AudioPolicyConfig, et son identifiant d'interface comme la disposition de sa vtable changent d'une build à l'autre. SoundDesk ne les utilise pas au jugé.
Le premier appel, le plus risqué, se fait dans un processus séparé, pour que l'icône survive à un plantage, puis après avoir réellement déplacé une application on relit avec Get; ce n'est que lorsque le même périphérique revient que le verdict passe à « vérifié ». Si la relecture ne concorde pas, la fonction se désactive d'elle-même et ouvre la page de paramètres de Windows.
| État | Preuve |
|---|---|
| verified | Un processus a réellement été déplacé et l'endpoint id relu concorde. Si rien ne joue, l'autodiagnostic se crée une session avec un flux silencieux et se vérifie contre lui-même |
| probable | Rien n'a pu être créé à relire — on sait seulement qu'activer la fabrique et appeler via la vtable n'a pas provoqué de plantage |
| unsupported | L'autodiagnostic a échoué, ou l'appel a réussi et Windows ne l'a pas appliqué → on vous renvoie vers la page de paramètres |
Sécurité
Sûr même lancé depuis le dossier des téléchargements.
Voici les problèmes qu'un exécutable portable rencontre vraiment. Pas une liste abstraite : chaque ligne a du code et un test derrière elle.
| Menace | Réponse |
|---|---|
| Détournement de DLL Une fausse DLL posée à côté de l'exe |
Les DLL système ne sont chargées que par System32 chemin absolu. Au démarrage, le dossier de l'exe et le répertoire de travail sortent du chemin de recherche |
| Squat de mutex Une autre session prend le nom en premier et bloque le lancement |
L'objet d'instance unique vit dans l'espace de noms Local\. |
| Injection par le fichier de réglages | Un endpoint id n'atteint un appel COM qu'après avoir passé une vérification par expression régulière |
| Falsification du journal Un saut de ligne dans un nom de processus pour insérer une fausse entrée |
Les noms d'application et de périphérique sont débarrassés des caractères de contrôle puis limités en longueur |
| Un chemin de démarrage automatique sans guillemets | La valeur Run est toujours un chemin absolu entre guillemets, et l'on n'utilise que HKCU. |
| Manipulation du panneau de commande Un autre programme du même PC, ou une page web |
127.0.0.1 uniquement, plus un jeton de 256 bits neuf à chaque exécution et une vérification de Host et d'Origin. Le jeton devient un cookie HttpOnly au premier chargement et disparaît de la barre d'adresse |
Confidentialité
Trois choses sortent de ce PC, et les voici.
Les noms d'applications et les informations de session sont traités sur ce PC, et les réglages tiennent dans un seul fichier JSON. Trois fonctions vont sur Internet : les mises à jour automatiques, les rapports d'usage anonymes et les annonces du développeur. La télécommande du téléphone est désactivée tant que vous ne l'activez pas ; une fois activée, elle ne montre les noms d'applications qu'aux téléphones que vous avez appairés, sur le même réseau privé. seules les mises à jour automatiques sont actives au départ: elle demande s'il existe une version plus récente, la télécharge le cas échéant, puis demande s'il faut l'installer. Elle envoie la version utilisée et la langue, jamais l'identifiant d'installation, et se désactive depuis le panneau. Les deux autres restent muettes tant que vous ne les activez pas.
| Fichier de réglages | %APPDATA%\SoundDesk\config.json |
|---|---|
| Journal | %APPDATA%\SoundDesk\sounddesk.log |
| Mises à jour automatiques | Active par défaut — une fois par démarrage, seulement la version utilisée et la langue. L'identifiant d'installation n'est pas envoyé. La nouvelle version est téléchargée, Windows confirme qu'elle est signée par PROJECTTEAMFORYOU, et l'installer demande un clic |
| Rapport d'utilisation anonyme | Désactivé par défaut — une fois activé, une fois par jour : un identifiant d'installation aléatoire, la version, la build de Windows, la langue et trois décomptes |
| Annonces du développeur | Inactive par défaut — une fois active, seulement la version utilisée et la langue |
| Ce qui ne sort jamais | Noms d'applications · noms de périphériques · chemins de fichiers · le nom du compte Windows |
| API utilisées | IMMDeviceEnumerator · IAudioSessionManager2 · ISimpleAudioVolume · IPolicyConfig · AudioPolicyConfig |
| Démarrage automatique | HKCU\Software\Microsoft\Windows\CurrentVersion\Run (facultatif) |
Autodiagnostic
Demandez à l'application elle-même si elle fonctionne sur votre PC.
Il exécute ses propres fonctions une par une sur la vraie pile audio et remet en place ce qu'il a touché. Rien qui produise du son n'est même tenté : le volume général est prouvé en réécrivant la valeur qu'il a déjà, ce qui éprouve le chemin d'appel et rien d'autre.
| Commande | Ce qu'elle vérifie |
|---|---|
| --selftest-audio | Périphériques · général · microphone · volume, coupure et routage par application · profils · raccourcis globaux. Si aucune application ne joue, le routage est vérifié contre une session silencieuse à lui |
| --selftest-panel | Si l'exécutable empaqueté sert réellement le panneau de commande |
| --report | Périphériques, sessions et profils en JSON |
Résultat sur ce PC
OK Volume par application (firefox.exe 100 % → 42 % → rétabli)
OK Coupure du son par application
OK Routage de sortie par application (firefox.exe → ASUS VZ279 → rétabli)
OK Changement de périphérique par défaut · profils · raccourcis globaux
— Microphone (pas de périphérique d'entrée sur ce PC)
11 passed, 0 failed, 2 skipped — Windows 10 22H2 build 19045
Partout
Dans votre langue, sur votre PC.
Les mêmes réglages à la maison et au bureau, lus dans la langue que vous employez, appelés depuis une macro au besoin.
12 langues
Suit la langue d'affichage de Windows. Vous pouvez aussi en choisir une : le panneau de commande et le menu changent aussitôt, sans redémarrage.
한국어 · English · 日本語 · 简体中文 · 繁體中文 · Español · Português · Français · Deutsch · Русский · Italiano · Tiếng Việt
À la maison et au bureau, les mêmes réglages
Exportez profils, raccourcis et règles dans un fichier et importez-le sur un autre PC. Les périphériques sont appariés par leur nom: le même casque a un identifiant différent sur chaque PC, donc copier le fichier seul ferait disparaître le routage en silence. Les périphériques absents de ce PC vous sont nommés.
L'appeler depuis une macro
Utilisez-le tel quel depuis un bouton Stream Deck ou une ligne d'AutoHotkey. Il fonctionne que l'icône soit présente ou non, et n'en ouvre pas une seconde. Code de sortie 0 si quelque chose a changé, 1 si rien ne correspondait.
SoundDesk.exe --set-app chrome.exe=25
SoundDesk.exe --profile Gaming
SoundDesk.exe --list apps
Installation
Un fichier. Pas d'installateur.
SoundDesk.exe où vous voulez et lancez-le : une icône apparaît dans la zone de notification. Python n'est pas nécessaire.
—visites au total —téléchargements au total
Si votre navigateur ou la politique de votre entreprise bloque les exécutables, prenez le zip. Le fichier à l'intérieur est le même, et il y a une empreinte pour chacun.
Le revoirVotre navigateur peut le bloquer comme téléchargement suspect. Cela veut dire que peu de gens l'ont encore téléchargé, pas qu'il y ait un problème avec le fichier. Dans Chrome, ouvrez la liste des téléchargements, cliquez sur ⋮ et choisissez Conserver ; si c'est Windows qui bloque, choisissez Informations complémentaires → Exécuter. Ce qui le vérifie vraiment, ce sont deux choses : que l'éditeur soit PROJECTTEAMFORYOU, et que le SHA-256 ci-dessus corresponde au fichier reçu. L'avertissement disparaît à mesure que le nombre de téléchargements augmente.
Journal des modifications
Ce qui a changé, et quand.
Toutes les heures sont à l'heure de Corée (KST). Le relevé complet se trouve dans le fichier de changements du dépôt.
-
v1.7.0 Dernière
- Télécommande sur téléphone. Un téléphone Android sur le même Wi-Fi (SoundDesk Remote) pilote le volume, la sourdine, les périphériques de sortie et les profils. Désactivée par défaut ; une fois activée, seuls les téléphones appairés par code QR peuvent se connecter, et uniquement depuis un réseau privé.
- La politique de confidentialité et les conditions d'utilisation sont publiées en douze langues.
-
v1.6.0
- Mises à jour automatiques. Une nouvelle version est téléchargée dès qu'elle paraît, puis on vous demande s'il faut l'installer. Actives par défaut, désactivables dans les réglages.
- Un fichier téléchargé doit passer l'empreinte publiée et la signature, et la signature est revérifiée au moment de l'installation.
-
v1.5.0
- Le niveau du son émis en ce moment, tracé sous le volume général, le micro et chaque application qui joue.
- Un raccourci global qui désigne une seule application. Couper le son d'un programme en pleine réunion sans ouvrir le panneau.
- Baisse automatique : quand l'application choisie émet un son, les autres baissent ; au silence, elles remontent.
-
v1.4.0
- Disponible en exécutable et en zip. Les octets à l'intérieur sont les mêmes et chacun a son empreinte.
- L'application connaît sa propre adresse — on l'ouvre depuis le menu de la zone de notification ou depuis À propos, dans le panneau.
- Une seule police sur toute la page, et les fichiers sont passés de 870 Ko à 225 Ko.
-
v1.3.0
- Un profil peut désormais dire « cette application suit le périphérique par défaut ».
- Cette page est publiée en douze langues.