... der nur als Software ohne weitere MP3 Hardware auskommt? Die Idee wäre, z.B. einen uC der analoge Ein- und Ausgänge bestitzt zu programmieren um MP3 hören zu können. Natürlich muss das decodieren relativ schnell gehen (evt. mit einem ARM7 der bis zu 60 MHz getacktet wird? Oder ist das totaler Unsinn, da für so etwas ein DSP verwendet wird? Gibt es auch schon fertige C-Sourcen für die Decodierung? Habe zwar schon "gegoogelt" aber meiner Meinung nichts brauchbares gefunden. P.S. Forensuche verwendet, nichts gefunden :-( P.P.S. Wer Schreibfehler findet, darf sie behalten !
Es gibt einen fuer ARM optimierten Open Source Decoder von Real. Ich habe mal ein Beispielprogramm fuer den LPC2106 gebastelt, siehe Anhang. Das Dekodieren braucht ca. 30 MHz. Das eigentliche Problem an der Sache ist es den Ton nach draussen zu bekommen; gaengige Audio-DACs lassen sich nicht an den LPC2106 anschliessen da man I2S nicht mit dem SPI-Port emulieren kann.
Ja, sowas gibt es in der Tat: http://www.underbit.com/products/mad/ Das besondere ist, daß dieser Decoder mit 32Bit-Integer-Arithmetik auskommt. Eine ARM-Portierung soll dabei sein. Viel Erfolg!
@Rufus T. Firefly Super! Danke für die Antworten. Ich verwende z.Zt. den LPC2138 der ja interne AD/DA Wandler hat und auch bis 60 MHz taktbar ist. Ich werde mir die Sourcen mal ansehen und es damit versuchen. P.S. Wann gibt es endlich die edit Funktion???
Bei der Nutzung der internen DACs nicht vergessen dass man im Gegensatz zu Audio-DACs noch ein Rekonstruktionsfilter (Tiefpass) am Ausgang braucht, sonst hat man hochfrequenten Dreck im Signal.
@Andreas Schwarz Also Tiefpass plus ein kleiner Verstärkerbaustein sollte doch reichen, oder? Wie kann ich den benötigten Tiefpass berechnen (also von welcher Grenzfrequenz sollte ich ausgehen (1MHz?))?
Wieso 1MHz? Du hast eine Abtastfrequenz von vielleicht 48kHz (oder 44,1kHz) und eine maximale Signalfrequenz (Musik) von 20kHz. Das heisst die ersten unerwünschten Mischprodukte treten bei 48-20= 28kHz auf und die sollten weg! Natürlich möglichst ohne die 20kHz zu beeinflussen. In einem CD-Spieler der allerersten Generation hab ich mal ein Tiefpass 8. Ordnung mit 20kHz Eckfrequenz gefunden! Der filterte zwar gut, erzeugte aber heftige Phasendrehungen im Audiobereich... Deshalb wurden digitale Oversampling-Filter erfunden!
> ...gibt es so einen Code evt. auch für OggVorbis ?? Ich würde sagen Tremor (http://www.xiph.org/ogg/vorbis/). mfG, ejd
Hi, ich spiele gerade ein bischen mit einem ARM9 mit embedded Linux rum. Ich habe nun auf der Benutzerebene die I2S Schnittstelle so konfiguriert, dass ich WAV-Datein direkt an diese senden kann. Als nächsten Schritt möchte ich gerne MP3 Dateien direkt an die I2S Schnittstelle senden. Hierzu bräuchte ich einen einfachen Decoder der mir Mp3 Dateien einließt und die Daten direkt als PCM wieder ausgibt. Die meisten Decoder geben die Daten direkt an einen Soundtreiber weiter. Da ich noch nie einen Treiber programmiert habe. Möchte ich mich da auch nicht gerade dranwagen, sondern die Daten vorerst direkt an I2S weitergeben. Also ich würde quwasi den Quellcode für einen Mp3 zu PCM converter benötigen. Weis jemand wo ich sowas finde. Viele Grüße Ford
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.