Forum: Mikrocontroller und Digitale Elektronik Woher/Wie Daten für Melodien bekommen?


von Ralf (Gast)


Lesenswert?

Hallo,

ich hab einen Lautsprecher an meinen µC angeschlossen, Frequenzausgabe 
(momentan nur Rechteck) und weitere Ansteuerung funktionieren. Jetzt 
sollte da natürlich auch was rauskommen und ich frage mich, woher bzw. 
wie ich an die Daten von Melodien rankomme, also Frequenz und Dauer. 
Meine erste Idee wäre nun gewesen, Midi-Dateien ausfindig zu machen und 
entsprechend zu dekodieren. Die Daten würde ich dann in einer 
Code-Tabelle ablegen, in der jeweils zwei Einträge die Frequenz und die 
Dauer angeben. Kennt jemand ein Tool, welches dazu in der Lage ist oder 
hat jemand eine bessere Idee, wie ich dem Lautsprecher Leben verpassen 
kann?

Ralf

von Michael R. (dj_motionx)


Lesenswert?

Hallo !
Für die Dauer der Töne kannst du dir eine Zeitbasis erstellen. Je nach 
Teilung der Zeitbasis könntest du dann ganze, halbe-, vierte-, achtel, 
... -Noten abspielen.

L.g.

von Karl H. (kbuchegg)


Lesenswert?

MIDI ist natürlich eine Möglichkeit.
Es gibt auch Tools, dir dir ein Midi File in normale Notenschrift 
aufdröseln.

Aber warum benutzt du nicht erst mal ein paar Kinderlieder. Die haben 
den Vorteil, dass sie einstimmig sind, jeder kennt sie und wenn du einen 
Fehler im Programm hast, erkenntst du den auch sofort.

Alle meine Entchen
  C D E F G G    A A A A G     A A A A G    F F F F E E   D D D D C
  1 1 1 1 2 2    1 1 1 1 2     1 1 1 1 2    1 1 1 1 2 2   1 1 1 1 2

( 1 =   viertel Note
  2 =   halbe Note

von Ralf (Gast)


Lesenswert?

@M. Rathmair:
Ja, eine Zeitbasis ist bereits vorhanden, mit einer Auflösung von bis zu 
10ms, das ist also kein Problem.

@ Karl heinz Buchegger:
Für einen ersten Test wär das okay, aber was mach ich danach? Will ja 
dann auch die "Wunsch"-Melodien einbauen. Die Notentools kann ich mal 
suchen, danke. Vielleicht finde ich dabei auch ein Tool, welches nicht 
nur die Noten ausgibt, sondern vielleicht gleich die Töne mit Zeitdauer, 
quasi ein Midi-Dekoder.

Ralf

von Karl H. (kbuchegg)


Lesenswert?

Ralf schrieb:

> Für einen ersten Test wär das okay, aber was mach ich danach? Will ja
> dann auch die "Wunsch"-Melodien einbauen. Die Notentools kann ich mal
> suchen, danke.

Deine Zielen nach zu urteilen gehe ich davon aus, dass dein µC schon 
'Alle meine Entchen' spielt?  :-)

(*)

> Vielleicht finde ich dabei auch ein Tool, welches nicht
> nur die Noten ausgibt, sondern vielleicht gleich die Töne mit Zeitdauer,
> quasi ein Midi-Dekoder.

Möglich.
Aber eher unwahrscheinlich.
Was macht Lieschen Müller mit so etwas?

(*) Worauf ich hinaus will:
Wenn du es nicht schaffst, diese paar Noten in deinem Programm 
umzusetzen, brauchst du gar nicht erst mit Midi anfangen.
Und Wunsch-Melodie:
Darauf würde ich zunächst mal überhaupt nicht setzen. Du hast einen (1) 
Tongenerator, bist daher auf 1 Stimme limitiert. Wieviele einstimmige 
Midi-Files mit deiner Wunsch-Melodie wirst du wohl im Netz finden? Da 
stehen deine Chancen noch besser, wenn du im einschlägigen 
Musikalienhandel Noten zu deiner Wunschmelodie kaufst und dort die 
Hauptstimme in dein Programm überträgst. Also im Prinzip genau das, was 
du mit 'Alle meine Entschen' machen müsstest. Wenn du das aber schon 
nicht hinkriegst ....


Edit: Hab mich geirrt.
Mit einem Jamba Abo kriegst du jede Menge einstimmiger Midi Files mit 
allen möglichen Melodien.

von Ralf (Gast)


Lesenswert?

> Deine Zielen nach zu urteilen gehe ich davon aus, dass dein µC schon
> 'Alle meine Entchen' spielt?  :-)
Nja, nicht wirklich :) Aber hast recht, testen auf die Art wär gar nicht 
so dumm, dann hab ich gleich ne Basis. Dann werd ich den Test mal 
implementieren.

> (*) Worauf ich hinaus will:
> ...
Klar, ein Super-Duper-MultiTone-Generator ist das was ich habe nicht :) 
Soll's auch nicht sein. Vielleicht zur Erläuterung, ich will bei einem 
bestimmten Ereignis eine Melodie ausgeben, quasi als Hinweis für den 
User dass welche-Aufgabe-auch-immer jetzt erledigt ist. Nur ist es in 
Textform nicht wirklich möglich, genau zu beschreiben, welche Melodie 
ich suche, daher hatte ich das allgemein formuliert. Vielleicht treib 
ich ja ein paar passende "Hinweis-Melodie"-Midis auf...

Ralf

von C. S. (chrisdask8)


Lesenswert?

Ralf schrieb:
> hat jemand eine bessere Idee, wie ich dem Lautsprecher Leben verpassen
> kann?

Hi

ich gebe dir mal einige interessante Links für einfache Tonausgabe:

http://www.ulrichradig.de/home/index.php/avr/megalol
http://www.ulrichradig.de/home/index.php/software/winbin

Dann benötigst du nur noch ein Programm, dass dir deine Sound-files mit 
den passenden Einstellungen (mono, 8bit, Samplerate...) speichert.

Diese konvertierst du mit dem ulrichradig-Tool und bindest sie in dein 
Projekt ein.
Sollte sich einiges damit machen lassen.

MfG

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.