Escuchá tu tocadiscos de vinilo a través de la PC con un clic, en Linux (PipeWire + GNOME).
Un botón de tornamesa en la barra superior de GNOME: clic para enrutar el Line-In a tus parlantes, clic de nuevo para cortar. El ícono cambia según el estado (brazo levantado ↔ brazo tocando + verde). Sin el falso indicador de "micrófono en uso".
Si tu preamplificador / amplificador tiene una sola entrada (ya ocupada por la PC) y no podés enchufar el tocadiscos directo en la cadena analógica, esta herramienta usa la PC como puente: el vinilo entra por el Line-In, y se enruta a tu salida (que ya va al ampli) dentro del grafo de PipeWire, sin conversiones de más a nivel de aplicación y sin registrar un "stream de grabación".
Tocadiscos → Line-In de la PC → [pw-link directo] → Salida → Preamp → Amplificador → Parlantes
Si tu ampli sí tiene una entrada de línea libre, no necesitás esto: andá analógico directo. Esta herramienta es para cuando la PC es tu único punto de entrada.
module-loopback crea un stream de grabación sobre el Line-In → GNOME muestra el indicador de micrófono (privacidad). pw-link conecta los puertos directo en el grafo, sin cliente de grabación, así que GNOME no muestra nada. Atacamos la raíz, no ocultamos el ícono (eso sería un agujero de privacidad real).
🎚️ ¿Qué tan limpio suena? El link directo es bit-transparente (sin resampling, sin volumen por software, sin DSP). Ver docs/CALIDAD-DE-SEÑAL.md para el análisis completo software vs hardware.
- PipeWire con
pw-linkypactl(WirePlumber/pipewire-pulse). - fish shell (las funciones son fish; podés llamarlas desde cualquier lado con
fish -c). - GNOME Shell 45+ (formato ESM) para el botón. Probado en GNOME 50 / Wayland.
amixer(alsa-utils) — opcional, para ajustar niveles de captura.- Una entrada Line-In (jack azul) o equivalente que exponga el puerto
analog-input-linein.
git clone <URL-de-este-repo> vinilo-toggle
cd vinilo-toggle
./install.shEn GNOME Wayland, después de instalar cerrá sesión y volvé a entrar (Wayland no recarga extensiones en vivo). Vas a ver el botón de tornamesa en la barra.
| Cómo | Qué hace |
|---|---|
| Clic en el botón de tornamesa | Prende/apaga el enrutado del vinilo |
vinilo-on |
Prende (desde la terminal) |
vinilo-off |
Apaga |
vinilo-status |
Imprime on / off |
El botón se sincroniza con el estado real: aunque prendas/apagues por terminal, el ícono se actualiza.
Por defecto auto-detecta la entrada Line-In, la salida (misma placa) y el índice de placa ALSA. Para forzar valores, creá ~/.config/vinilo/config.fish:
set -gx VINILO_SOURCE alsa_input.pci-0000_00_1f.3.analog-stereo
set -gx VINILO_SINK alsa_output.pci-0000_00_1f.3.analog-stereo
set -gx VINILO_CARD 0
# Pares salida:entrada (estereo analogico estandar)
set -gx VINILO_PORTS capture_FL:playback_FL capture_FR:playback_FR
# Nivel del ADC. 0dB = sin ganancia (lo mas limpio, el preamp ya da el nivel).
# Si tu preamp clippea, atenua con un valor negativo (ej "-6dB").
set -gx VINILO_CAPTURE 0dB
set -gx VINILO_BOOST 0Para ver tus dispositivos:
pactl list short sources # entradas
pactl list short sinks # salidas
pw-link -o # puertos de salida (capture_*)
pw-link -i # puertos de entrada (playback_*)- Ruido blanco / estática: la ganancia de captura está demasiado alta.
vinilo-onponeLine Boost = 0y el ADC en0dB(sin ganancia — el preamp ya da el nivel). No usespactl set-source-volumepara esto: en el ALC1220 mapea el ADC y de 40%+ lo clava en +30dB → estática. El nivel se ajusta conVINILO_CAPTURE(amixer), y el volumen, en el amplificador. - No suena nada: confirmá que el cable está en el Line-In correcto y que tu salida (
VINILO_SINK) es la que va al ampli. Probávinilo-status(debe deciron). - El botón no aparece: en Wayland, relogueá. Verificá con
gnome-extensions info vinilo@banar.localy los logs:journalctl --user -b 0 -o cat | grep -i vinilo. - Sigue el ícono de micrófono: asegurate de NO tener un
module-loopbackviejo cargado:pactl list short modules | grep loopback→ si hay,vinilo-offlo limpia.
./uninstall.sh_vinilo_devices.fishresuelveSOURCE/SINK/CARD/PORTS(auto-detección + override).vinilo-onajusta niveles, pone la entrada en Line-In y crea lospw-linksalida→entrada.vinilo-offborra esos links.vinilo-statusparseapw-link -ly reporta si el link específico capture→playback existe.- La extensión GNOME es un
PanelMenu.Buttonsin menú que llama a esas funciones víafish -cy refleja el estado con dos íconos symbolic (recoloreados por el shell; verde cuando está activo).
MIT — ver LICENSE.