#!/bin/bash
#
. /usr/local/bin/banner || exit 1
#
origem=/mp3/
#/media/
#
destino=/tmp/novo_mp3_normalize/
#
clear
#
cd ${origem}
#
IFS=$(echo -en "\n\b")
#
if [[ -d ${destino} ]]; then
   msg "${bama}Diretorio de Destino.: ${ver}${destino} ${bbra}'${bcia}Ja Existe${bbra}!'";tm=0
   echo
else
   msg "${bama}Diretorio de Destino${ver} Não Existe!${bbra} Criando.: ${bcia}${destino}";tm=0
   echo
   mkdir -p ${destino}
fi
#
msg "${bbra}Lendo a lista de Arquivos a serem processados!";tm=0
echo
#
for fp in *.mp2 *.mp3 *.aac *.ac3 *.m4a *.ogg *.wav; do
    if [[ -f ${fp} ]]; then
       DBLEVEL=$(ffmpeg -i ${fp} -af "volumedetect" -f null /dev/null 2>&1 | grep max_volume | awk -F ': ' '{print $2}' | cut -d ' ' -f1)
       msg1="${bbra}Processando o Arquivo.: ${bbra}'${bcia}${fp}${bbra}'"
       msg2="${bbra}Verificando o Volume em ${bved}dB${bbra}!"
       msg3="${bama}>>>${ver} AGUARDE${bbra}! ${bama}<<<"
       msg $msg1 $msg2 2
       msg $msg3 3
       if  (( $(echo "${DBLEVEL} < 0" | bc -l) )); then
          if (( $(echo "${DBLEVEL} > -0.5" | bc -l) )); then
             msg "${bama}Ja esta no Nivel ${bbra}'${bved}Aceitavel${bbra}'${bama} de -->${bbra} '${DBLEVEL}dB!'" 1
             echo
          else
             DB=$(echo "${DBLEVEL}" | cut -c 2-6)
             msg1="${bama}Corrigindo o Volume --> ${bbra}'${ver}${fp}${bbra}'"
             msg2="${bbra}Nivel de '${bved}dB${bbra}'.: ${ver}${DBLEVEL}"
             msg $msg1 $msg2 1
             echo
#             ffmpeg -y -i ${fp} -af "volume=${DB}dB" -c:a libmp3lame -sample_fmt s16p -ac 2 -b:a 128k -ar 44100 ${destino}${fp} > /dev/null 2>&1
          fi
       else
          msg "${bama}Ja esta no Nivel de -->${bbra} '${DBLEVEL}dB!'" 1
          echo
       fi
       tm=0
    fi
done
