Sirocooo
Messages postés412Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention 7 avril 2008
-
30 juin 2003 à 17:15
conane_n
Messages postés5Date d'inscriptiondimanche 6 mars 2005StatutMembreDernière intervention 3 juin 2005
-
3 mai 2005 à 11:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Ludolpif
Messages postés138Date d'inscriptionsamedi 11 mai 2002StatutMembreDernière intervention17 mai 2007 1 juil. 2003 à 19:54
je vais poster 1 source basé sur l'idée de celle là
Ludolpif
Messages postés138Date d'inscriptionsamedi 11 mai 2002StatutMembreDernière intervention17 mai 2007 1 juil. 2003 à 11:12
Voilà 1 code qui permet de calculer les fréquences réèles des notes de musique, en se basant sur le LA international... La formule de
calcul n'est pas de moi, je l'ai retrouvée sur le bouquin "Manuel de l'Utilisateur Pour AMSTRAD CPC 6128"... D'exélents souvenirs d'enfance
sur cette machine...
' Dans 1 module :
'API Windows qui donne un son
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
' Octave : Nombre correspondant à l'octave sur lequel l'on veut jouer : compris entre -4 et + 4
' Note : Numéro de la note à jouer :
' 1 - C -> Do
' 2 - C# -> Do Dièse
' 3 - D -> Ré
' 4 - D# -> Ré Dièse
' 5 - E -> Mi
' 6 - F -> Fa
' 7 - F# -> Fa Dièse
' 8 - G -> Sol
' 9 - G# -> Sol Dièse
' 10 - A -> La (la La de l'octave 0 est le LA international : 440 hertz)
' 11 - A# -> La Dièse
' 12 - B -> Si
' Durée : Durée pendant laquelle la note est jouée : exprimé en centièmes de secondes
Function Sound(Note As Byte, Octave As Integer, Durée As Single)
Dim FreqNote As Double
' Formule de calcul d'une fréquence d'une note de musique :
' FreqNote : Fréquence du son correspondant à la note en Hertz
FreqNote = 440 * (2 ^ (Octave + ((Note - 10) / 12)))
Beep FreqNote, Durée * 10
End Function
' Dans 1 Form munie d'un timer nommé Timer1 et d'un bouton Command1 :
Private Chrono As Integer 'Variable pour le chrono
Private Sub Command1_Click()
Chrono = 0 'Remet à zéro le chrono
Timer1.Interval = 150 'Réglage du chrono
End Sub
Private Sub Timer1_Timer()
'Incrémente le chrono
Chrono = Chrono + 1
'Mise en place du son quand il le faut
If Chrono = 1 Then Call Sound(1, 1, 10)
If Chrono = 2 Then Call Sound(10, 0, 10)
If Chrono = 3 Then Call Sound(1, 1, 10)
If Chrono = 4 Then Call Sound(10, 0, 10)
If Chrono = 5 Then Call Sound(7, 0, 10)
If Chrono = 6 Then Call Sound(10, 0, 10)
If Chrono = 7 Then Call Sound(4, 0, 10)
If Chrono = 9 Then Call Sound(1, 1, 10)
If Chrono = 10 Then Call Sound(10, 0, 10)
If Chrono = 11 Then Call Sound(1, 1, 10)
If Chrono = 12 Then Call Sound(10, 0, 10)
If Chrono = 13 Then Call Sound(7, 0, 10)
If Chrono = 14 Then Call Sound(10, 0, 10)
If Chrono = 15 Then Call Sound(4, 0, 10)
If Chrono = 17 Then Call Sound(1, 1, 10)
If Chrono = 18 Then Call Sound(3, 1, 10)
If Chrono = 19 Then Call Sound(5, 1, 10)
If Chrono = 20 Then Call Sound(1, 1, 10)
If Chrono = 21 Then Call Sound(3, 1, 10)
If Chrono = 22 Then Call Sound(1, 1, 10)
If Chrono = 23 Then Call Sound(3, 1, 10)
If Chrono = 24 Then Call Sound(1, 1, 10)
If Chrono = 25 Then Call Sound(7, 0, 10)
If Chrono = 26 Then Call Sound(10, 0, 10)
If Chrono = 27 Then Call Sound(1, 1, 10)
End Sub
Je n'ai pas l'oreille très musicale, j'ai donc repris juste les notes du programme juste au dessus...
Je ferai une fonction plus complète, analogue à la fonction Sound de Quick Basic 4.5
Avec pour notes, une string du style Nokia 3310... Comme ça, vs pourrez écoutez vos mélodies téléchargées sur internet avant de s'embêter à
les recopier sur votre téléphone portable... PAr contre, ça ne prend en charge que les sonneries Monophonique...
Tilois
Messages postés721Date d'inscriptiondimanche 10 juin 2001StatutMembreDernière intervention27 mars 20117 1 juil. 2003 à 10:43
c drole 8/10
cs_Mercury
Messages postés329Date d'inscriptionjeudi 3 janvier 2002StatutMembreDernière intervention 7 octobre 2005 1 juil. 2003 à 07:41
C'est vraiment trés trés con, mais l'idée est originale ! 9/10 !
cs_chocobo
Messages postés126Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention 4 mars 2005 1 juil. 2003 à 00:53
Mmouais amusant mais bon...
Stepharcher
Messages postés117Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention 8 septembre 2008 30 juin 2003 à 17:43
Merci c'est sympa !
Sirocooo
Messages postés412Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention 7 avril 20081 30 juin 2003 à 17:15
Quelques fausses notes mais c'est un bon exemple
9/10
3 mai 2005 à 11:55
2 juil. 2003 à 15:17
allé voir cette source, elle peut etre vous interresser :
http://www.vbfrance.com/article.aspx?Val=7705
bonne prog
2 juil. 2003 à 12:15
1 juil. 2003 à 21:54
Le lien : http://www.vbfrance.com/article.aspx?Val=9542
1 juil. 2003 à 19:54
1 juil. 2003 à 11:12
calcul n'est pas de moi, je l'ai retrouvée sur le bouquin "Manuel de l'Utilisateur Pour AMSTRAD CPC 6128"... D'exélents souvenirs d'enfance
sur cette machine...
' Dans 1 module :
'API Windows qui donne un son
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
' Octave : Nombre correspondant à l'octave sur lequel l'on veut jouer : compris entre -4 et + 4
' Note : Numéro de la note à jouer :
' 1 - C -> Do
' 2 - C# -> Do Dièse
' 3 - D -> Ré
' 4 - D# -> Ré Dièse
' 5 - E -> Mi
' 6 - F -> Fa
' 7 - F# -> Fa Dièse
' 8 - G -> Sol
' 9 - G# -> Sol Dièse
' 10 - A -> La (la La de l'octave 0 est le LA international : 440 hertz)
' 11 - A# -> La Dièse
' 12 - B -> Si
' Durée : Durée pendant laquelle la note est jouée : exprimé en centièmes de secondes
Function Sound(Note As Byte, Octave As Integer, Durée As Single)
Dim FreqNote As Double
' Formule de calcul d'une fréquence d'une note de musique :
' FreqNote : Fréquence du son correspondant à la note en Hertz
FreqNote = 440 * (2 ^ (Octave + ((Note - 10) / 12)))
Beep FreqNote, Durée * 10
End Function
' Dans 1 Form munie d'un timer nommé Timer1 et d'un bouton Command1 :
Private Chrono As Integer 'Variable pour le chrono
Private Sub Command1_Click()
Chrono = 0 'Remet à zéro le chrono
Timer1.Interval = 150 'Réglage du chrono
End Sub
Private Sub Timer1_Timer()
'Incrémente le chrono
Chrono = Chrono + 1
'Mise en place du son quand il le faut
If Chrono = 1 Then Call Sound(1, 1, 10)
If Chrono = 2 Then Call Sound(10, 0, 10)
If Chrono = 3 Then Call Sound(1, 1, 10)
If Chrono = 4 Then Call Sound(10, 0, 10)
If Chrono = 5 Then Call Sound(7, 0, 10)
If Chrono = 6 Then Call Sound(10, 0, 10)
If Chrono = 7 Then Call Sound(4, 0, 10)
If Chrono = 9 Then Call Sound(1, 1, 10)
If Chrono = 10 Then Call Sound(10, 0, 10)
If Chrono = 11 Then Call Sound(1, 1, 10)
If Chrono = 12 Then Call Sound(10, 0, 10)
If Chrono = 13 Then Call Sound(7, 0, 10)
If Chrono = 14 Then Call Sound(10, 0, 10)
If Chrono = 15 Then Call Sound(4, 0, 10)
If Chrono = 17 Then Call Sound(1, 1, 10)
If Chrono = 18 Then Call Sound(3, 1, 10)
If Chrono = 19 Then Call Sound(5, 1, 10)
If Chrono = 20 Then Call Sound(1, 1, 10)
If Chrono = 21 Then Call Sound(3, 1, 10)
If Chrono = 22 Then Call Sound(1, 1, 10)
If Chrono = 23 Then Call Sound(3, 1, 10)
If Chrono = 24 Then Call Sound(1, 1, 10)
If Chrono = 25 Then Call Sound(7, 0, 10)
If Chrono = 26 Then Call Sound(10, 0, 10)
If Chrono = 27 Then Call Sound(1, 1, 10)
End Sub
Je n'ai pas l'oreille très musicale, j'ai donc repris juste les notes du programme juste au dessus...
Je ferai une fonction plus complète, analogue à la fonction Sound de Quick Basic 4.5
Avec pour notes, une string du style Nokia 3310... Comme ça, vs pourrez écoutez vos mélodies téléchargées sur internet avant de s'embêter à
les recopier sur votre téléphone portable... PAr contre, ça ne prend en charge que les sonneries Monophonique...
1 juil. 2003 à 10:43
1 juil. 2003 à 07:41
1 juil. 2003 à 00:53
30 juin 2003 à 17:43
30 juin 2003 à 17:15
9/10