[AsteriskBrasil] Convesao automatica dos arquivos de audio ( Script )

Sebastião Rocha sebastiaorocha em interlinksistemas.com.br
Quarta Outubro 1 09:56:11 BRT 2008


Gostaria de compartilhar com o pessoal da lista o script que fiz para conversão de audio de um formato a outro.

Fiz o script para uso proprio, porem percebo que algumas pessoas da lista necessitam e estou compartilhando, bom uso aos que necessitam. 

#!/bin/bash
 
# Converte todos os arquivos de audio na pasta do asterisk, de um formato a outro
# utilizando o proprio asterisk na conversao

# autor:     Sebastião Rocha Pimenta
# criado:    10/09/2008

# Pastas corretas para armazenamento dos arquivos de audio
# Base:        /usr/share/asterisk/sounds/pt_BR
# Letras:    /usr/share/asterisk/sounds/letters/pt_BR
# Digitos:    /usr/share/asterisk/sounds/digits/pt_BR

# Mantendo os arquivos de audio nas pastas indicadas, a caixa de mensagens estará
# com a gramatica corrigida, para isto utilize o language=pt_BR tanto no config dos ramais
# quanto no config do voicemail e demais onde requer o language.

# Este script poderá ser publicado livremente em páginas ou forums na internet, desde que mantenha os creditos do autor.

# Para utilizar o script.
# dê permissão de scrita ao script: chmod +x nome do script
# para converter de wav a g729, digite na linha de comando: ./nomedoscript wav g729
# para converter de wav a gsm, digite na linha de comando: ./nomedoscript wav gsm
# para converter de gsm a g729, digite na linha de comando: ./nomedoscript gsm g729

srcformat="wav"
dstformat="g729"

# Verifica se foi passado parametro para origem
if  [ "$1 != "" ]; then
    srcformat=$1
fi

# Verifica se foi passado parametro para destino
if  [ "$2 != "" ]; then
    dstformat=$2
fi

sons="/usr/share/asterisk/sounds/"
tarfile="/asterisk-core-sounds-br-$dstformat-1.4.21.tar.gz"

cd $sons
rm $tarfile -Rf


for src in `find /usr/share/asterisk/sounds/* -print`; do
   
  # Verifica se esta no formato de origem ( srcformat )
  # para efetuar a conversao, ignorando os demais.
  test=`echo $src | awk '{ print index($0,"wav")}'`  
  if [ ! $test = "0" ]; then    
    # muda a extensao para a extens de destino
    dst=`echo $src | sed -e "s/wav/$dstformat/g"`

    # usa o asterisk para converter o arquivo para o formato indicado
    # apenas caso o arquivo de destino nao exista!
    # evita perda de tempo ao converter apenas 1 novo arquivo.
    #echo "Convertendo: $src para $dst"
    if [ ! -f new ]; then
      asterisk -rx "file convert $src $dst"
    fi

    # Gerar um arquivo tar.gz contendo os arquivos no formato destino
    if [ ! -f $tarfile ]; then   
      tar -C / --verbose --preserve-permissions --create --file=$tarfile ${src:1}
    else
      tar -C / --verbose --preserve-permissions --append --file=$tarfile ${src:1} 
    fi 
  fi
done

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20081001/48b07827/attachment.htm 


More information about the AsteriskBrasil mailing list