Mixando logs do Asterisk (ou quaisquer arquivos de áudio)
Dica publicada em Linux / Miscelânea
Mixando logs do Asterisk (ou quaisquer arquivos de áudio)
O programa de VoIP Asterisk tem a possibilidade de gravar os registros das ligações feitas por ele, porém para cada ligação ele grava arquivos separados, para a voz de entrada e a voz de saída. Por exemplo:
$ ls *.WAV
comercial-1198760626.203-in.WAV
financeiro-1198764768.328-in.WAV
suporte-1198766259.346-in.WAV
comercial-1198760626.203-out.WAV
financeiro-1198764768.328-out.WAV
suporte-1198766259.346-out.WAV
[...]
Gostaria de realizar um treinamento com estes áudios aqui na empresa, portanto precisávamos juntar os áudios. Para isto, utilizamos o Sox. Instale usando o gerenciador de pacotes da sua distribuição ou a partir do código fonte, no caso do Ubuntu que estou utilizando o procedimento foi:
$ sudo apt-get install sox
Feito isto, vamos para a conversão em si. Tentando mixar os dois arquivos de cara, não obtive sucesso, talvez por causa do codec GSM no container WAV. Pois bem, vamos converter então os áudios para OGG. A sintaxe é:
$ sox arquivo-de-entrada -o arquivo-de-saida
Ou, mais especificamente:
$ sox suporte-1198766259.346-in.WAV -o `basename \
suporte-1198766259.346-in.WAV WAV`OGG
Este comando, basename, serve para trocar a extensão do arquivo.
Assim, como gostaria de converter todos de uma vez:
$ for i in *.WAV ; do sox $i -o `basename $i WAV`OGG ; done ; rm *.WAV
E, para mixá-los, a sintaxe é semelhante:
$ sox -m arquivo-de-entrada-1 arquivo-de-entrada-2 [...] arquivo-de-saida
No caso, num loop:
$ for i in `ls | grep "\-in"` ; do echo sox -m $i `basename $i \
in.OGG`out.OGG `basename $i -in.OGG`.ogg; done ; rm *.OGG
$ ls *.WAV
comercial-1198760626.203-in.WAV
financeiro-1198764768.328-in.WAV
suporte-1198766259.346-in.WAV
comercial-1198760626.203-out.WAV
financeiro-1198764768.328-out.WAV
suporte-1198766259.346-out.WAV
[...]
Gostaria de realizar um treinamento com estes áudios aqui na empresa, portanto precisávamos juntar os áudios. Para isto, utilizamos o Sox. Instale usando o gerenciador de pacotes da sua distribuição ou a partir do código fonte, no caso do Ubuntu que estou utilizando o procedimento foi:
$ sudo apt-get install sox
Feito isto, vamos para a conversão em si. Tentando mixar os dois arquivos de cara, não obtive sucesso, talvez por causa do codec GSM no container WAV. Pois bem, vamos converter então os áudios para OGG. A sintaxe é:
$ sox arquivo-de-entrada -o arquivo-de-saida
Ou, mais especificamente:
$ sox suporte-1198766259.346-in.WAV -o `basename \
suporte-1198766259.346-in.WAV WAV`OGG
Este comando, basename, serve para trocar a extensão do arquivo.
Assim, como gostaria de converter todos de uma vez:
$ for i in *.WAV ; do sox $i -o `basename $i WAV`OGG ; done ; rm *.WAV
E, para mixá-los, a sintaxe é semelhante:
$ sox -m arquivo-de-entrada-1 arquivo-de-entrada-2 [...] arquivo-de-saida
No caso, num loop:
$ for i in `ls | grep "\-in"` ; do echo sox -m $i `basename $i \
in.OGG`out.OGG `basename $i -in.OGG`.ogg; done ; rm *.OGG
Na realidade é mais um dúvida do que uma contribuição.
Poderia postar aqui o script de configuração que faz com que o asterisk gere os arquivos neste formato.
Estamos com dificuldades, pois aparentemente o linux não esta reconhecendo o formato dos arquivos nem .MP3/.WAV
Desde já grato pela contribuição.
Abraços.
Diego Silva