Hallo, guten abend,
ich möchte mit meinem ATmega8 Microchip Musik abspielen. Ich kann gerade
mal einen PIN auf an bzw. aus setzen, und mit delays umgehen...
Meine Frage ist jetzt wie man überhaupt Musik abspielen kann, wie Musik
"aussieht", und wie ich das dann schlussendlich in c lösen könnte. Auch
bei der Hardware bin ich mir nicht sicher was ich noch hinzufügen
muss/soll.
Ich danke euch jetzt schon für eure Antworten.
Naja, es gibt da zwei Möglichkeiten. 1) Die Byte-seriellen Daten in
einen D/A-Wandler senden, aber dafür ist der Mega 8 viel zu langsam,
oder 2) Das Signal als eine modulierte PWM ausgeben und über einen
Kondensator filtern, aber dafür ist der Mega 8 viel zu langsam.
Musiker schrieb:> Ich könnte ihn ja übertakten?
Ja dann geht es. Da muss man man aber Fuses setzten, damit der PortA als
4x Masse und 4x +Ub umgeschaltet wird. Der Mega nimmt dann aber auch 10x
so viel auf. D.h. ungefähr um die 6W. Da muss man dann zumindest passiv
kühlen.
Mach erst mal im Tutorial mit Timern weiter -> Frequenzen generieren.
Damn kann man z.B. einen Piezo an den Pin hängen und Töne abspielen.
Weiter kann man das treiben und PWM nutzen, um sinus- oder andersartige
Spannungsverläufe an einem kleinen Lautsprecher zu betreiben.
Die Musikinformationen kann man entweder synthetisieren oder aus einem
Speichermedium lesen.
uswusf.
Such mal noch ein bisschen:
Hier unter AVR-Projekte,
bei Elm-Chan (SD-Kartenspieler),
oder Uzebox (Synthesizer)
Musiker schrieb:> Hallo, guten abend,>> ich möchte mit meinem ATmega8 Microchip Musik abspielen. Ich kann gerade> mal einen PIN auf an bzw. aus setzen, und mit delays umgehen...
Das reicht noch lange nicht um vernünftige Programme zu schreiben.
Sieh dir das AVR-Tutorial durch. Sieh dir das AVR-GCC-Tutorial
durch.
Dazu muss man in erster Linie <b>Programmieren</b> können! Ob dir das
gefällt oder nicht!
Und mit Pins auf 0 oder 1 setzen und _delay_ms kann man keine
vernünftigen Programme schreiben.
Das mindeste ist, dass du mit Timern umgehen kannst. Davon, dass dir die
wichtigsten C-Konzepte schon in Fleisch und Blut übergegangen sein
sollten, red ich mal gar nicht.
Du bist frühestens in einem halben Jahr soweit, dass du dir um Musik
Gedanken machen kannst.
Du bist doch Musiker. Dir sollte doch das Konzept vom einfachen zum
schwierigen und das Konzept von üben,üben,üben vertraut sein.
Martin Schwaikert schrieb:> Naja, es gibt da zwei Möglichkeiten. 1) Die Byte-seriellen Daten in> einen D/A-Wandler senden, aber dafür ist der Mega 8 viel zu langsam,> oder 2) Das Signal als eine modulierte PWM ausgeben und über einen> Kondensator filtern, aber dafür ist der Mega 8 viel zu langsam.Martin Schwaikert schrieb:> Ja dann geht es. Da muss man man aber Fuses setzten, damit der PortA als> 4x Masse und 4x +Ub umgeschaltet wird. Der Mega nimmt dann aber auch 10x> so viel auf. D.h. ungefähr um die 6W. Da muss man dann zumindest passiv> kühlen.
Was ist denn das für ein Quatsch??? Mehr Käse passt wohl nicht mehr in
die Sätze.
Mit PWM kann man schon recht gute Ergebnisse erzielen. Ein DAC kann
deutlich besser sein. Aber wie Karl-Heinz schon schrieb. Mit Delay wirst
du nicht weit kommen. Das verbrät nur Leistung.
Im Softwarepool kannst du dir auch mal ein paar Synthesizerprojekte
anschauen:
http://www.mikrocontroller.net/articles/AVR_Softwarepool#Tonerzeugung
Musiker schrieb:> Wie sieht es dann aus mit richtiger Musik?
Definiere "richtige Musik". Welche Art von Tönen soll der AVR denn
generieren und woher soll er die Info bekommen, wann welcher Ton wie zu
spielen ist?
> Was braucht man dazu alles, weil in diesem Projekt werden ja nur Töne> aneinander gereiht.
Ja, Musik eben.
Schau dir auf Wikipedia mal die technischen Daten einer beliebigen 8-Bit
Spielekonsole, beispielsweise Nintendo NES an.
Dann frag dich, warum z.B. bei Tetris oder Super Mario nur diese
typischen 8-Bit Melodien zu hören warn und keine "richtige" Musik.
Tipp: es lag NICHT daran, dass der Hersteller nicht hätte wollen oder
weil er unfähig gewesen wäre.
jack schrieb:> Dann frag dich, warum z.B. bei Tetris oder Super Mario nur diese>> typischen 8-Bit Melodien zu hören warn und keine "richtige" Musik.
Wer sagt denn, dass das keine richtige Musik war?
Rolf Magnus schrieb:> Musiker schrieb:>> Wie sieht es dann aus mit richtiger Musik?>> Definiere "richtige Musik". Welche Art von Tönen soll der AVR denn> generieren und woher soll er die Info bekommen, wann welcher Ton wie zu> spielen ist?>>> Was braucht man dazu alles, weil in diesem Projekt werden ja nur Töne>> aneinander gereiht.>> Ja, Musik eben.
Er meint wohl kaum 8–Bit shynti Musik... Aber wenn er jetzt erwartet
seine mp3 Datei"n mit 24 Bit abzuspielen :)