Hallo geschätzte Kollegen, ich bin momentan auf der Suche nach einer "kleinen" Lösung zur Wiedergabe von Audio Dateien von einer SD Karte (z.B. WAV) als 16bit bei 44,1 KHz mono. Das Quantisierungsrauschen bei 8bit ist sehr störend und die Klangwiedergabe soll realistisch werden, daher dachte ich an 16 bit. Ich habe mehrere Lösungen im Kopf, brauche aber euren Rat. Die Daten sollen von einer SD Karte kommen Lösung mit 16 bit Hardware PWM (z.B. PIC24) Lösung mit DSPic unter Verwendung des DAC Audio Moduls Lösung mit kleinem MCU z.B. PIC16 mit externem 16bit PWM Baustein optional: Lösung mit kleinem MCU z.B. PIC16 mit 8bit anschließender Nachbearbeitung Momentan tendiere ich zur Lösung mit dem PIC24, da der eine 16bit PWM in Hardware hat und auch eine FAT16 Library existiert, aber ich habe jetzt schon oft gelesen, dass auch mit 8bit und entsprechender Nachbereitung sehr gute Ergebnisse drin sein sollen - jetzt bin ich am Grübeln. Der dsPIC scheint mir ein wenig oversized und auch von der Kosten her ziemlich hoch, aber ich muss wohl relativ wenig Aufwand reinstecken um ein akzeptables Ergebnis zu bekommen, richtig ? Erfahrungen habe ich bisher ausschließlich im 8 Bit Bereich (PIC12/16). Im Bereich Audio habe ich das übliche geäfhrliche Halbwissen, aber bisher keine Serienerfahrung. Bin ich mit meinem PIC24 Ansatz richtig unterwegs ? In diesem Fall würde dann nämlich einfach das Explorer16 Board nehmen und ne SD Karte auf nem Zusatzmodul, um möglichst schnell erste Ergebnisse zu bekommen so dass ich anschließend eine eigene HW stricken kann. Danke vorab für eure Einschätzungen. Grüße, Stefan
>aber ich habe jetzt >schon oft gelesen, dass auch mit 8bit und entsprechender Nachbereitung >sehr gute Ergebnisse drin sein sollen Was heisst Nachbereitung? Wenn die Audiodateien möglichst hoch ausgesteuert sind kommt man auch mit 8Bit einigermassen hin. Bei leisen Passagen kommt dann halt noch ein wenig Geraschel. Die Frage ist wie viel davon dich stört.
holger schrieb: >>aber ich habe jetzt >>schon oft gelesen, dass auch mit 8bit und entsprechender Nachbereitung >>sehr gute Ergebnisse drin sein sollen > > Was heisst Nachbereitung? Wenn die Audiodateien möglichst hoch > ausgesteuert sind kommt man auch mit 8Bit einigermassen hin. > Bei leisen Passagen kommt dann halt noch ein wenig Geraschel. > Die Frage ist wie viel davon dich stört. Hallo Holger, siehe letzter Post in DIESEM Thread: Ralph P. schrieb: > Microchip bringt dieses Jahr noch einen neuen 8-Bit Chip, der über 28KB > Programmspeicher und 1KB Ram verfügt (und der über 28 i/O im DIP Format > verfügt, 32MHz Takt intern/20 Mhz Takt extern). Das dürfte dann > ausreichen um gepuffert FAT lesen UND schreiben zu können und so > nebenbei passt ein FAT Filesystem auch zum Schreiben auf die CPU. Und > wem die Qualität der Samples nicht ausreicht der kann ja einen externen > PWM mit 12-16 Bit nehmen, ist allemal besser als sein Design unnötig > durch grössere CPU's aufblähen zu müssen. > Und so summieren sich die Kosten auf nicht mal 10 Euro um einen > tauglichen Player/Rekorder in CD-Qualität herzustellen, benutzt man > einen kleineren Quartz dann reicht es allemal für Telefonqualität - > manchmal sogar Pflicht wenn es um Projekte geht die Störstrahlung so gar > nicht brauchen können ;-) >
:
Bearbeitet durch User
Ich verwende einen ATtiny461 mit 10 bit PWM. Klingt nicht schlecht, wenn gut ausgesteuert. Allerdings liegen die Daten roh auf der SDC, also nix FATnn. Für diese ist der 461 mit seinen 256 B RAM wohl etwas dürftig, auch der 861 hat nur 512.
der alte Hanns schrieb: > Ich verwende einen ATtiny461 mit 10 bit PWM. Klingt nicht > schlecht, wenn > gut ausgesteuert. Allerdings liegen die Daten roh auf der SDC, also nix > FATnn. Für diese ist der 461 mit seinen 256 B RAM wohl etwas dürftig, > auch der 861 hat nur 512. Hallo Hanns, verzeih mir meine laienhaften Fragen. Was für eine Samplingrate erreichst Du damit - 8kHz ? Wie beschreibst du die SDC mit Rohdaten ? Wie wurden die Rohdaten erfasst (Samplingrate usw.)? Ist dieses typische "wischende" Geräusch, dass man bei 8bit Ausgabe gerne hört dann auch noch hörbar ? Ich möchte eine Stimme abspielen, diese soll aber naturgetreu klingen und nicht "blechern" oder metallisch. Lässt sich das mit 10bit noch machen ? Grüße, Stefan
Mir ist eines unklar. Wenn du sowieso Spezialhardware darauf ansetzt, warum nimmst du dann nicht gleich einen DAC?
Das Projekt begann vor Jahren als reine Insellösung. >Was für eine Samplingrate erreichst Du damit - 8kHz ? Ursprünglich 62.5 kHz, seit einiger Zeit schalte ich auch auf 66.15 kHz um (richtig getippt: 44.1 *3/2). >Wie beschreibst du die SDC mit Rohdaten ? >Wie wurden die Rohdaten erfasst (Samplingrate usw.)? Urspr. direkt von der Tonquelle -> (ext. ADC ->) ATmega -> SDC, heute ziehe ich auch am PC einzelne Stücke von CD und transferiere mit einer Freeware namens Win32DiskImager. >Ist dieses typische "wischende" Geräusch, dass man bei 8bit Ausgabe >gerne hört dann auch noch hörbar ? Mit dem Begriff kann ich nichts anfangen. >Ich möchte eine Stimme abspielen, diese soll aber naturgetreu klingen >und nicht "blechern" oder metallisch. Die Wiedergabe klingt gut, nur ist natürlich bei leisen Passagen das Quantisierungsrauschen zu hören. >Lässt sich das mit 10bit noch machen ? Ich denke doch. Zwar speichere ich 12 bit und spiele die auch manchmal mit einem ext. DAC ab, aber die 10 bit-Version ist okay und findet Abnehmer. Allerdings liegen, wie gesagt, meine Anfänge Jahre zurück, und ich habe mich über neue Hardware nicht informiert ('never change a winning team', und für meine Anwendungen hat's gereicht).
Ich vergaß zu erwähnen: wie von Hinz angedeutet macht ElmChan Ähnliches (etwas professioneller), und ich dachte, bei ihm auch was mit dem 861 und 10 bit gesehen zu haben, kann es jetzt aber auf die Schnelle nicht finden: http://elm-chan.org/he_a_e.html
hinz schrieb: > http://elm-chan.org/works/sd8p/report.html Nichts für ungut, aber hast Du den Thread gelesen ? Die Rede war von 16bit 44.1 kHz mono
Karl Heinz schrieb: > Mir ist eines unklar. > Wenn du sowieso Spezialhardware darauf ansetzt, warum nimmst du dann > nicht gleich einen DAC? Weil laut meiner Recherche ein externer DAC mitsamt 8bit Controller teurer kommt als so ein PIC24 oder ein dsPIC für sich allein.
Evtl. könnte auch a-Law oder µ-Law für dich das richtige sein. Mein alter Drumcomputer vom Emu-Systems macht so aus den 8-bit Samples 'gefühlte' 12-bit und klingt dabei recht gut. Der Trick besteht darin, eine Expansion während der Wiedergabe zu machen, während bei der Aufnahme komprimiert wird. https://en.wikipedia.org/wiki/A-law_algorithm https://en.wikipedia.org/wiki/Companding
Stefan G. schrieb: > Ist dieses typische "wischende" Geräusch, dass man bei 8bit Ausgabe > gerne hört dann auch noch hörbar ? Häh? Wer Amiga-Spielesounds oder überhaupt die Soundtracker-Musik der Amiga-Ära kennt, der weiß, daß 8Bit Auflösung keinesfalls zwingend irgendwelche "typischen wischenden" Geräusche produziert. Das tuen nur Leute, die unfähig zum sachgerechten Sampeln sind, sprich: Leute, die nicht in der Lage sind, das Eingangssignal entsprechend der verwendeten Samplefrequenz in der Bandbreite zu begrenzen. Und die schaffen das bei 16Bit ganz genauso wie bei 8Bit, weil dieser Effekt einfach mal nichts mit der Auflösung zu schaffen hat, sondern nur mit der Samplefrequenz. Alles, was 8Bit unvermeidbar produziert, ist deutlich mehr Grundrauschen als bei 16Bit, was aber trotzdem erst bei relativ geringer Aussteuerung des Nutzsignals hörbar wird. Das Rauschen ist pegelmäßig im Vergleich zur möglichen Aussteuerung gesehen ungefähr vergleichbar mit dem Rauschen eines einfachen Cassettenrecorders ohne Dolby und ähnlichen Schnickschnack, eher noch etwas besser. Nicht gerade schön, aber erträglich. Ganze Jugend-Generationen hatten garnix anderes für ihren Musikkonsum und sind trotzdem erwachsen geworden... > Ich möchte eine Stimme abspielen, diese soll aber naturgetreu klingen > und nicht "blechern" oder metallisch. SAVAGE! So hieß mal ein Amiga-Spiel und in dem Song intoniert dauernd einer laut dieses Wort. Das klang kein bissel blechern oder metallisch, war aber auch nur 8Bit-Sample mit 22kHz Samplefrequenz. Grundsätzlich ist Sprache noch um vieles einfacher als Musik in wenig Auflösung und Samplerate zu quetschen. Wenn man es RICHTIG macht. Und dazu gehören insbesondere zwei Sachen: sinnvoll Filtern, bevor es in den AD-Wandler rein geht und sinnvoll Filtern, nachdem es aus dem DA-Wandler rauskommt. Und genau diese beiden Sachen nimmt dir vermutlich kein µC ab. Ich kenne jedenfalls keinen, der das tut.
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.