Disable Midi In Device


Is there any way to disable a specific midi-in device?
I am using SonicPi (3.2.0 on Windows 7x64) as a midi generator (sending midi output to a VST host via LoopMidi). My VST host (Hermann Seib’s VSTHost) won’t recognize my Casio keyboard as a midi in device (with SonicPi open) because it is being ‘used’ by SonicPi…

Any ideas?

Thanks in advance.

Hi, it’s changed between 3.2 and 3.3 and I can’t quite remember the 3.2 options now. But as I remember you could start your VST Host first, that would grab the keyboard, then start Sonic Pi. SPi was good about not trying to grab the midi device already in use (other software, not so good). Be aware that the midi system has changed in 3.3 so whatever workaround you do in 3.2 might not work in 3.3.

I need to do a similar thing, and I believe it’s ‘on the list’. My ideal would be where you could explicitly enable/disable individual midi devices, both in and out, like you can in some DAWs e.g. Reaper.

Thanks for the info.
I will give your procedure a spin.

Hi soxsa,

Your procedure worked as you described with version 3.2 - Thank you very much.

Is there a different workaround that you know of for v3.3.1? Those same steps did not work with the latest version- Sonic-Pi v3.3.1 still lists my Casio device as a midi input…

1 Like

Sorry no, I’ve not found something that works reliably. I’ve moved to put SPi on another computer and running over midi cables. That has pros and cons, but at least it should always work. I would like the option to run multiple things on one computer though.

There was another possible option with 3.2 - more stable than the workaround I mentioned - which was a bit involved but I switched off the midi in SPi and used OSC messages instead, going to a program oscii-bot (free, made by the Reaper people) where you can script your own translations from OSC to midi. But we can no longer do that in 3.3.

Again, thank you soxsa for your detailed response.

I am familiar with Oscii-bot (I have used it for Midi-to-Midi translations in the past…)

I was wondering if you could use a virtual machine (i.e. VirtualBox) as a 2nd PC running SPi and transmit midi (between the guest and host PC) via rtpMidi:


Of course, I have no idea what the performance would be…

Finally, it’s strange that the SPi developers weren’t thinking about SPi as simply a midi generator… with

  1. no Midi In connections and
  2. no connection to an Audio Device:
    I currently need to specify a ‘dummy’ (i.e. unused VoiceMeter input) as the SPi output audio device (à la [SOLVED] Select ASIO Driver? - #2 by bcgreen24 such that SPi does not hog up my default sound device when running so my VST host can use ASIO4All…

VMs, I reckon that has a good chance of working. SPi isn’t very resource hungry so I could imagine the performance being good. I’ve used VirtualBox for years for work, and it’s solid. Not tried it for audio though.

Re SPi as a midi generator, control source. Yes, yes, yes! Great minds think alike :smile: I know, it’s fantastic for that. I keep banging on about it in fact. Forget your DAW in session mode or BeatStepPro with its three sequencers - SPi does the lot. Myself, I run a hybrid using a mix of sound from SPi and other sound sources. There’s lots of really useable synth voices, and the sampling powers are excellent (endless really).

Re your point about the dummy sound card - what I did was to have two USB sound cards attached (or use the PC’s headphone jack and one USB sound card) and then have SPi use one output, and the other sound sound use the other. You do need an audio mixer, but then that’s similar to having two separate boxes.