Et si je voulais 10 canaux pour le piano !!?? On retombe dans mon "bug" ??PlayNoteMIDI(1,40+ Random (50),127,127)
Le midi avec Purebasic
Délosé, c'etait pas pour te reprocher quelque chose. C'est pour souligner que pour MOI, il y a un bug.
Regarde ce code, c'est explicite, non ?
Et pourtant il n'y a pas que du piano...
Regarde ce code, c'est explicite, non ?
Et pourtant il n'y a pas que du piano...
Code : Tout sélectionner
MIDIOpen()
For i=0 To 10
ChargeInstrument(i,0); initialisation des canaux 0 a 10 comme etant du piano (0=piano)
Next
x=50+Random(50)
Repeat
PlayNoteMIDI(Random(10),Random(30)+50,127,127) ; utilisation aleatoire d'un des 10 premiers canaux
Delay(Random(12)*x)
ForEver
j'avais deja repondu a ça !!!!
en te disant que le canal 10 est reservé a la batterie
j'vais quand meme pas répéter 20 fois la meme chose

voir ici pour en savoir plus !
http://www.le-terrier.net/electromusic/ ... format.htm
http://www.arpegemusique.com/manuel30/FR400.htm
http://www.inspira-sons.info/@formation ... ndex.shtml
en te disant que le canal 10 est reservé a la batterie
j'vais quand meme pas répéter 20 fois la meme chose


voir ici pour en savoir plus !
http://www.le-terrier.net/electromusic/ ... format.htm
http://www.arpegemusique.com/manuel30/FR400.htm
http://www.inspira-sons.info/@formation ... ndex.shtml

ho fait !! nul besoin d'utiliser plusieurs canal pour faire de la polyphonie !!SPH a écrit :Dobro, tu vois, tu annules encore la possibilité de jouer en multicanal !
en general les synthé et carte son accepte sans probleme jusqu'a 32 notes jouées en meme temps sur un seul canal !!
par contre en general il faut bien comprendre que si l'on prends les 32 notes de polyphonie pour un seul canal, les autres canaux se retrouve sans pouvoir emettre le moindre son !!
pour resumer un canal = un instrument
chaque instrument peut emetre 1 ou plusieurs notes parmis 32 ou 64,ou 128 tout depends du materiel
le problem se pose surtout avec les instrument polyphonique comme la guitare, le piano, l'orgue, c'est sur que si l'on creer 8 orgues (un par canal) qui au meme moment font un accord de 4 sons on a deja les 32 sons possible de pris !!
mais en temps normal , on a sur un canal
un piano : canal 1 (4 sons possible , on peut plus bien sur)
une guitare : canal 2 (4 son possible)
une flute : canal 3 (1 son possible)
batterie canal 10 : (4 sons possible (le batteur ayant 4 membres))
notre petit orchestre peut au meme moment jouer
(4+2+1+4)=11 sons en meme temps !!

ce qui laisse de la marge sur une carte avec une polyphonie de 32 et une POLYTIMBRALITé de 32 !!
polyphonie= possibilité de jouer plusieurs sons par instrument en meme temps
polytimbralité = possibilité de jouer plusieurs instrument en meme temps
voila voila

Ma boite a rythme (a utiliser avec les procedure du dessus) :
Code : Tout sélectionner
MIDIOpen()
OpenConsole()
PrintN("Boite a rythme qui se transforme continuellement")
;;;;;
xx=20+Random(20)
cmb=10+Random(4)
Dim pause(cmb)
Dim zik(cmb)
For i=1 To cmb
pause(i)=xx*(Random(3)+Random(3)+Random(3))
zik(i)=30+Random(100)
Next
;;;;;
stop=4
Repeat
For ii=1 To 4
For i=1 To cmb
PlayNoteMIDI(9,zik(i),127,127)
Delay(pause(i))
Next
Next
stop-1
If Random(stop)=0
stop=4
u=2+Random(4)
PrintN("Nombre d'instruments changes : "+Str(u))
For n=1 To u
i=1+Random(cmb-1)
zik(i)=30+Random(100)
Next
EndIf
ForEver
Code : Tout sélectionner
PlayNoteMIDI(9, #Kick_Drum_1 ,127,127)
Deuxieme chose : combien de voix maxi simultanée il y a dans le canal 9 ?
PlayNoteMIDI(Canal.b,Note.b,VelociteDown.b,VelociteUp.b)SPH a écrit :Hummm, le tout dernier chiffre correspond au volume de la note ??Code : Tout sélectionner
PlayNoteMIDI(9, #Kick_Drum_1 ,127,127)
la velocité (VelociteDown.b) c'est la force avec lequel on appuis sur la touche du synthetiseur
sur un piano comme un synthe si tu appuis fort, tu as un son fort
si tu appuis doucement sur les touches du clavier, tu as un son plus doux et moins fort !!

le VelociteUp.b est la vitesse de remonté de la touche
cela permet d'arreter le son en principe (sur des sons de nappe)
mais quelques fois il faut envoyer un note_off
en principe chaque canal a au moins 16 touches de polyphonieDeuxieme chose : combien de voix maxi simultanée il y a dans le canal 9 ?
(d'apres la norme General Midi )
mais la norme General midi 2
tends a vouloir 255 polyphonies , il me semble
beaucoup de synthe sont actuellement a 32 !

TRES FIER MOI :
http://xmas.free.fr/crisot1/MidiBOX.exe 
C'une une boite a rythme Midi plutot coherente !


C'une une boite a rythme Midi plutot coherente !
Dernière modification par SPH le dim. 17/sept./2006 22:29, modifié 1 fois.
-
- Messages : 2194
- Inscription : jeu. 27/janv./2005 19:07