você está aqui: Home  → Arquivo de Mensagens

Gerando em tempo real efeito de voz robotizada.

Colaboração: Alessandro de Oliveira Faria

Data de Publicação: 13 de Outubro de 2004

Já imaginou falar próximo ao microfone e modificar em tempo real a sua voz? E com tal recurso torna-la semelhante a de Darth Vader em Guerra nas Estrelas!

Introdução

O software ecamegapedal permite a execução de feitos em tempo real do audio oriundo da entrada de sua placa de som. Neste tutorial apresentarei conceitos básicos, porém o suficiente para exploração dos recursos deste pacote.

Para efeito de exemplo do potencial deste software, segue abaixo 2 links no formate wave. O primeiro contém a frase Viva o Linux gerada com um simples microfone no programa record em modo consola. O segundo é o resultado do arquivo submetido aos efeitos do software ecamegapedal.

Antes

Depois

Download e instalação

Apontarei o download para a versão presente na distribuição Suse 9.1 Professional. Mas ressalto que existe versões mais recentes disponível para download. Para efetuar o download e instalação, basta seguir o exemplo dos comandos abaixo:

  $ ~/Temp> wget http://mirrors.xtria.com/suse/i386/9.1/suse/i586/ecamegapedal-0.4.3-180.i586.rpm
  $ ~/Temp> rpm -ivh ecamegapedal-0.4.3-180.i586.rpm

ATENÇÃO: Este tutorial parte da premissa que sua placa devida mente instalada e configurada em /dev/dsp!

Gerando áudio em disco:

Primeiramente vamos criar um arquivo wave em disco e aplicar os efeitos de Phaser (efeito para robotizar o som) e Amplify (ajuste de volume).

Gravaremos o áudio gerado na entrada de microfone da sua placa de som. Particularmente usei o programa record no modo console. Vale a pena mencionar que não será gerado nenhum impacto neste tutorial se outro software de sua preferência for utilizado para criação do arquivo. Wav.

Para entrar em modo de captura do áudio, utilize o comando abaixo:

  $ ~/Temp> record

A tela adquirida será semelhante a ilustração abaixo:

Não entrarei em detalhes de funcionamento deste utilitário. Basta pressionar a barra de espaço para iniciar e parar a gravação do audio em disco (arquivo wave). Finalizando, basta pressionar a tecla Q para voltar ao shell.

Se a operação foi completada com sucesso, o arquivo record000.wav estará presente o diretório corrente. Para reproduzir o arquivo, execute o comando abaixo:

  $ ~/Temp> playsound record000.wav
  Now playing [record000.wav]...
  $ ~/Temp>

Aplicando efeitos:

Agora vamos incorporar os efeitos sonoros no arquivo .wav. Em primeiro lugar, devemos executar o ecamegapedal informando o dipositivo/arquivo de entrada e saída. Para tal ação, basta executar o comando abaixo:

  $ ~/Temp> ecamegapedal record000.wav teste-1.wav
  
  JACK compiled with POSIX SHM support

A tela será semelhante a ilustração seguinte:

Na aba Chain operators, selecione o item Phaser e ajuste os parametros conforme a imagem acima ou a tabela abaixo:

  delay-time-msec : 6
  variance-time-samples : 0
  feedback-% : 95
  ifo-freq : 0

Reparem que o arquivo de entrada deve estar apontando para record000.wav e o arquivo de saída deverá ser teste-1.wav. Para aplicar o efeito e gerar um novo arquivo, pressione o botão begin, start, stop e quit confome a ilustração abaixo:

Pressionado o botão quit voltaremo ao shell, assim podendo reproduzir o novo arquivo gerado. Para isto, siga o exemplo abaixo:

  $ ~/Temp> playsound teste-1.wav
  Now playing [teste-1.wav]...

No meu caso o efeito foi gerado com sucesso, porém o volume estava muito baixo comparado ao arquivo original. Para normalizar o volume, segui os procedimento abaixo:

  $ ~/Temp> ecamegapedal teste-1.wav vivaolinux.wav

Agora selecione na aba Chain operators o item Amplify e com os valores conforme a ilustração abaixo:

Repita as seqüências de pressionamento dos botões begin, start, stop e quit para gerar um novo arquivo de wave com o volume amplificado.

Após as operações acima, vamos reproduzir o resultado:

  $ ~/Temp> playsound vivaolinux.wav
  Now playing [vivaolinux.wav]...
  $ ~/Temp>

Aplicando efeitos em tempo real:

Todos os ítens da aba Chain operators podem ser executados em tempo real interagindo com o audio de entrada da sua placa de som (em nosso caso o microfone). Para ral façanha, basta executar o comando abaixo:

  $ ~/Temp> ecamegapedal /dev/dsp /dev/dsp

Neste momento bastar ajustar o efeito e configurar os respectivos parâmetros. Pois como o dispositivo de entrada e saída é o placa de som ( /dev/dsp ), todo áudio de entrada será processado com o efeito selecionado e reproduzido na saída da placa se com especificada.

Bom divertimento.



 

 

Veja a relação completa dos artigos de Alessandro de Oliveira Faria

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script