ATMega krähen lassen

Hallo,

ich würde meinen Radiowecker als Option gerne krähen lassen. Dafür stehen Timer 1 und die oberen 4k das Flashspeichers noch zu Verfügung. Für ein 2 Sekunden kikeriki gibt das aber nur 2kHz Abtastrate bei 8bit. Würde ein MP3 bei solch kurzen Stücken Sinn machen bzw. hat ein 2 MHz ATMega überhaupt genug Rechenleistung, insbeondere wenn er über Interrupts noch eine Anzeige multiplexen, Taster pollen und eine Uhr bedienen muß? Kennt zufällig jemand so etwas wie Frequenz/Zeitdauer für einen monophonen Hahn?

Vielen Dank Michael

Reply to
Michael Schlegel
Loading thread data ...

Nein.

Nein, nicht einmal ohne diese Zusatzbelastung.

Hahn samplen, FFT und nur den Bin Deiner Wahl betrachten. Wird sich aber grausig anhören. :-)

Mal über einen "Sprachspeicherchip" (ISDxxxx) nachgedacht? Sonst aus (E)EPROM+R2R-DAC nachbilden.

Gruß Henning

Reply to
Henning Paul

Bräuchte man noch Steuerlogik. Externes serielles EEPROM für Controller letztlich einfacher. Muß nichtmal PCM roh sein: für CVSD bei 16kbit/sec reicht Geschwindigkeit von 8 Bit Controller. Groups.google bemühen, hier oft genug durchgekaut worden.

Wer scheusslich geweckt werden will: es gab mal als UAA1003 ein Sprachausgabe-IC basierend auf Mozer mit Roboter-Stimme:

formatting link
( Seite 2 )

MfG JRD

Reply to
Rafael Deliano

"Michael Schlegel" :

Naja, kannst den Ton ja auch mit weniger als 8 bit ablegen (z.B. als Differenz zum Vorgängerwert) und mit "run length encoding" speichern und so die Datenrate ev. noch verdoppeln. Das (Differenz/Addition) lässt sich auch noch in Echtzeit mit dem Controller schnell genug ausrechnen. Den Wert dann per PWM-kodiert mit dem Timer an einen Pin ausgeben. Alle 0.5ms (2kHz) oder etwas häufiger den PWM-Timer mit nem Wert aus dem Flash zu laden, sollte der noch locker schaffen. MP3-Decoding schafft der Atmel natürlich nicht (braucht externen Decoderchip).

M.

--
Bitte auf mwnews2@pentax.boerde.de antworten.
Reply to
Matthias Weingart

Michael Schlegel schrieb:

Hallo,

da müsste man wohl erst mal mit verschiedenen Originalaufnahmen krähender Hähne am PC experimentieren wie weit man die "kleinkriegen" kann. Den Einfluß verschiedener Abtastraten und Bitbreiten kann man doch alles am PC simulieren mit ein paar selbstgeschriebenen Programmen die Wave Files bearbeiten.

Bye

Reply to
Uwe Hercksen

"Uwe Hercksen" schrieb im Newsbeitrag news: snipped-for-privacy@mid.dfncis.de...

Hallo,

wie wärs mit den wav-files von hier.

Google: wav file hahn krähen

Z.B.:

formatting link

Gruß Helmut

Reply to
Helmut Sennewald

bei 20MHz und 10kHz DAC-Rate hat man etwa 1400 ASM-Befehle pro Step.

Der Hahn kräht im wesentlichen mit ein paar Oberwellen auf einer gesweepten Grundfrequenz in einem Phase-Lock. Ziemlich wenig Information drin - ein Hahn hat ja üblicherweise auch keinen

1MB-MP3-Player on-board.

Mit einem "Synthesizer-Algorithmus" - ggf auf etwas Sampel-Basis und mit etwas Rauschen - kannst Du das dann sogar richtig lebendig machen - jedesmal ein etwas anderes Krähen, sonst wird's ja langweilig. Siehe auch FM/PM-Synthese:

formatting link

Ganz einfach ist es aber nicht. Du kannst damit beginnen von dem Sample die Base-Frequenzkurve zu ermitteln, sowie die Hüllkurven der Oberwellen anschauen...

Grüsse Robert

Reply to
robert

"Michael Schlegel"

Timer 1 und die oberen 4k das Flashspeichers noch zu

8bit. Würde ein MP3 bei solch kurzen Stücken Sinn

wenn er über Interrupts noch eine Anzeige

Hahn?

