Le midi avec Purebasic
Le midi avec Purebasic
Bonsoir, est-ce possible d'utiliser les fonctions midi de la carte son avec PB ?
J'aimerais pouvoir jouer des notes, en lui indiquant une fréquence, ou encore mieux en lui indiquant la note....
J'aimerais pouvoir jouer des notes, en lui indiquant une fréquence, ou encore mieux en lui indiquant la note....
Quelques manoucheries : I can't give you anything but love / Stompin' at decca
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
merci votre aide, j'essayerais tout ca ce week end...
Dobro : en faisant une recherche sur le forum, j'ai vu que tu a développé une lib pour faire parler l'ordi... tu peut me dire a quel endroit je le télécharge stp ? (je vais surement en avoir besoin pour ce que je fait)
Dobro : en faisant une recherche sur le forum, j'ai vu que tu a développé une lib pour faire parler l'ordi... tu peut me dire a quel endroit je le télécharge stp ? (je vais surement en avoir besoin pour ce que je fait)
Quelques manoucheries : I can't give you anything but love / Stompin' at decca
va sur ce topic !! http://purebasic.forum-gratuit.com/view ... ight=sapi5
il suffit de telecharger des voix au format sapi4, ou sapi5
(je te ferai une archive si tu veux )
sur ce topic on y parle d'une librairie qui gere le sapi4,5 !!
j'ai mis un exemple d'utilisation (un lecteur de press-papier) !!
j'ai arreté Nono ma lib synthevocal !
il suffit de telecharger des voix au format sapi4, ou sapi5
(je te ferai une archive si tu veux )
sur ce topic on y parle d'une librairie qui gere le sapi4,5 !!
j'ai mis un exemple d'utilisation (un lecteur de press-papier) !!
j'ai arreté Nono ma lib synthevocal !

coool !!
merci beaucoup !
merci beaucoup !
Quelques manoucheries : I can't give you anything but love / Stompin' at decca
Ha okkkk
nan parce que j'ai ete troublé par ton commentaire : "note de 15 a 108 la NOTE NUMERO 2 !! "
Tu dis 15 a 108 alors que tu n'etais pas dans la fourchette alors j'ai tout melangé...
EDIT :
J'ai un bug. Regardez ce code, moi, chez moi, je n'ai pas que du piano. Ca se transforme vite en zik d'horreur...
nan parce que j'ai ete troublé par ton commentaire : "note de 15 a 108 la NOTE NUMERO 2 !! "
Tu dis 15 a 108 alors que tu n'etais pas dans la fourchette alors j'ai tout melangé...
EDIT :
J'ai un bug. Regardez ce code, moi, chez moi, je n'ai pas que du piano. Ca se transforme vite en zik d'horreur...
Code : Tout sélectionner
Global m_hMidiOut,m_MIDIOpen.b
; ***************************************************************************
Procedure SendMIDIMessage(nStatus.l,nCanal.l,nData1.l,nData2.l)
dwFlags.l = nStatus | nCanal | (nData1 << 8 ) | (nData2 << 16)
temp.l = midiOutShortMsg_ (m_hMidiOut,dwFlags) ;
If temp<>0
MessageRequester ( "Problème" , "Erreur dans l'envoi du message MIDI" ,0)
EndIf
EndProcedure
Procedure MIDIOpen()
If m_MIDIOpen = 0
If midiOutOpen_ (@m_hMidiOut,MIDIMAPPER,0,0,0) <> 0
MessageRequester ( "Problème" , "Impossible d'ouvrir le périphérique MIDI" ,0)
Else
SendMIDIMessage($C0,0,0,0)
m_MIDIOpen = 1
EndIf
EndIf
EndProcedure
Procedure PlayNoteMIDI(Canal.b,Note.b,VelociteDown.b,VelociteUp.b)
If m_MIDIOpen
SendMIDIMessage($80 | Canal,0,Note,VelociteDown)
SendMIDIMessage($90 | Canal,0,Note,VelociteUp)
EndIf
EndProcedure
Procedure ChargeInstrument(Canal.b,Instrument.b)
If m_MIDIOpen
SendMIDIMessage($C0 | Canal,0,Instrument,0)
EndIf
EndProcedure
; ***************************************************************************
MIDIOpen()
ChargeInstrument(0,0) ; canal , instrument Piano
xx=80+Random(100)
Repeat
PlayNoteMIDI(Random(10),40+Random(50),127,127) ; note de 15 a 108 La NOTE NUMERO 1
Delay(xx+Random(5)*xx)
ForEver
ah c'est bon a savoir ca !le canal 10 dans la norme General midi est réservé a la batterie !!
Quelques manoucheries : I can't give you anything but love / Stompin' at decca
pour les correspondance c'est super simple...
(de tête, donc je peux me tromper)
...
48 = C
49 = C#
50 = D
...
etc...
(de tête, donc je peux me tromper)
...
48 = C
49 = C#
50 = D
...
etc...
Quelques manoucheries : I can't give you anything but love / Stompin' at decca