Le midi avec Purebasic

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Message 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" ??
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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:
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Message 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
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

le 10e channel (donc numéro 9) est dédié a la batterie, ca vient peut etre de là

Dri
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Message 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....
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Message 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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Message 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 
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

.....
Dernière modification par Backup le lun. 25/juil./2011 12:29, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

............
Dernière modification par Backup le lun. 25/juil./2011 12:30, modifié 1 fois.
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Message 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 ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

TRES FIER MOI :

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

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

Message 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 :)
Est beau ce qui plaît sans concept :)
Speedy Galerie
Répondre