Musik machen in Assambler

OP #662810
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?
#662944
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.
Gast #662948
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.
#663099
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
  ...

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.