Existe uma maneira de modular minha voz em tempo real?


15

Preciso de uma maneira de modular minha voz on-the-fly (para diminuir ou aumentar o tom, etc, para privacidade) para uso no Mumble, TeamSpeak e outros programas desse tipo. Existe alguma maneira de fazer isso no Linux / Ubuntu?

Eu encontrei alguns programas possíveis no Windows e, se necessário, eu poderia executar o Mumble, TeamSpeak etc. no VirtualBox / Wine junto com um modulador, mas eu preferiria muito usar o Linux, embora não tenha encontrado nenhuma fonte nativa. programas para Linux que podem fazer isso durante minha pesquisa rápida no Google.

Respostas:


22
  1. Instale algum software necessário:

    sudo apt-get install sox libsox-fmt-pulse pavucontrol
    
  2. Faça um nulo-afundar no pulseaudio:

    pactl load-module module-null-sink
    
  3. Começar sox gravação do dispositivo de gravação padrão (fonte padrão) e a saída para o coletor nulo:

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

    (Se você não deseja gravar a partir da fonte padrão, altere o comando acima em conformidade.) O -800no comando acima é a mudança de tom desejado, você pode modificar esse valor como quiser, por exemplo -300, +200, +500, etc.. soxtambém tiver outros "efeitos" que não sejam a alteração de afinação, que pode ser aplicada ao áudio, você pode dar uma olhada neles man sox.

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

  5. Iniciar pavucontrol.

  6. Enquanto o programa de captura estiver tentando capturá-lo, ele será exibido na pavucontrolguia Gravação. Altere sua fonte de gravação do padrão para Monitor of Null Output .

    configurações de pavucontrol

  7. Verifique os resultados, ele deve estar funcionando.

Notas:

  1. Você pode fazer o pulseaudio carregar o coletor nulo automaticamente, se você editar o /etc/pulse/default.paarquivo e adicionar a seguinte linha ao final do arquivo:

    load-module module-null-sink
    
  2. As alterações efetuadas pavucontrolserão lembradas; portanto, na próxima vez em que você iniciar a captura do programa, ele tentará gravar automaticamente a partir do nulo. Se isso não for bom para você, basta retornar a fonte ao padrão pavucontrolquando necessário.

  3. Se você preferir o modo terminal: Você pode definir a fonte de gravação para o seu programa de captura no terminal (sem usar pavucontrol), se iniciar o programa com a PULSE_SOURCEvariável definida corretamente. Por exemplo, para iniciar a gravação do skype a partir da fonte do monitor do coletor nulo:

    PULSE_SOURCE=null.monitor skype
    
  4. Alterar o tom da sua voz não oferece uma privacidade muito boa:

    • Se o outro extremo conhece você, conhece sua voz real, você terá que alterar bastante o tom, de modo que será óbvio para o outro lado que você alterou seu som. Se ele quiser, ele pode capturar sua voz alterada e voltar ao tom. Ou o outro lado pode simplesmente ignorar / rejeitar sua ligação por razões óbvias.
    • Se o outro extremo não conhece sua voz real, bem ... Nesse caso, não há benefício real em alterar sua voz, pois eles nem conhecem a voz real.
    • Se você está tentando se proteger contra alguém que intercepta sua voz, um ataque do tipo intermediário, etc., é muito provável que esses caras mal-intencionados saibam o suficiente para recuperar seu som real de quase qualquer modificação que você fizer nele com tais softwares simples.
    • Além disso, para todos os casos acima: Quando você fala, não é apenas o som da sua voz que pode identificá-lo, mas a maneira como você fala, seu sotaque, as palavras e frases que você usa, etc.
    • Se você deseja uma maneira mais segura de comunicação por voz, use um mecanismo de conversão de texto em fala para transformar sua digitação em voz. Essa é uma maneira muito mais segura. (Claro que isso pode não ser uma possibilidade se não for possível digitar suas mensagens, por exemplo, em um jogo multiplayer.)

No entanto, esse método oferece melhor privacidade do que nenhuma privacidade. E também pode ser divertido enganar alguns amigos com uma voz alterada.


Alguma idéia de como posso aplicar um plug-in LADSPA sem usar o sox? talvez usando o mesmo coletor nulo ( askubuntu.com/questions/43950/… ). Não gosto da ideia de ter que ativar a "gravação" e canalizar isso.
braindamage

Isso é incrível e exatamente o que eu estava procurando, obrigado!
Xamox 5/11

isso também pode ser usado para alterar o tom de saída padrão, não apenas a entrada. O pavucontrol é realmente poderoso. obrigado
phil294

2
Infelizmente, ele também adiciona um atraso que parece aumentar dramaticamente ao longo do tempo
phil294

@ phil294, encontrei maneiras de reduzir significativamente a latência. Por exemplo, tente: nice -n -8 sox --buffer 2048 -c 1 -r 48000 -t pulseaudio default -t pulseaudio null pitch -800. A combinação de um nicevalor mais baixo e os -c(canais), -r(amostrador) e --buffer(o padrão é 8192 bytes (!), Veja aqui ) faz maravilhas. A contagem de canais e a amostragem devem corresponder idealmente à sua fonte. (continua ...)
Marc.2377


1

Eu também tenho procurado uma aplicação semelhante. Eu acho que encontrei uma resposta possível: LV2 e seus plugin VocProc

Eu achei isto através deste tópico dos Fóruns do Ubuntu , que também pode ser útil para você.

Também existem plugins para o Teamspeak para permitir que você edite sua voz. Pode haver outros plugins para o mumble também continuarei procurando.


@ Oli Esta é uma LOA. Remova os links e nada resta.
Pilot6

1
@ Pilot6 Eu discordo totalmente. Retire o (s) link (s) e a resposta ainda informa o nome de um aplicativo que faz o que é solicitado.
Oli
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.