Pessoal,

Eu estava gravando minhas ligações em formato GSM, mas como o famigerado do
Windows já vem com o Windows Media Player e o mais famigerado ainda do
usuário gosta dele, eu estava tendo algumas dificuldades para que este tipo
de arquivo fosse lido pelo WMP.

Em busca da compatibilidade eu fiz o seguinte: Adaptei um script que
convertia as gravações de WAV para OGG
(http://www.zlabinger.at/asterisk/2wav2mp3), para que ele pudesse converter
as minhas gravações de GSM para WAV. Com isso, os arquivos continuam
pequenos e agora COMPATIVEIS.

Tenho pouquíssima habilidade em Shell Script, mas está funcionando :-)

Segue o script para compartilhamento. 

Qualquer sugestão é bem vinda. 

Cordialmente, 

Moacir O. de Souza Junior
Belo Horizonte - Minas Gerais - Brasil
#!/bin/sh -v
# 2gsn2wav - Cria um arquivo WAV a partir de dois aruqivos GSM (IN e OUT)
#
# 2007 06 26 Modificado por Moacir - Baseando-se em 
http://www.zlabinger.at/asterisk/2wav2mp3
#
# uso: 2gsm2wav <gsm1> <gsm2> <wav>
# Desenvolvido para Asterisk Monitor(gsm,${PathCompletoArquivoGravacao},m) 
#
# extensions.conf:
#
# [globals] 
# MONITOR_EXEC/usr/local/bin/2gsm2wav

# Caminho do aplicativo SOX (Usado para converter o arquivo para WAV)
SOX=/usr/bin/sox
# Caminho do aplicativo SOXMIX (Usado para juntar os dois arquivos IN/OUT)
SOXMIX=/usr/bin/soxmix


# Variaveis da Linha de Comando - Parametros
ArquivoGSM1="$1"
ArquivoGSM2="$2"
ArquivoWAVSaida=`echo $3|sed s/.wav//`

#Log das operacoes
echo $1 $2 $3 >>/var/log/asterisk/Log_Conversao_2gsm2wav.log


#Verifica se os arquivos passados como parametros existem
test ! -r $ArquivoGSM1 && exit
test ! -r $ArquivoGSM2 && exit

#Ajusta o Balanço para  -1/1, converte o arquivo de mono para stereo
# Arquivo 1
/bin/nice -n 10 $SOX $ArquivoGSM1 -c 2 -t wav $ArquivoGSM1-tmp.wav pan -1
# Arquivo 2
/bin/nice -n 10 $SOX $ArquivoGSM2 -c 2 -t wav $ArquivoGSM2-tmp.wav pan 1

#Este bloco de codigo faz um "substring" mno caminho do arquivo, para retirar a 
extensão ".gsm" 
#Como não tenho muito conhecimento em scripts, foi a forma que eu conseguir 
fazer.
Tamanho=${#ArquivoWAVSaida}
Tamanho=$(($Tamanho-5))
ArquivoWAV=$(echo ${ArquivoWAVSaida:1} |cut -c1-${Tamanho})

#Executa o SOXMIX para juntar os dois arquivos (IN e OUT) em apenas um arquivo 
WAV.
/bin/nice -n 10 $SOXMIX -v 1 -t wav $ArquivoGSM1-tmp.wav -v 1 -t wav 
$ArquivoGSM2-tmp.wav -v 1 -t wav $ArquivoWAV.wav

#Remove os arquivos temporarios
test -w $ArquivoGSM1-tmp.wav && rm $ArquivoGSM1-tmp.wav
test -w $ArquivoGSM2-tmp.wav && rm $ArquivoGSM2-tmp.wav
#Remove os arquivos .gsm (IN e OUT)
test -w $ArquivoGSM2 && rm $ArquivoGSM2
test -w $ArquivoGSM1 && rm $ArquivoGSM1
_______________________________________________
LIsta de discussões AsteriskBrasil.org
AsteriskBrasil@listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Acesse o  wiki AsteriskBrasil.org:
http://www.asteriskbrasil.org

Responder a