Utilidad para la bandeja de Windows
Un volumen distinto para cada aplicación, en un clic.
Chrome al 30%, Teams al 70%, Spotify al 20%. En lugar de abrir el mezclador de volumen cada vez, un perfil lo devuelve todo a su sitio. Dos clics desde la bandeja, o un control deslizante en el panel.
La ventana que abre el icono de la bandeja. Los mismos valores pueden cambiarse también desde el menú.
Qué hace
Lo que hacías en el mezclador de volumen, en dos clics desde la bandeja.
Volumen y silencio por aplicación
Agrupa por aplicación las sesiones que están sonando ahora. Una aplicación con muchos procesos, como Chrome, sigue siendo una sola fila.
Un dispositivo de salida distinto por aplicación
El juego por los altavoces, Discord por los auriculares. El dispositivo predeterminado también se cambia desde el menú, y el perfil guarda el dispositivo junto con los volúmenes.
Se mantiene al cerrar y volver a abrir la aplicación
Recuerda el volumen de cada aplicación y lo restaura cuando esa aplicación vuelve a sonar. Desconectar y volver a conectar un dispositivo, o despertar de la suspensión, también vuelve a aplicar el perfil.
El micrófono en la misma mano
El botón más urgente en una reunión. CtrlAltK silencia y reactiva el micrófono.
El panel
Editar perfiles, cambiar atajos, escribir reglas de automatización: todo desde la ventana. Nunca hay que tocar el archivo de ajustes a mano.
Solo salen tres cosas
Actualizaciones automáticas, informes de uso anónimos y avisos del desarrollador: eso es todo. solo las actualizaciones automáticas vienen activadas, y a un archivo descargado se le comprueba la firma antes de preguntarte si instalarlo. El panel escucha en 127.0.0.1 y necesita un token creado de nuevo en cada ejecución.
Perfiles
Cuando cambia la situación, deberían cambiar todos los volúmenes.
Vienen tres de serie, y el estado actual puede guardarse como uno nuevo en cualquier momento. El cambio automático —al arrancar una aplicación, al conectar un dispositivo o por franja horaria— está desactivado por defecto.
| Perfiles | Principal | Ajustes por aplicación |
|---|---|---|
| Work | 72% | Chrome 30% · Teams 70% · Spotify 20% |
| Gaming | 80% | Discord 65% · Spotify 15% · navegador silenciado |
| Meeting | 60% | Teams 80% · Zoom 80% · Chrome 20% · Spotify silenciado |
Atajos
Cuando ya tienes las manos en el teclado.
Todos se pueden cambiar, y si otro programa ya usa la combinación se te dice, en vez de fallar en silencio.
- CtrlAlt↑ Subir el volumen principal
- CtrlAlt↓ Bajar el volumen principal
- CtrlAltM Silenciar
- CtrlAltK Silenciar el micrófono
- CtrlAltS Panel emergente
- CtrlAlt1–3 Cambiar de perfil
Enrutado por aplicación
Un camino que Windows nunca documentó, comprobado antes de usarlo.
medido
«solo esta aplicación por los auriculares» no tiene API pública. Hay que llamar a la interfaz interna que usa la aplicación de Configuración de Windows, Windows.Media.Internal.AudioPolicyConfig, y tanto su identificador de interfaz como la disposición de su vtable cambian de una compilación a otra. SoundDesk no los usa a ciegas.
La primera llamada peligrosa se hace en un proceso aparte, para que la bandeja sobreviva a un fallo, y después de mover realmente una aplicación se vuelve a leer con Get; solo cuando aparece el mismo dispositivo se asciende a «verificado». Si la relectura no coincide, la función se desactiva sola y abre la página de configuración de Windows.
| Estado | Prueba |
|---|---|
| verified | Se movió un proceso de verdad y el endpoint id releído coincide. Si no suena nada, el autodiagnóstico se crea una sesión con un flujo silencioso y se comprueba contra sí mismo |
| probable | No se pudo crear nada que releer: solo consta que activar la fábrica y llamar por la vtable no provocó un fallo |
| unsupported | El autodiagnóstico falló, o la llamada salió bien y Windows no la aplicó → se te lleva a la página de configuración |
Seguridad
Seguro aunque se ejecute desde la carpeta de descargas.
Estos son los problemas con los que se topa de verdad un ejecutable portable. No es una lista abstracta: cada línea tiene código y una prueba detrás.
| Amenaza | Respuesta |
|---|---|
| Secuestro de DLL Una DLL falsa colocada junto al exe |
Las DLL del sistema se cargan solo por System32 ruta absoluta. Al arrancar se quitan de la ruta de búsqueda la carpeta del exe y el directorio de trabajo |
| Ocupación del mutex Otra sesión toma el nombre antes y bloquea el arranque |
El objeto de instancia única vive en el espacio de nombres Local\. |
| Inyección por el archivo de ajustes | Un endpoint id llega a una llamada COM solo si pasa una comprobación por expresión regular |
| Falsificación del registro Un salto de línea en el nombre de un proceso para insertar una entrada falsa |
A los nombres de aplicación y dispositivo se les quitan los caracteres de control y se les limita la longitud |
| Una ruta de inicio automático sin comillas | El valor de Run es siempre una ruta absoluta entre comillas, y solo se usa HKCU. |
| Manipulación del panel Otro programa del mismo PC, o una página web |
127.0.0.1 únicamente, más un token de 256 bits nuevo en cada ejecución y una comprobación de Host y Origin. El token pasa a ser una cookie HttpOnly en la primera carga y desaparece de la barra de direcciones |
Privacidad
Solo salen tres cosas de este PC, y aquí están.
Los nombres de las aplicaciones y la información de sesión se tratan en este PC, y los ajustes son un único archivo JSON. Hay tres funciones que salen a internet: actualizaciones automáticas, informes de uso anónimos y avisos del desarrollador. El mando a distancia del teléfono está apagado hasta que lo actives, y entonces solo muestra los nombres de las aplicaciones a los teléfonos que emparejaste, dentro de la misma red privada. solo las actualizaciones automáticas vienen activadas: pregunta si hay una versión más nueva, la descarga si la hay y luego pregunta si instalarla. Envía la versión en uso y el idioma, nunca el id de instalación, y se puede desactivar en el panel. Las otras dos permanecen calladas hasta que las actives.
| Archivo de ajustes | %APPDATA%\SoundDesk\config.json |
|---|---|
| Registro | %APPDATA%\SoundDesk\sounddesk.log |
| Actualizaciones automáticas | Activado por defecto — una vez por arranque, solo la versión en uso y el idioma. El id de instalación no se envía. La versión nueva se descarga, se pregunta a Windows si está firmada por PROJECTTEAMFORYOU, e instalarla requiere un clic |
| Informe anónimo de uso | Desactivado por defecto — al activarlo, una vez al día: un id de instalación aleatorio, la versión, la compilación de Windows, el idioma y tres recuentos |
| Avisos del desarrollador | Desactivado por defecto: al activarlo, solo la versión en uso y el idioma |
| Lo que no sale nunca | Nombres de aplicación · nombres de dispositivo · rutas de archivo · el nombre de la cuenta de Windows |
| API utilizadas | IMMDeviceEnumerator · IAudioSessionManager2 · ISimpleAudioVolume · IPolicyConfig · AudioPolicyConfig |
| Inicio automático | HKCU\Software\Microsoft\Windows\CurrentVersion\Run (opcional) |
Autodiagnóstico
Pregúntale a la propia aplicación si funciona en tu PC.
Ejecuta sus propias funciones una a una sobre la pila de audio real y deja como estaba lo que ha tocado. Nada que produzca sonido llega a hacerse: el volumen principal se prueba reescribiendo el valor que ya tiene, lo que ejercita la ruta de llamada y nada más.
| Comando | Qué comprueba |
|---|---|
| --selftest-audio | Dispositivos · principal · micrófono · volumen, silencio y enrutado por aplicación · perfiles · atajos globales. Si no suena ninguna aplicación, el enrutado se comprueba contra una sesión silenciosa propia |
| --selftest-panel | Si el ejecutable empaquetado sirve realmente el panel |
| --report | Dispositivos, sesiones y perfiles en JSON |
Resultado en este PC
OK Volumen por aplicación (firefox.exe 100% → 42% → restaurado)
OK Silencio por aplicación
OK Enrutado de salida por aplicación (firefox.exe → ASUS VZ279 → restaurado)
OK Cambio de dispositivo predeterminado · perfiles · atajos globales
— Micrófono (este PC no tiene dispositivo de entrada)
11 passed, 0 failed, 2 skipped — Windows 10 22H2 compilación 19045
En cualquier sitio
En tu idioma, en tu PC.
Los mismos ajustes en casa y en el trabajo, leídos en el idioma que usas, llamados desde una macro cuando hace falta.
12 idiomas
Sigue el idioma de Windows. También puedes elegir uno, y al hacerlo el panel y el menú de la bandeja cambian al momento, sin reiniciar.
한국어 · English · 日本語 · 简体中文 · 繁體中文 · Español · Português · Français · Deutsch · Русский · Italiano · Tiếng Việt
Los mismos ajustes en casa y en el trabajo
Exporta perfiles, atajos y reglas en un archivo e impórtalo en otro PC. Los dispositivos se emparejan por nombre: los mismos auriculares tienen un id distinto en cada PC, así que copiar el archivo sin más haría desaparecer el enrutado en silencio. De los dispositivos que este PC no tiene se te da el nombre.
Llamarlo desde una macro
Úsalo tal cual desde un botón de Stream Deck o una línea de AutoHotkey. Funciona esté la bandeja abierta o no, y no levanta un segundo icono. Código de salida 0 si algo cambió, 1 si no coincidió nada.
SoundDesk.exe --set-app chrome.exe=25
SoundDesk.exe --profile Gaming
SoundDesk.exe --list apps
Instalación
Un archivo. Sin instalador.
SoundDesk.exe donde quieras y ejecútalo: aparecerá un icono en la bandeja. Python no hace falta.
—visitas totales —descargas totales
Si tu navegador o la política de tu empresa bloquea los ejecutables, descarga el zip. Dentro va el mismo archivo, y hay un hash para cada uno.
Verlo otra vezPuede que tu navegador lo bloquee como descarga sospechosa. Eso significa que todavía poca gente lo ha descargado, no que le pase algo al archivo. En Chrome, abre la lista de descargas, pulsa ⋮ y elige Conservar; si lo bloquea Windows, elige Más información → Ejecutar. Lo que de verdad lo verifica son dos cosas: que el editor sea PROJECTTEAMFORYOU y que el SHA-256 de arriba coincida con el archivo que recibiste. El aviso desaparece a medida que más gente lo descarga.
Registro de cambios
Qué cambió y cuándo.
Todas las horas son hora estándar de Corea (KST). El registro completo está en el archivo de cambios del repositorio.
-
v1.7.0 Lo último
- Mando a distancia en el teléfono. Un teléfono Android en la misma Wi-Fi (SoundDesk Remote) controla el volumen, el silencio, los dispositivos de salida y los perfiles. Desactivado por defecto; al activarlo, solo se conectan los teléfonos emparejados con un código QR y solo desde dentro de una red privada.
- La política de privacidad y las condiciones de uso se publican en doce idiomas.
-
v1.6.0
- Actualizaciones automáticas. Cuando sale una versión nueva se descarga y se te pregunta si instalarla. Activadas por defecto y se pueden desactivar en los ajustes.
- Un archivo descargado tiene que pasar el hash publicado y la firma, y la firma se comprueba otra vez en el momento de instalarlo.
-
v1.5.0
- El nivel del sonido que está saliendo ahora, dibujado bajo el maestro, el micrófono y cada aplicación que suena.
- Un atajo global que nombra una sola aplicación. Silencia un programa en mitad de una reunión sin abrir el panel.
- Bajada automática: cuando la aplicación elegida suena, las demás bajan; al callarse, vuelven.
-
v1.4.0
- Disponible como ejecutable y como zip. Los bytes de dentro son los mismos y cada uno tiene su hash.
- La aplicación conoce su propia dirección: se abre desde el menú de la bandeja o desde Acerca de, en el panel.
- Una sola tipografía en toda la página, y los archivos pasaron de 870KB a 225KB.
-
v1.3.0
- Un perfil ya puede decir «esta aplicación sigue al dispositivo predeterminado».
- Esta página se publica en doce idiomas.