www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Musik machen in Assambler


Autor: R. B. (p1ng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo leute ich hab mal ne frage ich habe mit meinem Board ein Lied 
geschreiben, also alle meine Entchen in Assambler, ich benötige 
Konstante:

Meine Hardware:

myAVR Board 2.0

www.myAVR.de


Momentan:
:----------------------------------------------------------
; Konstanten:
.equ dauerH, 240
.equ dauerL, 0
.equ quite, 0
.equ tonC2, 109
.equ tonD2, 97
.equ tonE2, 87
.equ tonF2, 82
.equ tonG2, 73
.equ tonA2, 65
.equ tonH2, 58
.equ tonC3, 55
.equ d1, 16
.equ d2, 8
.equ d4, 4
.equ d8, 2
.equ d16, 1

melodie:
    .byte d4,tonC2,d4,tonD2,d4,tonE2,d4,tonF2
    .byte d2,tonG2,d2,tonG2
    .byte d4,tonA2,d4,tonA2,d4,tonA2,d4,tonA2
    .byte d1,tonG2
    .byte d4,tonA2,d4,tonA2,d4,tonA2,d4,tonA2
    .byte d1,tonG2
    .byte d4,tonF2,d4,tonF2,d4,tonF2,d4,tonF2
    .byte d2,tonE2,d4,tonE2
    .byte d4,tonG2,d4,tonG2,d4,tonG2,d4,tonG2
    .byte d1,tonC2
    .byte 0xFF,0xFF
:---------------------------------------------------------------

Mir Fehlen also Konstante wie zb. E3,D3,F3,G3,P, usw diese fehlen mir um 
andere Lieder zu schreiben hat da jemand anhnung ??

was ich schreiben will ist zb.

Nena: 99 Luftballons

C3(1/8) E3(1/16) C3(1/8) P(1/16) E3(1/8) D3(1/8) C3(1/16) A2(1/16) 
P(1/16) A2(1/16) P(1/16) A2(1/16) F3(1/16)F3(1/16) P(1/16) F3(1/16) 
P(1/8) F3(1/16) P(1/16) F3(1/8) E3(1/16) D3(1/8) P(1/16) C3(1/8) D3(1/8) 
E3(1/16)C3(1/8) E3(1/8) D3(1/8) C3(1/16) A2(1/16) P(1/16) A2(1/16) 
P(1/16) A2(1/16) C3(1/8) A2(1/16) C3(1/8) A2(1/8)C3(1/8) A2(1/16) 
C3(1/8) D3(1/16)

Brauch ich halt noch andere Noten kann mir bitte jemand Helfen gruß 
renaldo

PS: Hat jemand die Noten von Spiel mir das Lied vom Tod?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am pesten Macht du in Pesik, da habe ich nohten
für Alle musick.
muss Nur passent fragen tun.

Was willst Du nun wirklich ?

Gast

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

Bewertung
0 lesenswert
nicht lesenswert
Renaldo B. wrote:
>
> Mir Fehlen also Konstante wie zb. E3,D3,F3,G3,P, usw diese fehlen mir um
> andere Lieder zu schreiben hat da jemand anhnung ??

Was hindert dich daran, die selber auszurechnen?
Der Frequenzunterschied von einem Halbton zum nächsten
macht einen Faktor von 12-te Wurzel aus 2 = 1.05946.
Da eine Oktave aus 12 Halbtönen besteht, hat ein C in der
nächst höheren Oktave genau die doppelte Frequenz
Hat also das A eine Frequenz von 440 Hz, so hat das A in
der Oktave darüber 880 Hz.

Allerdings bezweifle ich, dass du mit der bisherigen Art
der Klangerzeugung das hinkriegen wirst. Deine Konstanten
sind einfach zu klein, um da noch vernünftig in die Oktave
darüber reinrechnen zu können. Auf der anderen Seite wird
ein Byte nicht ausreichen um den Tonumfang der nächst tieferen
Oktave abdecken zu können.

Da wirst du wohl deine Soundgenerierung 'umschreiben' müssen.

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Allerdings bezweifle ich, dass du mit der bisherigen Art
>der Klangerzeugung das hinkriegen wirst.

kann dem nur zustimmen.

@renaldo

les dich mal in das thema DDS ein. damit wirst du weniger probleme haben 
und bessere ergebnisse erzielen.

Autor: R. B. (p1ng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sry kanneuch geradenicht ganz folgen hat jemandmalein beispiel?

Wasist DDS?

Wichtig ist auf jedenFall dasP dan kannich schonmehr machen aber ich 
weis newas das P heißen soll.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Renaldo B. wrote:
> Wichtig ist auf jedenFall dasP dan kannich schonmehr machen aber ich
> weis newas das P heißen soll.
*P*ause vielleicht?

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

Bewertung
0 lesenswert
nicht lesenswert
Renaldo B. wrote:
> Sry kanneuch geradenicht ganz folgen hat jemandmalein beispiel?

Wofür brauchst du ein Beispiel? Fürs Multiplizieren?

Dein C hat einen Wert von 109
Der nächst tiefere Ton, H, wäre dann bei
  109 * 1.05946, oder 115.48114, gerundet also 115
Nach H kommt AIS (oder B, je nachdem wie man es sehen will)
  115.48114 * 1.05946, macht 122.3476, gerundet 122
Danach kommt A
  122.3476 * 1.05946, macht 129.6224, gerundet 129
Danach kommt ...

Du musst dich schon auch mit den Dingen beschäftigen und nicht
nur stumpfsinnig abtippen.

Und falls das nicht klar ist, die Tonleiter geht:

  ...
  C
       CIS (DES)
  D
       DIS (ES)
  E
  F
       FIS (GES)
  G
       GIS (AS)
  A
       AIS (B)
  H
  ...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Beispiel ohne DDS in verschiedenen Varianten:
http://www.hanneslux.de/avr/divers/index.html

...

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.