Forum: Mikrocontroller und Digitale Elektronik Musik machen in Assambler


von R. B. (p1ng)


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?

von Gast (Gast)


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

von Karl H. (kbuchegg)


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.

von TheMason (Gast)


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.

von R. B. (p1ng)


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.

von Johannes M. (johnny-m)


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?

von Karl H. (kbuchegg)


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
  ...

von Hannes L. (hannes)


Lesenswert?

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

...

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.