Hallo alle zusammen,
Was ich möchte:
Text in mp3 wandeln g
Was schon geht:
Text in wav Dateien wandeln, und wav Dateien in mp3 wandeln
Sprich sowohl mbrola/txt2pho laufen als auch der lame encoder läuft für
sich selbst perfekt.
Was nicht geht:
Wenn ich lame anweise keine direkte wav datei zu wandeln sondern in
>stdin< nach dem Ausgangsmaterial suchen soll, welches vorher von mbrola
dort deponiert wurde weist die erzeugte mp3 datei nur komisches Rauschen
auf.
Hat jemand eine Idee woran das liegen könnte? bzw. was man dagegen machen
kann außer den Umweg über ein shell skript zu gehen.
Vielen Dank schon mal im Vorraus
Florian
Das Problem ist, daß in der wav-Datei am Anfang im Header die Länge eingetragen wird und die ist erst am Ende der Synthese bekannt. Deshalb kannst du die wav-Synthese nicht in eine Pipe lenken, sondern mußt über eine temp-Datei gehen. Häßlich, aber da bin ich auch zuerst reingefallen, als ich mbrola mal ausprobiert habe.
Falls du die Syntheseergebnisse öffentlich zugänglich machst, so würde ich dir zur Vermeidung einer unklaren rechtlichen Situation allerdings anstelle von mp3 doch lieber ogg-Format empfehlen.
Wenn ich es noch richtig im Kopf habe muss du nur entsprechende optionen mitgeben um den Input zu beschreiben, vorallem die Bitrate (-b), mode (-m) und sampling rate (-s) spezifizieren.
z.B. | lame -r -m m -b 16 -s 22.05 – out.mp3
Hope this helps.
Bye
Con
dein tipp con scheint nicht zu funktionieren ….
ich finde die sache eigendlich sowieso etwas komisch durch die eingabe von
“lame –longhelp”
bekommt man nämlich
“…
usage: lame [options] [outfile]
and/or can be “-“, which means stdin/stdout.
…”
funktioniert aber nicht … was guenter gesagt hat kommt mir auch ganz
plausibel vor ..
thx florian
Wahrscheinlich brauchst du noch die Option -x.
Folgendes klappt wunderbar bei mir:
echo “Hallo. Das ist ein test” | txt2pho | mbrola /usr/local/mbrola/txt2pho/data/de3 – – | lame -x -m m -b 16 -s 22.05 – xxx.mp3
Bye
Con
Alles in einer zeile natürlich. ;-)
=) fast schon perfekt …. freu
aber mal spaß beiseite, die funktion -x scheint echt was bewirkt zu haben …
komisch ist nur das wenn ich erst ne wav erzeuge und dann ne mp3 draus mache
eine angenehme frauenstimme zum vorschein kommt. wenn ich aber direkt ne mp3
daus mache kommt ne stimme die sich anhört als hätte man n altes tonband
schneller laufen lassen. das wav file und das mp3 file sind aber gleich “lang”.
klappt das bei dir besser con, an was könnte das liegen??
gruß florian
Hi Florian,
bei mir ist es ähnlich, also habe ich noch ein Paar lame Optionen ausprobiert.
Mit -v bekommst du ein mp3 File der genausogut klingt wie der aus dem wav File erzeugte. Ist allerdings etwas grösser.
… | lame -x -m m -b 16 -v -s 22.05 – xxx.mp3
Wenn du zusätzlich noch -V 8 angibst, kommt ein datei heraus der etwas kleiner ist als der aus dem wav File erzeugte aber noch gut klingt.
… | lame -x -m m -b 16 -v -V 8 -s 22.05 – xxx.mp3
Mit unterschiedliche Werte für -V kannst du ein Kompromis erreichen zwischen Grösse und Qualität.
Bye
Con