• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]midi-Dateien speichern mp3 mit TiMidity

nobody31

Member
Hallo,

meine Frau spielt im Posaunen-Chor und möchte midi-Dateien als mp3-Daten speichern, um sie auf dem mp3-Player abspielen zu können.
Mit TiMidity++ lassen sich die midi-Files zwar abspielen, aber wir bekommen sie nicht als mp3 abgespeichert.

Weiss jemand Rat/Hilfe mit dem Programm (oder einem Anderen)??
Am Wochenende müssen die Stücke vorgeführt werden; eilt also etwas, da sie noch einstudiert werden müssen.

Danke vorweg.
 

lOtz1009

Moderator
Teammitglied
Als Schnelllösung könntest du mit einem Aufnahmeprogramm (Audacity o.ä.) einfach den Output deines Sounddevices aufnehmen ;)
 
So, hier ist es:

Code:
#!/bin/bash

## vermittels timidity und lame eine MIDI-Datei nach MP3 konvertieren

if [ "$1" == "" ]
then
    echo
    echo "--> Keine Quelldatei angegeben!"
    echo "   --> Abbruch..."
    exit 1
fi

echo
echo "--> Start des Auslesens der MIDI-Datei..."
echo "    Dabei muss die Datei komplett gespielt werden,"
echo "    um den Inhalt in eine Audio-Datei (WAV) zu"
echo "    streamen. Das kann etwas dauern, je nach"
echo "    Abspiellänge der kompletten MIDI-Datei."
echo
echo "    Anschliessend folgt die Konvertierung zu mp3."
echo

timidity -Ow -o midi2mp3_tmp.wav "$1"

echo
echo "--> Fertig. \"Lame\" wird gestartet.."

echo
lame --scale 2 midi2mp3_tmp.wav && rm midi2mp3_tmp.wav
mv midi2mp3_tmp.wav.mp3 "$1.mp3"

echo
echo "--> Fertig."
echo
 
Wenn es danach geht, benötigt man nie ein Skript, die Dinger dienen grundsätzlich zur Automatisierung häufig verketteter Kommandos - also schlicht der Bequemlichkeit. Ich hatte das Ding halt hier noch rumfliegen und finde es recht praktisch.
 

lOtz1009

Moderator
Teammitglied
Du rufst das Skript mit Angabe der Mididatei auf :roll:
Speicher das Skript einfach in eine Datei namens "midiconvert", mach es mit chmod +x midiconvert ausführbar und dann einfach mit
Code:
./midiconvert mididatei.mid
ausführen.
 
Man kann das Ding auch einfach in $PATH reinwerfen (dazu eignet sich der Pfad /usr/local/bin/ wohl am besten) und kann das dann etwas bequemer aufrufen, etwa

Code:
midiconvert /pfad/zu/einer/mididatei.mid

Wie man das Skript nennt, ist völlig natürlich wurscht. Bei mir heißt es 'midi2mp3'.
 
Oben