Login Register
Frontpage Code library Pastebin

GetNote() & GetFreq()

Author: misthema
Added: 10. huhtikuuta 2011 kello 12.18
Edited: 15. huhtikuuta 2011 kello 22.19
Category: Ääni & musiikki

Description

Taajuudet nuotilleen ja nuotit taajuuksilleen. Toimii kätevästi Valtzu:n SinWave() -funktion kanssa!

Code

Select all
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
    // --- Taajuudet + nuotit by misthema (2010) --- //


    /////////////////
    //            //
    //  Esimerkki  //
    //            //
    /////////////////

    For i=45 To 45
        Print i+" = note: "+GetNote(i+12)+", frequency: "+GetFreq(i)
        Wait 250
    Next i

    WaitKey

    // Haetaan nuotti
    Function GetNote(note)
       Select note
          Case 254
             Return ""
          Case 255
             Return "---"
          Default
             Return Trim(Mid("C-C#D-D#E-F-F#G-G#A-A#B-",(note Mod 12)*2+1,2))+""+(note/12)
       EndSelect
    EndFunction

    Function GetFreq(note)
        Return 32.703 * pow(2.0,note/12.0)
    EndFunction
    
    Function pow(a#,b#)
        Return a^b
    EndFunction

Comments

#10 Sent by: Latexi95, 18. kesäkuuta 2011 kello 23.40

Miksi olet erikseen tehnyt potenssifunktion? Eikös tuon olisi voinnut tehdä ihan suoraan ^:n avulla.

Return 32.703 * 2.0^(note/12.0)

Leave a comment

You must be logged in to comment.