Forum: Compiler & IDEs Musik mit Atmega8


von Musiker (Gast)


Lesenswert?

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.

von Martin S. (sirnails)


Lesenswert?

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.

von Musiker (Gast)


Lesenswert?

Ich könnte ihn ja übertakten?

von Musiker (Gast)


Lesenswert?

bzw. externer quarz

von Martin S. (sirnails)


Lesenswert?

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.

von Musiker (Gast)


Lesenswert?

Kennst du vielleixht ein Tutoriel wo ich mir das aneignen könnte, weil 
ich jetzt gerade nixht viel verstehe?

von Floh (Gast)


Lesenswert?

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)

von Karl H. (kbuchegg)


Lesenswert?

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.

von Musiker (Gast)


Lesenswert?

Wie sieht es dann aus mit richtiger Musik?
Was braucht  man dazu alles, weil in diesem Projekt werden ja nur Töne 
aneinander gereiht.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Käse (Gast)


Lesenswert?

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

von Rolf Magnus (Gast)


Lesenswert?

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.

von jack (Gast)


Lesenswert?

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.

von Martin S. (sirnails)


Lesenswert?

Käse schrieb:
> Was ist denn das für ein Quatsch??? Mehr Käse passt wohl nicht mehr in
> die Sätze.

Ich fand die Idee gut.

von Peter D. (peda)


Lesenswert?

Wie wärs mit Google?

Es gibt ne Menge Audio-Projekte mit AVRs, z.B.

http://www.atmel.com/Images/doc1456.pdf
http://elm-chan.org/works/sd8p/report.html


Peter

von Stefan N. (stefan_n)


Lesenswert?

Mit einem Atmega88 bekommt man nicht nur recht gute Musik hin, sondern 
hat nebenbei noch zeit, ein Videosignal per Bit-banging zu generieren 
und beeindruckende Grafiken darzustellen:

http://www.linusakesson.net/scene/craft/

http://www.linusakesson.net/scene/phasor/index.php


:)

von BSDler (Gast)


Lesenswert?

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?

von Sebi2020 (Gast)


Lesenswert?

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 :)

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.