¿Hay alguna forma de modular mi voz sobre la marcha?


15

Necesito una forma de modular mi voz sobre la marcha (para bajar o subir el tono, etc., por privacidad) para usar en Mumble, TeamSpeak y otros programas similares. ¿Hay alguna forma de hacer esto en Linux / Ubuntu?

He encontrado un par de posibles programas en Windows, y si es necesario podría ejecutar Mumble, TeamSpeak, etc. en VirtualBox / Wine junto con un modulador, pero preferiría utilizar Linux, aunque no he podido encontrar ningún nativo programas para Linux que pueden hacer esto durante mi búsqueda rápida en Google.

Respuestas:


23
  1. Instale algún software necesario:

    sudo apt-get install sox libsox-fmt-pulse pavucontrol
    
  2. Hacer un sumidero nulo en pulseaudio:

    pactl load-module module-null-sink
    
  3. Comience a soxgrabar desde el dispositivo de grabación predeterminado (fuente predeterminada) y envíe al sumidero nulo:

    sox -t pulseaudio default -t pulseaudio null pitch -800
    

    (Si no desea grabar desde la fuente predeterminada, cambie el comando anterior en consecuencia.) El -800en el comando anterior es el cambio de tono deseado, puede modificar ese valor como desee, por ejemplo -300, +200, +500, etc. soxtambién tiene algunos otros "efectos" además del cambio de tono que se pueden aplicar al audio, es posible que desee comprobarlos man sox.

  4. Inicie su programa de captura (Skype, Teamspeak, etc.).

  5. Inicio pavucontrol.

  6. Mientras el programa de captura intenta capturarlo, aparecerá en pavucontrolla pestaña Grabación. Cambie su fuente de grabación por defecto a Monitor de salida nula .

    ajustes de pavucontrol

  7. Verifique los resultados, debería estar funcionando.

Notas:

  1. Puede hacer que pulseaudio cargue el sumidero nulo automáticamente, si edita el /etc/pulse/default.paarchivo y agrega la siguiente línea al final de ese archivo:

    load-module module-null-sink
    
  2. Los cambios que realice pavucontrolse recordarán, por lo que la próxima vez que inicie su programa de captura, intentará grabar automáticamente desde el sumidero nulo. Si esto no está bien para usted, simplemente vuelva a cambiar la fuente a la predeterminada pavucontrolcuando lo necesite.

  3. Si prefiere la forma del terminal: puede configurar la fuente de grabación para su programa de captura en el terminal (sin usar pavucontrol), si inicia su programa con la PULSE_SOURCEvariable configurada correctamente. Por ejemplo, para iniciar la grabación de Skype desde la fuente del monitor del sumidero nulo:

    PULSE_SOURCE=null.monitor skype
    
  4. Cambiar el tono de tu voz no te da muy buena privacidad:

    • Si el otro extremo te conoce, conoce tu voz real, entonces tendrás que alterar mucho el tono, por lo que será obvio para el otro extremo que alteraste tu sonido. Si lo desea, puede capturar su voz alterada y volver a cambiar el tono. O el otro extremo puede simplemente ignorar / rechazar su llamada por razones obvias.
    • Si el otro extremo no conoce tu voz real, bueno ... En este caso no hay ningún beneficio real al alterar tu voz, ya que ni siquiera conocen la verdadera.
    • Si está tratando de protegerse contra alguien que intercepte su voz, un ataque de hombre en el medio, etc., entonces es muy probable que esos tipos maliciosos sepan lo suficiente como para recuperar su sonido real de casi cualquier modificación que realice en él con tan simples softwares.
    • Además, para todos los casos anteriores: cuando habla, no es solo el sonido de su voz lo que puede identificarlo, sino la forma en que habla, su acento, las palabras y frases que usa, etc.
    • Si desea una forma más segura de comunicación de voz, puede utilizar un motor de texto a voz para convertir su escritura en voz. Esa es una forma mucho más segura. (Por supuesto, esto podría no ser una posibilidad si no es posible escribir sus mensajes, por ejemplo, en un juego multijugador).

Sin embargo, este método brinda una mejor privacidad que ninguna privacidad. Y también puede ser divertido engañar a algunos amigos con una voz alterada.


¿Alguna idea de cómo puedo aplicar un complemento LADSPA sin usar sox? tal vez usando el mismo sumidero nulo ( askubuntu.com/questions/43950/… ). No me gusta la idea de tener que habilitar la "grabación" y canalizar eso.
daño cerebral el

Esto es increíble y exactamente lo que estaba buscando, ¡gracias!
xamox

Esto también se puede utilizar para cambiar el tono de salida predeterminado, no solo la entrada. Pavucontrol es realmente poderoso. gracias
phil294

2
desafortunadamente, también agrega un retraso que parece aumentar dramáticamente con el tiempo
phil294

@ phil294, encontré formas de reducir la latencia significativamente. Por ejemplo, trate de: nice -n -8 sox --buffer 2048 -c 1 -r 48000 -t pulseaudio default -t pulseaudio null pitch -800. La combinación de un nicevalor más bajo y los -c(canales), -r(frecuencia de muestreo) y --buffer(el valor predeterminado es 8192 bytes (!), Ver aquí ) hace maravillas. El conteo de canales y la frecuencia de muestreo deben coincidir idealmente con su fuente. (continúa ...)
Marc.2377


1

También he estado buscando una aplicación similar. Creo que he encontrado una posible respuesta: LV2 y su complemento VocProc

Encontré esto a través de este hilo de Foros de Ubuntu , que también puede ser útil para usted.

También hay complementos para Teamspeak que le permiten editar su voz. Puede haber otros complementos para murmurar también continuaré buscando.


@Oli Esto es un LOA. Elimina los enlaces y no queda nada.
Pilot6

1
@ Pilot6 Estoy totalmente en desacuerdo. Elimine los enlaces y la respuesta aún le indica el nombre de una aplicación que hace lo que se le pide.
Oli
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.