Page 2 sur 4

Publié : jeu. 14/sept./2006 15:51
par SPH
Dobro, tu vois, tu annules encore la possibilité de jouer en multicanal !
PlayNoteMIDI(1,40+ Random (50),127,127)
Et si je voulais 10 canaux pour le piano !!?? On retombe dans mon "bug" ??

Publié : jeu. 14/sept./2006 18:01
par Backup
SPH a écrit :Dobro, tu vois, tu annules encore la possibilité de jouer en multicanal !
t'es gentil de me remercier d'avoir pris le temps de te faire les constantes !!

le but de mon dernier listing (repris du tiens) c'est bien d'avoir donné les constantes , pas de faire du multicanal ! :evil:

Publié : jeu. 14/sept./2006 18:58
par SPH
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...

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

Publié : jeu. 14/sept./2006 19:27
par Dr. Dri
le 10e channel (donc numéro 9) est dédié a la batterie, ca vient peut etre de là

Dri

Publié : jeu. 14/sept./2006 19:33
par SPH
Oui, ca doit etre ca. Le "ChargeInstrument" devrait nous renvoyer un message quand ce n'est pas possible de l'utiliser. Il y aurait moins de confusion....

Publié : jeu. 14/sept./2006 20:20
par Backup
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 :? :D

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 :D

Publié : jeu. 14/sept./2006 20:41
par SPH
Dobro a écrit :j'avais deja repondu a ça !!!!
en te disant que le canal 10 est reservé a la batterie
Reservé ok mais un "ChargeInstrument" devait le changer je trouve. Sinon, il n'y a QUE le canal 10 de reservé ?

EDIT : "reservé" = inchangeable; ce que je n'avais pas capté. ok ok

Publié : ven. 15/sept./2006 12:17
par Backup
SPH a écrit :Dobro, tu vois, tu annules encore la possibilité de jouer en multicanal !
ho fait !! nul besoin d'utiliser plusieurs canal pour faire de la polyphonie !!

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 !! :D
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 :D

Publié : ven. 15/sept./2006 12:57
par SPH
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 

Publié : dim. 17/sept./2006 13:36
par Backup
.....

Publié : dim. 17/sept./2006 14:09
par Backup
............

Publié : dim. 17/sept./2006 19:17
par SPH

Code : Tout sélectionner

PlayNoteMIDI(9, #Kick_Drum_1 ,127,127) 
Hummm, le tout dernier chiffre correspond au volume de la note ??

Deuxieme chose : combien de voix maxi simultanée il y a dans le canal 9 ?

Publié : dim. 17/sept./2006 21:16
par Backup
SPH a écrit :

Code : Tout sélectionner

PlayNoteMIDI(9, #Kick_Drum_1 ,127,127) 
Hummm, le tout dernier chiffre correspond au volume de la note ??
PlayNoteMIDI(Canal.b,Note.b,VelociteDown.b,VelociteUp.b)

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 !! :D
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

Deuxieme chose : combien de voix maxi simultanée il y a dans le canal 9 ?
en principe chaque canal a au moins 16 touches de polyphonie
(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 ! :D

Publié : dim. 17/sept./2006 22:15
par SPH
TRES FIER MOI :

#soccer http://xmas.free.fr/crisot1/MidiBOX.exe #peace

C'une une boite a rythme Midi plutot coherente !

Publié : dim. 17/sept./2006 22:25
par Frenchy Pilou
heu : peux-tu mettre un petit texte explicatif avant qu'on ne charge un programme en confiance les yeux fermés pour savoir de quoi il retourne :)
Je me doute que c'est pour du son mais quoi ?
Un clavier, une boite à rythme, une symphonie... que sais-je :)