mikrocontroller.net

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


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael Rathmair (dj_motionx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: C. S. (chrisdask8)
Datum:

Bewertung
0 lesenswert
nicht 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

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.