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

Sebastião Rocha sebastiaorocha em interlinksistemas.com.br
Quarta Outubro 1 18:15:23 BRT 2008


Gostaria de pedir desculpas a todos na lista, recebi um e-mail informando que o script não estava funcionando bem, então percebi que havia enviado uma versão antes da versão final. Efetuei um teste agora e estou reenviando.

Gostaria tambem de informar que logo após a sugestão de um amigo da lista, Wagner Oliveira falando sobre o uso de TTS ( Texto para fala ) no tópico Pegando o que o usuário digita. Não sendo com o Read(), fiz o download do software mencionado "Loquendo" com a vox de uma mulher, sensacional, com ele vc pode fazer todos os sons para usar no asterisk, digitando a frase e mandando salvar como wav!

Wagner, o contexto é outro, mas Obrigado pela dica.. sensacional mesmo! ter minhas falas personalizadas!

#!/bin/bash

# Converte todos os arquivos de audio na pasta do asterisk, de um formato a outro
# utilizando o proprio asterisk na conversao
 
# autor:      Sebastiao Rocha Pimenta
# criado:     10/09/2008
# modificado: 11/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
# 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 pode ser publicado livremente em paginas ou forums na internet, desde que mantenha os creditos do autor.
 
# Para utilizar o script.
# de permissao de scrita ao script: chmod +x nome do script
# para converter de wav a g729, digite na linha de comando: ./nomedoscript
# 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"

if [ "$1" != "" ]; then
  srcformat=$1;
fi

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

echo "Localizando arquivos a converter..."
for src in `find /usr/share/asterisk/sounds/* -print`; do
  
  # Verifica se arquivo, pastas nao!
  if [ -f $src ]; then
    
    # Verifica se esta no formato de origem ( srcformat )
    # para efetuar a conversao, ignorando os demais.
    test=`echo $src | grep $srcformat`
  
    if [ ! "$test" = ""  ]; 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.      
      if [ ! -f $dst ]; then             
        #echo "Convertendo: $src para $dst"   
        echo ""
        asterisk -rx "file convert $src $dst"        
      fi

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

echo "Concluido!"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20081001/c1a55254/attachment-0001.htm 


More information about the AsteriskBrasil mailing list