Ein Kikeriki ist ein extrem Monotones geräusch. An monotonie getoppt wird das höchstens von einer Flöte.

Nimm einfach ein Kikeriki auf, und schau dir die Wellenform zwischen zwei Nulldurchgängen an. Dann fittest du das ganze Sample so, dass alle Nulldurchgänge den gleichen Abstand haben und merkst dir den vorigen Abstand. Dann nimmst du alle 5, 10 oder 25 (whatever) Wellenformen zwischen den Nulldurchgängen. Quasi jedes Kinderspielzeug arbeitet so. Beim zurückmixen musst du dann nur die Wellenformen wieder zurückdehnen und die vorige und z.B. die nachfolgende 25. entsprehend dem zeitlichen Abstand Überblenden. Aufpassen musst du nur an den Stellen, wo sich die Wellenform signifikant ändert. Da ist es dann sinnvoll kürzere zeitliche Abstände zu nehmen oder sogar das Original zu nehmen.

Ich habe damit in 8kB Flash in einem Privatprojekt auf diese Weise extrem hochqualitatives Vogelzwitschern in Stereo (sogar mit Hall vom Wald) in 96 kHz hinbekommen. (Die originalsamples waren aber nur 44kHz *g*) Aber es war ein Experiment das ich mal gemacht hatte.

Gruß,

Markus Gronotte (ja, das ist wirklich mein Name)

PS: das Ganze war mit einem AtMega 8 @ 20MHz (ja, ich weiß das ist mehr als erlaubt, aber es ist ja nur zum zwitschern da

*g*)
Reply to
Markus Gronotte

Kleiner Nachtrag vll: Die Ausgabe hat ein zweiter AtMega machen müssen, der die errechneten Samples per I²C bekommen hat.

Reply to
Markus Gronotte

In article , "Markus Gronotte" writes: |> Die Ausgabe hat ein zweiter AtMega machen müssen, der die errechneten |> Samples per I²C bekommen hat.

Warum bitte ein zweiter ATMega nur für die Ausgabe?

Keine 8 Pins mehr frei für den R2R-DAC, keine Zyklen mehr da für PWM, keine Lust auf 16-Bit I2C-DAC?

Rainer

Reply to
Rainer Buchty

Hallo Rainer,

wofür denn 8 bits für ein Hahnenkrähen, das ist mit 4 Bit genauso gekrächzt ;-)

Marte

Reply to
Marte Schwarz

"Marte Schwarz"

nene Rainer hat schon Recht. Das Ganze hab ich dann letztendlich mit einer Standard PWM gemacht die ich bei Google gefunden hab und PWM benötigt beim Interruptwechsel halt einiges an Ram bzw Stackabbau beim Auslösen oder wie man das bei Interrupts auch immer nennen mag das war auch mit 20MHz nicht mehr drin.

Reply to
Markus Gronotte

Nein, für MP3-Wiedergabe reicht das vorne und hinten nicht.

Aber ein "Kikeriki" kann man mit den angegebenen Resourcen trotzdem in sehr guter Qualität hinbekommen. Es handelt sich beim "Kikeriki" um ein relativ simpel strukturiertes Signal, was man ziemlich problemlos täuschend echt synthetisieren kann, auch mit den beschränkten Resourcen eines 2MHz-ATMega. Na OK, die Hennen werden's vielleicht nicht so verstehen, wie's gemeint ist. Aber für Menschen wird sich's auf jeden Fall hinreichend echt anhören. (Zumal in Deutschland ohnehin nur noch eine Minderheit aus eigener Erfahrung weiß, wie sich so ein Hahn eigentlich wirklich anhört)

Nun, SO einfach ist es nun auch wieder nicht. Ein bissel Verständnis für Signalanalyse braucht man schon, um einen guten Synthesizer dafür zu programmieren.

Reply to
Heiko Nocon

"Markus Gronotte" schrieb im Newsbeitrag news:46b743f7$0$3828$ snipped-for-privacy@newsspool4.arcor-online.net...

Hallo,

Also 4kHz oder 8kHz Abtasttakt ist ja nun wirklich kein Problem. Man muß ja nicht viel mehr machen als einen Wert aus der Tabelle holen, und damit das PWM-Register laden. Auch das Retten der Prozessor-Register ist kein besonderes Problem bei der Rate. Ich experimentier gerade mit einem 4bit-Hahnenschrei bei 4kHz. Bei den 4bit hört man am Ende wenn der Hahnenschrei ausklingt natürlich etwas Rauschen. Passt übrigens in 4kB. Vielleicht sollte man besser mit Kompanderkennlinie arbeiten um bei

