Hallo zusammen, ich habe Funktionswerte berchnet und als Textdokument(.txt) gepeichert,nun möchte ich sie mit Audocity widerlesen,damit ich den Ton höre. ich suche die ganze Zeit nach einem Programm, das die .txt format in mp3 umwandlel, damit die Audacity lesen kann. ich habe ein Prgramm, das Verbose heisst,der kann zwar die txt in mp3 umwandle aber als sprache. Kennt jemand ein Programm, die das Format umwandelt oder eine Programm ,mit dem man die generierte Signalwerte zß. sinuswerte als ton (Audio) lesen kann. hier ist ein Teil der generierten Funktionswert (3000 Samples) -0.558831 -0.666247 -0.769006 -0.866792 -0.959312 -1.0463 -1.12752 -1.20277 -1.27186 -1.33463 -1.39098 -1.44079 -1.48401 Danke schönmal im Voraus. Gruß Cmari
Was bedeuten diese Zahlen? Was ist der Wertebereich? Ich kenne in diesem Zusammenhang mehr die Wav-Dateien. http://de.wikipedia.org/wiki/RIFF_WAVE Die sind nicht komprimiert und spiegeln die Schwingungen wieder. Die Töne sind meist in 16 Bit kodiert -32768 .. 32767. Evtl sollte man sich mal mit diesem Format beschäftigen, denn mit den Floating-Point Werten kommt man nicht weiter.
Wertebereich? +2.0 … -2.0 ? Samplerate? Warum den Umweg über MP3, um es in Audacity anzuschauen? Dir ist klar, das MP3 verlustbehaftet Komprimiert, und die dann angezeigte Waveform fast garnichts mehr mit deinen Orginaldaten zu tun hat? Egal: Das "Programm" schaut dann wie folgt aus:
1 | cat Werte.txt | perl -ne '$_*=32767.0/2.0; print pack "v",$_;' | ffmpeg -f s16le -ar 44100 -i - output.mp3 |
Erklärung: Perl liest die Datei Zeilenweise, skaliert deine Werte um (hier den Wertebereich anpassen) und gibt jedes Sample als Signed 16-Bit-Wert aus ("VAX"-Byteorder). FFMPeg liest als "signed-16bit-lowendian-raw-mono-44100kHz" und konvertiert in MP3.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.