Automatisch mehrere Audiodateien konvertieren (Sample- und Bitrate)

Phobik

.....
Hallo zusammen,

ich bin gerade dabei eine ganze Menge Audiofiles aus meiner Samplelibary auf SD-Karten zu exportieren, damit ich sie auf der SP404 MK2 nutzen kann. Problem ist, dass die 404 maximal 16-Bit und 48kHz verträgt. Ich würde am liebsten alle Files per Knopfdruck konvertieren und normalisieren.

Versuch 1: Alle Dateien in einzelne Ableton Live 11 Spuren geworfen, Datei>Audio/Video exportieren = Ableton ändert für leider jede einzelne Spur die Länge entsprechend des längsten Samples.

Versuch 2: Alle Dateien in einzelne Ableton Live 11 Spuren geworfen, Konsolidieren = Funktioniert, allerdings keine Dither-Optionen und wieder wird die Länge vereinheitlicht.

Versuch 3: Wie oben, Spuren Freezen und zu Audio konvertieren = leider kommen dabei immer 32-Bit heraus.



Hat jemand eine Idee und generelle Tipps, das Ganze möglichst rauscharm und verlustfrei zu gestalten?

Danke und euch ne schöne Woche :)
 
Welches Betriebssystem?
Ich mach sowas auf Apple mit dem Kommandozeilentool "sox", das gibts wohl auch für Windows.


Also als absoluter Cmd-Noob klappt es auf meinem Windows 11 Rechner, wenn ich diese Anleitung von Electronauts befolge.

Das Skript habe ich einfach mal versucht auf 16 Bit und 48 kHz zu ändern (siehe unten). Allerdings kommt zwischendurch noch die Meldung "dither clipped X Samples; decrease Volume?". Sollte da noch eine Normalisierung ins Skript? Ich habe gerade versucht selbst eine reinzuschreiben, aber ich kann diese Programmiersprache einfach nicht.
# To run: "powershell -ExecutionPolicy ByPass -File OTconvert.ps1"
# SRC AND DST MUST BE DIFFERENT
# DST CANNOT BE A SUBFOLDER OF SRC

$SRC = "D:\Tracklib\Songs Tracklib"
$DST = "D:\Tracklib\Converted Samples\s"
$gain = 1.0

If ($SRC -eq $DST) {exit}

robocopy $SRC $DST /e /xf *.*

$files = Get-ChildItem $SRC -Recurse -Filter *.wav -Name

foreach ($file in $files){
$infile = Join-Path $SRC -ChildPath $file
$outfile = Join-Path $DST -ChildPath $file
$downsample = ((sox --i -r $infile) -ne 48000)
$bitreduce = ((sox --i -b $infile) -gt 16)

iex ("sox -G -v `$gain `$infile"+" -b 16"*$bitreduce+" `$outfile"+" rate 48000"*$downsample)
Write-Host $file
Write-Host ("Copied" + ", bit depth reduced"*$bitreduce + ", downsampled" * $downsample)
}




Für Windows gäbe es da ein Freewaretool von Voxengo.


Klappt auch nicht, hängt sich jedes mal an einer anderen Stelle auf.
 
Zuletzt bearbeitet:
Aus aktuellem Anlass (bei mir):

Ich musste jetzt auch mehrere wavs konvertieren von 24bit/44.1kHz zu 16bit/44.1kHz.
Bei VLC kam immer eine Fehlermeldung, bin damit nicht klar gekommen.
CDex hat mich mal wieder gerettet. Hier war auch Direktkonvertieren möglich wav -> wav

Wollte ich nur mal erwähnen falls wieder jemand vor dem Problem steht.
 
Schau mal ob dieses schöne Programm dir weiterhilft (edit: tut es wohl eher nicht)
Das finde ich sehr übersichtlich und wurde von Forenteilnehmer @moss programmiert.

edit: ach sorry, ich war mir eigentlich sicher, dass man die Auflösung damit ändern kann,
weil das für 1010 Bitbox mit angeboten wird zum Teil, falsch erinnert.
Ist also nicht für die Problemstellung des OT. Ich lasse es mal stehen, falls jemand sowas sucht und über den Thread stolpert.

Nehme sonst dann immer extreme sample converter, aber der kostet bisschen was.
edit2: boah auch da geht nicht alles per batch, aber zumindest die Bitrate, Samplerate auch nicht.