4bit Speicherplatz auf 6bit-Auflösung zu kommen.

Gruß Helmut

>
Reply to
Helmut Sennewald

Hallo Michael,

Bei 4K freiem Flash macht MP3 keinen Sinn. Alleine die Dekoder- Software wuerde schon mehr Platz brauchen.

Am besten benutzt Du einen simpleren Kompressions-Algorithmus. Beim "kikeriki" merkst Du den Unterschied wahrscheinlich sowieso nicht.

Sehr einfach ist zB der ADPCM Algorithmus, welcher die 8 Bit auf zB 2 Bit reduziert. Damit wuerde Deine Abtastrate auf 8khz steigen. Der Dekoder laesst sich in einer Bildschirmseite ASM programmieren.

Gruss, Marc

Reply to
Marc Jet

Hallo,

Also nichts für ungut. Du bist schon der zweite der von einfach synthetisieren schreibt. Bitte den praktischen Beweis antreten. Dies ist ein Aufruf zum Wettkampf "Hahnenschrei" in 4KB Flash-Speicher(incl. Programm), ausführbar auf einem 8bit uC (2MHz?, vermutlich Stromsparer) bei weniger als 50% Auslastung.

Gruß Helmut

Reply to
Helmut Sennewald

Das werde ich gerne tuen, wenn ich mal das Problem haben sollte, daß ich einen meiner Atmels krähen lassen möchte. Bisher spielt nur einer ein kleines Gitarrensolo (die Anfangssequenz von Deep Purples "Smoke on the water"), das aber so gut, daß du den Unterschied zur Orignalaufnahme kaum hörst (es fehlt lediglich das Rauschen der Originalaufnahme ;o).

Und das mit weniger als 800 Byte Flashbedarf und bei 455kHz Systemtakt.

Das Kikeriki hingegen ist derzeit allein dein Problem, also solltest auch du die Lösung realisieren. Es ist nicht unsere Aufgabe, dir die fertige Lösung zu liefern, sondern allenfalls, dir Wege zu deren Realisierung zu zeigen.

Aha, du suchst also nur einen Dummen, der dir für lau deine Arbeit macht. Nö danke, da verfolge ich in meiner Freizeit lieber meine eigenen Hobby-Projekte weiter.

Etwas völlig anderes ist, wenn du dafür bezahlen möchtest. Ich bin gern bereit, dir ein verbindliches Angebot zu machen. Ich schätze mal, daß etwa eine Mannwoche für Analyse und Implementierung nötig ist. Das darfst du mit dem Stundensatz eines gewerblichen Klempners oder Fliesenlegers ausmultiplizieren und dann nochmal mit 1,6. Dann hast du eine Vorstellung von der Größenordnung. Wenn du dann noch Interesse hast (was ich ernsthaft bezweifele): Mail.

Umsonst ist nur der Tod.

Reply to
Heiko Nocon

Hallo Nico,

Nicht ich sondern Michael Schlegel sucht den "Hahnenschrei" mit

4KB für ATmega. Mich hat es einfach mal interssiert wie man das mit "klassichen" Mitteln innerhalb kurzer Zeit hinbekommt. Nun kamen hier einige Schlaumeier die von ganz einfach reden. In Wahrheit steckt da aber mindestens eine Woche Arbeit in deren Vorschlägen.

Den Rest deiner Message ignoriere ich jetzt besser mal.

Gruß Helmut

Reply to
Helmut Sennewald

"Helmut Sennewald"

Niemand schrieb das Gegenteil. Einfach ist es aber trotzdem, wenn man auch nur ansatzweise weiß, wie Audiodaten aufgebaut sind. Viel schwieriger ist eigentlich hinterher die Ausgabe der Daten IMHO.

Beispielsweise meine Softwaredekodierung eines AM-Signal, das ich mit Soundkarte aufnehme. Prinzipell ist es auch total einfach. Trotzdem hab' ich fast 2 Wochen gebraucht, bis es der PC mit niedriger CPU-Last hinbekommt.

Gruß,

Markus

Reply to
Markus Gronotte

Newsgroup eben, wer sich am grössten aufplustert ist der Top-Gockel am Hühnerhof ... Alle naheliegenden, sinnvollen Lösungen in einem Thread kommen zeitlich unmittelbar nach der Frage. Wer später kommt muß das besondere liefern das das normale aussticht.

MfG JRD

Reply to
Rafael Deliano

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.