[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian]:WAV normalisieren, bzw. Shell-Frage



Hallo Marko,

Du schriebst am Montag, den 04. Oktober 1999:

>    sox -v `sox in.wav -e stat -v 2>&1` -V in.wav out.wav

Das war's, vielen Dank. Da sox leider trotz korrekt angebenem Volume
in einigen Fällen dazu neigt, doch einige Samples zu clippen, habe ich
dann versucht, 5% von dem angebenen Volume abzuziehen und dabei
gemerkt, daß die Shell nur Integer rechnen kann :-)

Eine Suche auf deja brachte dann die notwendigen Tips, es mit bc, dc,
awk, perl, etc. zu versuchen, falls jemand mp3 encodiert, ist er
möglicherweise an meinem (jetzt dank Dir funktionierendem Script)
interessiert (vermutlich kann man da noch einiges besser dran machen)
;-)

#!/bin/sh
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
if test -n "$1"; then
  bps=$1
else 
  bps=160000
fi
for file in *.wav
  do [ -e "$file" ] || continue
    echo -n "probing volume ... "
    vol=$(sox "$file" -e stat -v 2>&1)
    echo -n "found $vol ... "
    #vol=$(echo $vol | sed -e 's/\.//')
    vol=$(echo "scale=0; $vol*1000/1" | bc -l)
    if test $vol -gt 1300; then
      vol=$(echo "scale=3; $vol*0.95/1000" | bc -l)
      echo "calling sox, adjusting volume to $vol"
      mv "$file" tmp.wav
      sox -v $vol tmp.wav "$file"
      rm tmp.wav
    else
      echo "loud enough, exiting."
    fi
    nice -n 19 \
    mp3enc -v -br $bps -qual 9 -if "$file" -of "`basename "$file" .wav`".mp3
  done

Waren nur 27 Zeilen, daher hoffe ich, daß niemand böse ist, ich bin ja
soooo stolz :-)))

Viele Grüße   Frederick


------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     739


Reply to: