Using LMMS to control a hardware synth
Posted: Thu Oct 07, 2021 5:12 am
Pardon if this has been done before, I did a quick search and didn't see anything on this specifically, but correct me if I'm wrong and if there's a better way, let me know that too!
I tend to be a little verbose, so here's the background: I've acquired a couple hard synths since lockdowns started and so have been composing with those as well as with VSTs in LMMS. I was collaborating with my guitarist friend last weekend, and he played a cool chord progression that sounded nice with some pads that I played under it with an Ensoniq SQ-80. I had the thought that it'd be good if I could control the Ensoniq from LMMS since I would most likely be writing the drum track and synth lead there with plugins and needed everything to sync, and since we're planning on playing live at some point (some tracks of which I also have a guitar and vocal track on) I'll somehow need to be able to accomplish all this using only the two hands I was born with. I asked the question of how to do this on the LMMS sub at Reddit (no offense to y'all, it just seems to get more eyes over there) but after about 10 minutes of experimenting I was able to come up with a solution on my own using VeSTige and I thought this might be helpful to other LMMS users; some of those over at Reddit asked how I did it since I just marked it "solved," so I thought the community might benefit also.
For context, I'm using this Fore USB-MIDI cable with discrete MIDI IN and OUT connections; it has a USB2 connection that branches to MIDI IN and OUT plugs downstream of the control module on the cable:
It's connected in the usual way with the cable marked OUT going into the MIDI IN on the synth, and vice versa:
Now in LMMS, add an instance of VeSTige to the Song Editor in the usual way, but don't actually load a VST into it through the folder icon:
https://preview.redd.it/csxeosklayr71.p ... a962714d1f
In the VeSTige window, go to the MIDI options (keyboard icon) and enable MIDI OUTPUT. In the drop-down menu, select the USB-MIDI cable as the output device; this'll vary according to the particular cable you get and which USB port you plug into, mine was detected as USB Midi:USB Midi 1 on port 32. I wasn't able to take a screencap with this menu visible for some reason, but it's in under the small keyboard icon with the down arrow in the corner:
Just as a reference, I renamed the track with a right-click to the name of the hard synth and particular patch I was using so it easier to set up in a live setting or just when we came back to work on it some more. There's also an instance of the MTPowerDrumkit2 VST in the Song Editor in another VeSTige track because I've started working on the drums.
And that's the basics of it. Despite not having a VST loaded, VeSTige will happily receive and pass through the MIDI data programmed into the piano roll for that track and won't sweat it if you're passing that data through to a plugin or out to an external interface. Another thing it allows you to do is use a MIDI controller at your workstation as an input device to pass through your playing at the computer to the hard synth by setting the controller as the input device in the same VeSTige window you used to set the MIDI output, so you can do record takes in Song Editor and hear them through the synth and amp/PA it's output is connected to in real time and you can trigger playback from Song Editor in the usual way as well while the hardware is across the room on the rack.
A word of caution though, don't set your MIDI in and out both to the hard synth because it'll cause a feedback loop that I was only able to bail out of by shutting the hard synth off with the power switch. You'll also need to control the volume and loaded patch at the synth itself, this isn't something you can do from LMMS since you're transmitting only raw MIDI data. Also, unless you're using a mixer or a PA with everything piped in, the other tracks you program into LMMS will play through whatever output device you've set for LMMS while the synth will play through the amp or PA it's attached to.
Let me know if anything here needs clarification or further explanation and I'll do my best to update.
I tend to be a little verbose, so here's the background: I've acquired a couple hard synths since lockdowns started and so have been composing with those as well as with VSTs in LMMS. I was collaborating with my guitarist friend last weekend, and he played a cool chord progression that sounded nice with some pads that I played under it with an Ensoniq SQ-80. I had the thought that it'd be good if I could control the Ensoniq from LMMS since I would most likely be writing the drum track and synth lead there with plugins and needed everything to sync, and since we're planning on playing live at some point (some tracks of which I also have a guitar and vocal track on) I'll somehow need to be able to accomplish all this using only the two hands I was born with. I asked the question of how to do this on the LMMS sub at Reddit (no offense to y'all, it just seems to get more eyes over there) but after about 10 minutes of experimenting I was able to come up with a solution on my own using VeSTige and I thought this might be helpful to other LMMS users; some of those over at Reddit asked how I did it since I just marked it "solved," so I thought the community might benefit also.
For context, I'm using this Fore USB-MIDI cable with discrete MIDI IN and OUT connections; it has a USB2 connection that branches to MIDI IN and OUT plugs downstream of the control module on the cable:
It's connected in the usual way with the cable marked OUT going into the MIDI IN on the synth, and vice versa:
Now in LMMS, add an instance of VeSTige to the Song Editor in the usual way, but don't actually load a VST into it through the folder icon:
https://preview.redd.it/csxeosklayr71.p ... a962714d1f
In the VeSTige window, go to the MIDI options (keyboard icon) and enable MIDI OUTPUT. In the drop-down menu, select the USB-MIDI cable as the output device; this'll vary according to the particular cable you get and which USB port you plug into, mine was detected as USB Midi:USB Midi 1 on port 32. I wasn't able to take a screencap with this menu visible for some reason, but it's in under the small keyboard icon with the down arrow in the corner:
Just as a reference, I renamed the track with a right-click to the name of the hard synth and particular patch I was using so it easier to set up in a live setting or just when we came back to work on it some more. There's also an instance of the MTPowerDrumkit2 VST in the Song Editor in another VeSTige track because I've started working on the drums.
And that's the basics of it. Despite not having a VST loaded, VeSTige will happily receive and pass through the MIDI data programmed into the piano roll for that track and won't sweat it if you're passing that data through to a plugin or out to an external interface. Another thing it allows you to do is use a MIDI controller at your workstation as an input device to pass through your playing at the computer to the hard synth by setting the controller as the input device in the same VeSTige window you used to set the MIDI output, so you can do record takes in Song Editor and hear them through the synth and amp/PA it's output is connected to in real time and you can trigger playback from Song Editor in the usual way as well while the hardware is across the room on the rack.
A word of caution though, don't set your MIDI in and out both to the hard synth because it'll cause a feedback loop that I was only able to bail out of by shutting the hard synth off with the power switch. You'll also need to control the volume and loaded patch at the synth itself, this isn't something you can do from LMMS since you're transmitting only raw MIDI data. Also, unless you're using a mixer or a PA with everything piped in, the other tracks you program into LMMS will play through whatever output device you've set for LMMS while the synth will play through the amp or PA it's attached to.
Let me know if anything here needs clarification or further explanation and I'll do my best to update.