I've been searching for about a day and haven't found anything that can point me in the right direction for this - either information is lacking, I'm bad at the internet, or it's hard to find information on music programming for a programming language whose name is that of a music note.
Anyways:
I want to take data that I've cooked (from camera, kinect, joystick control, etc.) and use it to send MIDI data to other programs, such as Propellerhead Reason or other DAWs on my machine. Gathering the input and cooking the data is not the issue, but sending the MIDI messages is. I've downloaded the C# MIDI Toolkit from codeproject and am at a loss for where to start. Could somebody point me in the direction of an simulated NoteOn message to be interpreted by a DAW, or other basic example of sending MIDI data?
I can find examples of accessing the Microsoft MIDI Synthesizer, interpreting messages from keyboards and routing them, and a number of other examples, but I feel like this is pretty basic and I'm not sure why I can't find any information on it.
Thanks!
As suggested by MusiGenesis, I recommend creating a virtual MIDI port. However, there is a way to you can embed this directly into your software, and even name it appropriately.
http://www.tobias-erichsen.de/virtualMIDI.html
Tobias' driver allows you to do this, and if you shoot him an e-mail, he will send you the API, which I've found very easy to integrate with .NET.
From there, the C# MIDI Toolkit is all you need. I also recommend checking into NAudio.
This answer seems to suggest that it's possible to configure a virtual MIDI port that your Codeproject MIDI example could write messages to, and that in Reason could be selected as the input source (I haven't tried it myself so I can't say if that would work or not).
Other than that, the normal way of controlling Reason remotely would be to author a VST plugin (degree of difficulty: pretty high).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With