Advertisement
Guest User

audio2voip.sh

a guest
Jan 13th, 2016
472
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.63 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #
  4. #                  audio2voip v1.0
  5. # Conversor de áudio para formatos VoIP do Asterisk
  6. #
  7.  
  8. # Imprime versão:
  9. echo -e "\033[1;37maudio2voip\033[1;0m v1.0 - by Ernani Azevedo <azevedo@intellinews.com.br>"
  10. echo
  11.  
  12. # Verifica se foi informado um parâmetro:
  13. if [ "$#" != 1 ]; then
  14.   echo "Erro: Você deve informar um arquivo no formato WAV ou MP3 (extensão \"wav\" ou \"mp3\")!"
  15.   exit 1
  16. fi
  17.  
  18. # Verifica se o arquivo informado é formato WAV ou MP3:
  19. if [ "${1##*.}" != "wav" -a "${1##*.}" != "mp3" ]; then
  20.   echo "Erro: Você deve informar um arquivo no formato WAV ou MP3 (extensão \"wav\" ou \"mp3\")!"
  21.   exit 1
  22. fi
  23.  
  24. # Verifica se arquivo informado existe e é acessível:
  25. if [ ! -f "${1}" ]; then
  26.   echo "Erro: Não foi possível acessar o arquivo \"${1}\"!"
  27.   exit 1
  28. fi
  29.  
  30. echo "Convertendo \"${1}\" para formatos VoIP"
  31. if [ "${1##*.}" = "mp3" ]; then
  32.   echo -n -e "${1} -> ${1/.mp3/.wav} "
  33.   lame --decode "${1}" "${1/.mp3/.wav}" 1>/dev/null 2>&1
  34.   if [ $? -ne 0 ]; then
  35.     echo "Erro!"
  36.     exit 2
  37.   fi
  38.   echo "OK"
  39. fi
  40. echo -n -e "${1/.mp3/.wav} -> ${1/.mp3/.ulaw} "
  41. sox -V "${1/.mp3/.wav}" -r 8000 -c 1 -t ul "${1/.mp3/.ulaw}" 1>/dev/null 2>&1
  42. if [ $? -ne 0 ]; then
  43.   echo "Erro!"
  44.   exit 2
  45. fi
  46. echo "OK"
  47. echo -n -e "${1/.mp3/.wav} -> ${1/.mp3/.alaw} "
  48. sox -V "${1/.mp3/.wav}" -r 8000 -c 1 -t al "${1/.mp3/.alaw}" 1>/dev/null 2>&1
  49. if [ $? -ne 0 ]; then
  50.   echo "Erro!"
  51.   exit 2
  52. fi
  53. echo "OK"
  54. echo -n -e "${1/.mp3/.wav} -> ${1/.mp3/.gsm} "
  55. sox -V "${1/.mp3/.wav}" -r 8000 -c 1 -t gsm "${1/.mp3/.gsm}" 1>/dev/null 2>&1
  56. if [ $? -ne 0 ]; then
  57.   echo "Erro!"
  58.   exit 2
  59. fi
  60. echo "OK"
  61. echo
  62. echo "Concluído!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement