www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Midi Files am AVR abspielen


Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Das Thema gabs hier glaub ich schon öfter, ich kam aber nicht weiter.
also mein Gedanke ist folgender: Ich hab nen Atmega ( meinetwegen den
Mega16 ). Der soll midifiles abspielen können, die er Beispielsweise
über den Uart reinbekommt. Wie kann ich einen avr sounds generieren
lassen? Es müssen nicht dringend midi files sein. Und wie komm ich dann
vom avr zum Lautsprecher? Es gibt ja auch den alten C64 SID ( 6581 ist
das glaub ich ) Chip. Habt ihr Ahnung mit den Umgang von den Chip?

Gruß

Willi

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du midi abspielen willst brauchst du einen DSP. Ein AVR kann das
bei weitem nicht
Thomas

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heist DSP? Kennst du dich mit dem Thema besser aus?

Kennst du den SID 6581 Chip? Leider sind mir über seine Funktionsweise
noch keine DAten bekannt.

Willi

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir mal sowas mit einem 8051 gebaut:
Von einer Soundkarte hatte ich den OPL Synthesizer abgelötet.
Zum Glück ist im PC Bereich alles abwärtskompatibel, also das
nächstbeste Datenblatt gesucht und ein paar Beispielprogramme für den
PC.
Da die ganzen direkten Hardwarezugriffe über den COM Port auf den uC
weitergeleitet, also im Prinzip die Soundkarte nach außen verlagert.
Und es geht.
Einen kompletten Midi Dekoder habe ich leider noch nicht auf einem uC
hinbekommen, da es alleine 3 verschiedene Midi Standarts gibt.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DSP = digital signal processing, also irgendwelche analogen Signale
digitalisieren, verrechnen und wieder ausgeben.
Die einfachste Anwendung ist, den AVR irgendwelche Töne generieren zu
lassen, je nach dem, was für Daten reinkommen.
das wäre monophonie. Polyphonie erfordert mehrere Tongeneratoren.

Autor: Willi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem OPL Chip und der Polyphonie hört sich schon recht gut an.
Mich interessieren beide. ( BTW: Meine Mikrocontrolle programmiere ich
unter C )

@Benedikt: Hast du noch einen Schaltplan oder Die Software dafür?
@Rahul: Wie lässt du dem die Töne generieren Angenommen ich empfange
die Daten mit dem Uart (als interrupt oder Signal), nimm dann ein
unsigned char in und mach dann in=UDR; Was stell ich jetzt mit dem
"in" an? Das Signal direkt an irgendeinen Port schmeisen und von nem
anderen chip zu einem Audiosignal umwandeln lassen?

Willi

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Schaltplan habe ich nicht, aber da ist nicht kompliziertes dran:
8bit digitale Daten rein, Audio raus.

http://www.fee.vutbr.cz/~arnost/opl/opl3.html.iso-8859-1

Ein Problem ist allerdings, wie man aus den einzelnen Noten die
entsprechenden Register einstellt. Dazu findet man im Netz einige
Beschreibungen, ist aber alles ziemlich kompliziert.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was meinst Du denn mit Abspielen? - Möchtest Du direkt einen
Klangerzeuger bauen oder willst Du einfach nur die MIDI-Befehler zur
richtigen Zeit senden? - Letzteres dürfte mit einem AVR möglich sein...

Autor: Willie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael: Ich habe schon vor, nen Klangerzeuger zu bauen, hab aber im
mom aber eben keine Ahnung, wie man sowas realiesieren kann. Mir würde
wiegesagt Midi files vorschweben. Am liebsten wär  mir es eben, wenn
ich die midi dateien entweder über 8bit oder dem uart rausschicke und
dann ein anderer chip waveforms drauf macht. Mit ner alten Soundkarte
denk ich schon, das die helfen kann, hab aber leider keine Ahnung, wie
man mit sowas umgeht.

Danke für die Antworten, btw.


Gruß

Willie

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Willie,

da habe ich mal was von Atmel gesehen:

Low-power Single-chip Synthesizer with Effects
The ATSAM2193 provides a single-chip, low-cost MIDI sound system.
Equipped with a serial and a parallel MIDI input, it provides
state-of-the-art sound synthesis using a full GM sound set together
with a range of compatible effects. Its low power consumption makes it
ideal for all battery-powered applications such as portable Karaoke or
any other device using MIDI synthesis.

(Es gibt auch einen anderen Chip mit MIDI und MP3 Player.)

Du kannst ja mal rauskriegen was der ATSAM2193 so kostet, würde mich
auch interessieren.

Gruß
Michael

P.S: Siehe auch
http://www.atmel.com/dyn/resources/prod_documents/...

Autor: Willie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal so btw: Könnt für simple sounds nicht den pwm verwenden, also sinus
funktionen erzeugen?

Autor: Alisa 1387 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Der soll midifiles abspielen können, die er Beispielsweise
über den Uart reinbekommt. Wie kann ich einen avr sounds generieren
lassen? Es müssen nicht dringend midi files sein."

Es können gar keine MIDI-Files sein, denn MIDI-files sind kein Sound
sondern nur Steuerungs-Daten.

Zum SID kann ich http://www.ucapps.de empfehlen...

Autor: anonym (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein sehr guter Ansatz für einen MIDI-Klangerzeuger ist ein
MIDI-Klangerzeuger...
Das soll jetzt kein Joke sein. Ganz alte ISA-Soundkarten für den PC
hatten so kleine shuttle-Boards mit WaveTable-sounds. Da ist die ganze
Geschichte schon komplett. Sogar GM-128 also 128 Instrumente.
Da geht MIDI rein und sound kommt raus. Braucht nur Stromversorgung.
Damit kann dann ein AVR richtig Musik machen.

In einer alten Elektor gabs mal ne Bauanleitung dazu.
In Netz sollte aber auch die Anschlussbelegung zu finden sein.

Richtige Sounds nur mit dem AVR gehen zwar auch, aber das ist schwerer
und klingt meist nicht so gut. z.B. Wavetable im exteren Speicher,
PWM-Sound, Rechteck+Filter

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nennt sich WaveBlaster. Die Module gibt es ab und zu bei Ebay.

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wärs wenn man nen DAC nimmt um damit die Töne zu erzeugen ? Ich denk
mal 16 Bit müssten dicke reichen um ne Sinus zu erzeugen. Man muss halt
nur ne Sinuswelle erzeugen mit unterschiedlichen Periodenzeiten.
Braucht natürlich ne entsprechend Hohe Frequenz um die Abtastrate zu
erreichen.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nujaa, es gibt da ja noch so lustige Funktionsgeneratoren Marke MAX xyz,
die man digital ansteuern kann und die dann Waves in der entsprechenden
Form und Frequenz erzeugen (monofon, iss klar, müssen halt mehrere
´ran) und es gab da mal vor einiger Zeit YAMAHA Soundchips in
ATARI-Computern?! Vielleicht ein Ansatz. Die Digitalrechnerei und die
Portgeschichten kann der AVR ja dann managen.

Autor: Ingo Henze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder von einer alten Soundblaster 16 den Yamaha OPL-3 Chip (YMF262)
recyceln , und den passenden D/A-Wandler (YAC512) nicht vergessen :-).
Aber Achtung, nicht jede SB16 hatte auch den OPL-3 drauf. Auf dem
Modell CT1740 ist er vorhanden, falls jemand bei eBay auf die suche
geht...

Gruß
Ingo

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.