Voide reduce el volumen del sistema mientras detecta personas hablando por el micrófono y lo restaura cuando termina la voz. La detección usa Silero VAD con ONNX Runtime de forma local; el audio del micrófono no se envía a ningún servicio.
- Detección de habla con el modelo local Silero VAD.
- Atenuación y restauración automática del volumen del sistema.
- Control de volumen para macOS y Windows.
- Umbrales y tiempos configurables en
config.py.
- Python 3.10 o posterior.
- macOS o Windows.
- Un micrófono disponible y permiso del sistema operativo para usarlo.
Clona el repositorio y entra al directorio:
git clone https://github.com/givespa/voide.git
cd voideCrea y activa un entorno virtual:
python -m venv .venvEn macOS:
source .venv/bin/activateEn Windows PowerShell:
.venv\Scripts\Activate.ps1Instala las dependencias y ejecuta la aplicación:
python -m pip install -r requirements.txt
python main.pyEn macOS, permite el acceso al micrófono en Configuración del Sistema → Privacidad y seguridad → Micrófono. En Windows, habilita el acceso al micrófono en la configuración de privacidad.
Edita config.py para ajustar el comportamiento:
| Variable | Descripción | Valor inicial |
|---|---|---|
SILERO_START_THRESHOLD |
Probabilidad mínima para comenzar a detectar voz | 0.70 |
SILERO_END_THRESHOLD |
Probabilidad bajo la cual se cuenta silencio | 0.40 |
VOICE_START_FRAMES |
Bloques consecutivos para confirmar voz | 5 |
VOICE_END_SILENCE_FRAMES |
Bloques de silencio para terminar la detección | 8 |
DUCK_VOLUME |
Volumen de salida mientras se detecta voz, entre 0.0 y 1.0 |
0.10 |
RESTORE_DELAY |
Segundos de espera antes de restaurar el volumen | 1.0 |
Cada bloque de audio tiene 512 muestras a 16 kHz (32 ms). La captura se separa de la inferencia para que el procesamiento del modelo no bloquee el micrófono.
El detector identifica habla, no quién la produce. Voces de televisión o grabaciones también pueden activar la atenuación.
Este proyecto se distribuye bajo la licencia MIT. Consulta el archivo LICENSE.