Gibt es die hörbert-Software auch für Linux?

Derzeit gibt es keine hörbert-Software für Linux, aber jede Menge Tipps:

Konvertieren von Audio mit sox

Die Audiodateien müssen im Format WAV mit 32 KHz Samplerate, 16 Bit, Mono vorliegen.

Mit dem Tool ’sox’ kannst Du die folgende Kommandozeile für die Konvertierung verwenden.
Welche Dateien Dein ’sox’-Programm lesen kann, hängt von den eincompilierten Optionen ab.

sox --buffer 131072 --multi-threaded --no-glob inputFileName --clobber -r 32000 -b 16 -e signed-integer --no-glob outputFilename.WAV remix - gain -n -1.5 bass +1 loudness -1 pad 0 0 dither

 

Bash script

Einer unserer Kunden hat ein Script geschrieben, das sich auch um mehrere Dateien kümmern kann.

Das Script kannst Du gerne benutzen oder anpassen, wenn Du möchtest. Wir geben aber keine Garantie auf Funktionstüchtigkeit oder Fehlerfreiheit.

 

#!/bin/bash
# script by flo, 2017

function convert_dir {
    idx=0
    srcdir=`ls "$1" | grep "^$3"`
    if [ "$srcdir" != "" ]; then
if [ -d "$2/$3" ]; then
    rm -rf "$2/$3/*"
else
    mkdir "$2/$3"
fi

idx=0
declare -a pids

echo "Directory '$1/$srcdir'.."

cd "$1/$srcdir"
for f in *; do
    echo "  converting '$f'.."
    sox --buffer 131072 --multi-threaded --no-glob "$f" --clobber -r32000 -b 16 -e signed-integer --no-glob "../../$2/$3/$idx.WAV" remix - gain -n -1.5 bass +1 loudness -1 pad 0 0 dither &
    pids[$idx]=$!
    idx=$(($idx+1))
done
cd - >/dev/null

# wait for processes to finish
for pid in ${pids[*]}; do
    echo -en "\r  waiting for $idx background processes to finish.. "
    wait $pid
    idx=$(($idx-1))
done
echo "done."
unset pids
    fi
}

if [ ! $# -eq "2" ]; then
    echo "Usage: $0  "
    exit 1
fi

if [ ! -d "$2" ]; then
    # create destination directory if not exists
    mkdir "$2"
fi

for i in `seq 0 8`; do
    convert_dir "$1" "$2" $i
done

echo "Final output size: `du -sh --si "$2" | sed 's/\t.*//'`"
2 Kommentare
  1. Hallo,

    da ich auch hauptsächlich Linux Benutzer bin wollte ich noch anmerken das in dem Linux Script noch ein Typo drin ist ;)

    IST:
    if [ „$srcdir“ != “ ]; then

    SOLL:
    if [ „$srcdir“ != „“ ]; then

    Dann läuft das Script auch.

    Da Sox leider kein AAC als Eingabe mehr unterstützt habe ich es auf FFMPEG umgestellt da wäre der Aufruf

    Ansonsten tut es was es soll mit dem Aufruf

    ./convert_dir „SourceDirectory“ „TargetDirectory“

    Viele Grüsse

    1. Stimmt, sorry.
      Ich habe es korrigiert.
      Leider hat die Kommentarfunktion den ffmpeg-Aufruf „gefressen“. Tatsächlich kann ffmpeg auch noch viel mehr formate, und unsere nächstes großes hörbert-Software-Release wird auch auf ffmpeg basieren.
      Was ich so von ffmpeg weiß ;-) dürfte die command line etwa so aussehen:
      ffmpeg -i [inputFileName] -vn -y -acodec pcm_s16le -ac 1 -ar 32000

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.