#!/bin/bash
#
origem=/tmp/novo_mp3/
#media/
#
destino=/tmp/novo_mp3_normalize/
#
source ./cores
#
clear
#
if [[ -d ${destino} ]]; then
    echo -e "Diretorio de Destino$cbved Ja Existe!$cbbra"$cfim
    echo
else
    echo -e "Diretorio de Destino$cver Não Existe!$cbbra Criando.: $cbved${destino}"$cfim
    mkdir -p ${destino}
    echo
fi
#
cd ${origem}
#
IFS=$(echo -en "\n\b")
#
for fp in *.mp2 *.mp3 *.aac *.ac3 *.m4a *.ogg *.wav; do
    if [[ -f ${fp} ]]; then
       echo -e $cbbra"Processando o Arquivo.: $cbbra'$cbcia${fp}$cbbra'"$cfim
       echo -e $cbbra"Verificando o Volume em ${cbved}dB${cbbra}! ${cbama}>>> AGUARDE <<<$cbbra"$cfim
       DBLEVEL=$(ffmpeg -i ${fp} -af "volumedetect" -f null /dev/null 2>&1 | grep max_volume | awk -F': ' '{print $2}' | cut -d' ' -f1)
       if (( $(echo "${DBLEVEL} < 0" | bc -l) )); then
          if (( $(echo "${DBLEVEL} > -0.5" | bc -l) )); then
             echo -e $cbama"Ja esta no Nivel $cbbra'${cbved}Aceitavel$cbbra'$cbama de -->$cbbra '${DBLEVEL}dB!'"$cfim
             echo
          else
             DB=$(echo "${DBLEVEL}" | cut -c 2-6)
             BITRATE=$(ffmpeg -i ${fp} 2>&1 | grep Audio | awk -F', ' '{print $5}' | cut -d' ' -f1)
             echo -e $cbved"### Corrigindo o Volume do Arquivo ### --> $cbbra'$cver${fp}$cbbra'"$cfim
             echo -e $cbbra"Nivel de '${cbved}dB${cbbra}'.: $cver${DBLEVEL}"$cfim
             sleep 2
             ffmpeg -i ${fp} -af "volume=${DB}dB" -c:a libmp3lame -ac 2 -b:a 128k -ar 44100 ${destino}${fp}
             echo
          fi
       else
          echo -e $cbama"Ja esta no Nivel de -->$cbbra '${DBLEVEL}dB!'"$cfim
          echo
       fi
    fi
done