edit2:
Mit dem Batch Converter von Reaper geht es aber! Das ist zwar auch nicht kostenlos, es sollte dir aber zustehen, deine Dateien im freien Testzeitraum von 30 Tagen zu konvertieren. Man geht in Reaper einfach auf File und dann weiter unten in der Liste auf Batch File/ Item Converter
 
Zuletzt bearbeitet:
Ich mache solche Konvertierungen zwischen allen möglichen Formaten und Einstellungen mit Foobar2k. Da kann man dann sogar VST's und allen möglichen Kram dazwischen schalten, dazu ReplayGain Normalisierung usw.
 
Ich musste jetzt auch mehrere wavs konvertieren von 24bit/44.1kHz zu 16bit/44.1kHz.
Mit sox auf Mac / Linux:

SAVEIFS=$IFS; IFS=$(echo -en "\n\b");mkdir 16bit; for FILE in `ls *wav`; do sox ${FILE} -b 16 -r 44.1k ./16bit/${FILE} dither; done;IFS=$SAVEIFS

Die einzelnen Schritte erklärt:

SAVEIFS=$IFS; IFS=$(echo -en "\n\b")
Das erlaubt Leerzeichen in den Filenamen (der Entitätstrenner wird von Leerzeichen auf Zeilenende gesetzt, zuvor wird die bisherige Einstellung gesichert)

mkdir 16bit
Es wird im aktuellen Verzeichnis ein unterverzeichnis "16bit" erstellt.

for FILE in `ls *wav`; do ... ; done
Das ist die Schleife, die durch alle Ergebnisse durch-iteriert, die mit dem Befehl "ls *wav" im lokalen Verzeichnis gefunden wurden. ls *wav listet alle WAV-Files.

sox ${FILE} -b 16 -r 44.1k ./16bit/${FILE} dither
das eigentliche Konvertierungskommando.
sox ist der Befehlsaufruf,
${FILE} ist der Dateiname der von der Schleifensteuerung übergeben wurde. Die geschweifter Klammer darum vermeidet, dass nachfolgende Kommandos eventuelle Leerzeichen im Dateinamen fehlinterpretieren
-b 16 konvertiert auf 16Bit
-r 44.1k konvertiert auf 44.1kHz (wenn das File vorher schon 44.1 war, ändert sich nichts)
./16bit/${FILE} speichere die Datei im Verzeichnis 16bit unter dem Dateinamen ab, der vorher übergeben wurde.
dither dithert beim herunterskalieren. Wenn man das nicht will, dann statt "dither" die Option "-D" angeben.

IFS=$SAVEIFS
setze die Entitätstrenner wieder auf den vorherigen Wert.

Ich hole das übrigens nicht aus der Anleitung oder sonstwo raus, sondern ich google einfach "sox convert 24 bit to 16 bit". Das mit dem IFS ist etwas, das ich als Unix-Benutzer kenne.
 
Zuletzt bearbeitet:
Sofern die Konvertierungsqualität für Dich eine Rolle spielt, empfehle ich die Pro-Version des bereits genannten Voxengo Plugin "r8brain". Empfiehlt der gute Bob Katz neben "Barbabatch" von AudioEase und "Saracon" von Weiss immer wieder gerne.
 
R8brain hatte ich probiert, sah für mich so aus als wenn man da nicht mehrere Dateien in einem Ordner auswählen kann.
 
R8brain hatte ich probiert, sah für mich so aus als wenn man da nicht mehrere Dateien in einem Ordner auswählen kann.
Doch, doch... das geht, schau' u.a. mal hier: https://www.voxengo.com/product/r8brainpro/features/

Was mich ärgert: Es gibt keine Einstellung, die bei der Konvertierung aus einem Stereofile eine Monoversion macht. Diese Option fehlt schlichtweg. Ich hatte Aleksey diesbezüglich auch schon kontaktiert... seine Antwort war recht desinteressiert leider. Na ja, kann man mit einem Tool wie z.B. StereoMonoizer im Vorfeld per Batch erledigen... kostet halt noch einmal 50 EUR.


Oder man investiert direkt in die Lösung von AudioEase... die Holländer haben das Thema SRC gut gelöst ;-)

 


Neueste Beiträge

News

Zurück
Oben