Midi Notes


I am writing a small application in VB6 that requires the playing of randomly generated single jazz guitar notes (#27), at varying intervals, which can be quite close, i.e. the notes are sometimes required to be played in quite quick succession.

I have been using the MCI control to open and play each midi note (thay have been recorded and saved in a music sequencer application and are saved as separate files on the hard drive), but find that this method is too slow and does not function correctly all the time.

i) Is there a way of reading those files into memory and having the control playing them from there or;

ii) Can the notes be produced and played in some other way. Each note event is triggered by a command button click and/or a variable timed routine that calls the same click event.

iii) I have often noticed that the control does not work at all and on placing a meesage box to trap errors after the open command I get the the message "Invalid MCI device ID. Please use the ID returned."
Can someone give me a hand there.

I am reasonably experienced in VB mainly in database related work but have not done any, and know little about, MIDI and sound programming. Hope someone can help!

Thanks in anticipation,

Phil E


  • Hi,

    A better option I think would be to open the MIDI synth directly and play notes on it. There will be code out there in VB to show you how it works.

    At JWCS.NET Ltd we're currently putting the finishing touches to an ActiveX module to let you do this really easily, and I can send you a BETA version of it if you like - just email me, I'm: jonathan@jwcs.net It's got decent (nearly finished) documentation with it too... Once we've finished it, it will certainly be free for non commercial use, though if you send any BETA feedback, you can have it free for commercial use whatever we decide for everyone else. :-)

    Good luck!


    Count downloads from your site for free!

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


In this Discussion