Usando sox para gerar um sinal de onda quadrada

0

Eu tenho um script ( link ) que usa o sox para gerar uma forma de onda a partir de uma série de "pulsos" e "pulsos" espaços "gerados pelo lirc a partir de um controle remoto. O script cria uma onda senoidal de 19kHz para os pulsos e "silêncio" para os espaços.

Eu gostaria de converter o arquivo de onda resultante em dados digitais (onde os pulsos (e seu comprimento) marcam um e os espaços um zero. Como isso é on-off-keying, existem várias ferramentas para fazer isso para mim O problema é que essas ferramentas exigem que elas sejam "volume máximo", em vez de uma onda senoidal.

Minha pergunta é: o que posso usar com o sox para gerar períodos de "volume alto"? Como a opção "pad", mas produzindo o volume máximo em vez de 0?

    
por user39049 02.05.2017 / 10:27

1 resposta

2

Eu consegui descobrir. Eu usei o quadrado em vez do seno, como sugeriu @dirkt, mas tive que diminuir a frequência da onda quadrada o suficiente para que um período "quadrado" fosse maior do que o meu maior comprimento de bit. Eu tentei uma onda quadrada de 10Hz e aqui está o diff:

<       SOX_OPT="${SOX_OPT} synth ${LEN}s square 10 0 0" # square wave 10Hz
---
>       SOX_OPT="${SOX_OPT} synth ${LEN}s sine 19k 0 0 sine 19k 0 50" # sine wave 19kHz 2ch phase shift

Os resultados são assim:

  • onda senoidal modulada:

  • sinalquadrado:

por 03.05.2017 / 08:56

Tags