Forum: Mikrocontroller und Digitale Elektronik MP3-Decoder Clickton einfügen


von Ingo A. (neulingo)


Lesenswert?

Hallo @ all,

ich habe ein kleines MP3-Projekt mit dem VS1011. Da habe ich jetzt ein 
Touchdisplay mit integriert und will einen Klickton einfügen wenn ich 
dieses betätige. Einfach die Klickton MP3 in den Datenstrom dazwischen 
quetschen funktioniert nicht da kommt nur ein undefiniertes 
"qqquuuiiiitsch".
Hat irgendjemand eine Idee wie ich das realisieren könnte?

von Markus -. (mrmccrash)


Lesenswert?

Du baust dir ein Sample in 8kHz, 8 Bit, mono, unkomprimiert zusammen, 
packst das in den Flash deines µC und spielst das über einen PWM-Out und 
Tiefpass (bis 4kHz reicht) raus. das Signal kannst du dann analog zum 
Ausgang deines VS1011 hinzumischen.

_.-=: MFG :=-._

von Sebastian .. (zahlenfreak)


Lesenswert?

Das soll auch funktionieren, wenn der VS gerade mp3s dekodiert, richtig? 
Ich fürchte, wenn das über den VS laufen soll, musst du den mp3-strom 
analysieren. Oder du beschäftigst dich mal näher mit dem VS selbst. Der 
kann ja auch User-Code ausführen. Vielleicht kann man auf dem Weg besser 
was in den Datenstrom mischen.
Oder, wenn's einfach nur schnell funktionieren soll, würde ich analog 
mischen. Also einfach am AVR nen DAC ran (oder per PWM) und damit den 
Click abspielen. VS- und AVR-Signal werden dann analog gemischt. Sicher 
nicht elegant, sollte aber funktionieren.

Sebastian

von Ingo A. (neulingo)


Lesenswert?

Danke für die schnellen Antworten,

analog dazu mischen geht leider nicht.
Da werde ich mich am WE mal mit dem mp3-Datensrom auseinander setzen.

Ingo

von Dirk J. (dirk-cebu)


Lesenswert?

Den Klickton gibst Du auf einen kleinen Piezolautsprecher, der im 
Gehäuse versteckt ist. Das stört nicht den Datenstrom und es merkt 
keiner.

von Harry (Gast)


Lesenswert?

das Thema interessiert mich selbst. Wie sieht dein Aufvau aus, arbeitest 
du mit SD/MMC?
Bei mir ist SD_out direkt mit dem VS verbunden. Ich müsste also die SD 
kurz deaktivieren und per Software_SPI die Klick-Daten an den VS 
senden...

von Ingo A. (neulingo)


Lesenswert?

Ich habe mich jetzt mal mit dem Mp3-header auseinandergesetzt und zum 
richtigen Zeitpunkt meinen Klickton eingefügt funktioniert zwar, klingt 
aber trotzdem besch...en, durch die kurze Unterbrechung der laufenden 
Datei.
Also habe ich mich doch dazu durchgerungen das ganze analog 
beizumischen.

@ Harry SD->MSP430->VS1011

Ingo

von Gast (Gast)


Lesenswert?

Dann war diese Aussage ja wohl falsch:

>analog dazu mischen geht leider nicht.

Also in Zukunft erst ueberlegen und dann posten...
Es ist mir auch nach laengerem Ueberlegen nur ein Szenario
eingefallen, wo das tatsaechlich nicht gehen wuerde:
Volldigitale Verarbeitung incl. D-Endstufe.
Aber auch da kann man was dazumischen, allerdings nicht analog.

Gast

von Ingo A. (neulingo)


Lesenswert?

>analog dazu mischen geht leider nicht.

Vielleicht liegt es ja daran, dass ich mein Layout nicht nochmal 
verändern wollte. Aber danke für die konstruktive Kritik.

Ingo

von go_in (Gast)


Lesenswert?

genau. kleiner Piezo-Summer, ganz kurz ansteuern = Klick. Einfacher 
gehts nicht.

von Jörg H. (idc-dragon)


Lesenswert?

Beim Reinschnippeln in den mp3-Datenstrom muß man 2 Dinge beachten:

1.) an Framegrenzen schneiden, dazu muß man mitparsen. Die Frames waren 
glaube ich je nach Samplefrequenz/Bitrate unterschiedlich groß. Der 
Parser sollte robust genug sein, um sich aufzusynchronisieren. Dabei 
darf er nicht auf falsche Startcodes hereinfallen, die zufällig im 
Datenstrom liegen. Erst nach einer Anzahl korrekt nachverfolgter Frames 
dem Parser glauben.

2.) Bit Reservoir beachten. Ein Frame kann Daten für den nächsten 
enthalten, wenn er selbst nicht ausgereizt war. Dann muß man selbst 
einen Frame erstellen, der dieses Bit Reservoir aufbraucht, aber keine 
neuen Daten enthält. Erst dann hat man eine "glatte Schnittkante" und 
kann das vorbereitete Sample einfügen.

Jörg

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
Noch kein Account? Hier anmelden.