Teensy midi output for VST input

Status
Not open for further replies.

St_wclark

New member
First week using a teensy 3.2 to learn about usb midi IO.
I used the "teensy_midi" sketch to successfully drive one of my standalone VSTs using usb midi. It can also drive a VST plugin for my DAW. If I try to use the 3.2 with usb to run two standalone VSTs simultaneously I cannot enable the input port on the second VST. If I shut down the first vst then I can enable the other. I couldn't figure out what search terms to use to find the solution in the forum or FAQ. Still too green.

I have no problem using my Yamaha keyboard to drive multiple standalone VSTs simultaneously.

It's more than just selecting the proper midi channel on my VST. I can't even get that far because I cannot enable the second vst input unless I shut down the first one

Anyone know how to drive more than one VST at the same time from the teensy?

the following sketch outputs a couple octaves of notes and repeats

Sketch

#include <MIDI.h>
#define HWSerial Serial1
MIDI_CREATE_INSTANCE(HardwareSerial, Serial1, MIDI); // 5 Pin DIN Out
const int HWChannel = 2;
const int USBChannel = 1;
void setup()
{
HWSerial.begin(9600);
MIDI.begin();
}
void loop() {
int note;
for (note=20; note <= 63; note++) // Range was changed from 10:127 to save
eardrums.
{
usbMIDI.sendNoteOn(note, 100, USBChannel);
MIDI.sendNoteOn(note, 100, HWChannel);
delay(200);
usbMIDI.sendNoteOff(note, 100, USBChannel);
MIDI.sendNoteOff(note, 100, HWChannel);
}
delay(2000);
}



Thanks
Steve
 
Windows uses it's standard USB-MIDI driver to see the Teensy which is single-client so you can only make ONE connection to it.
A couple of suggestions:-

Connect the Teensy to a virtual Midi pipe (say loopMidi) with a Midi patchbay app like MidiOx or Bome's Translator, then connect both VSTs to the pipe. Virtual midi pipes are multi-client capable.

Another way is to set the Teensy up as eg. USBtype MIDIx4 and have it send the same message to cable 0 and cable 1 giving your host PC two separate Midi ports carrying the same message so simply connect a VST to each port.
 
Thanks MatrixRat. I didn't know about the single-client limitation of the driver. I did see the midix4 type and wondered if that might be a solution.

I use a midi shield with with DIN jacks for In/Out/Thru on my Arduino Uno. I guess the the driver for the shield is more developed since it does route to multiple VSTs simultaneously.

The usb capabilities as well as the size of the teensy platform still makes it pretty attractive to learn about. I'm a rookie with Uno as well as teensy so it's hard to recognize what I'm seeing when I go back and forth between the two platforms.
Steve
 
The DIN from Arduino UNO must connect to some MIDI interface connected to the PC ?
And this has some hardware/software driver layer ?
 
MatrixRat,

Actually as I think about the UNO shield I mentioned, I realize now that it is feeding the input of my audio interface which in turns drives the VSTs. Probably a big difference as far as driving multiple VSTs simultaneously.
Steve
 
So the audio interface drivers has the multi client capability mentioned by MatrixRat, the UNO shield gives a single MIDI connection with up to 16 channels, just as the standard Teensy USB MIDI (not x4) does
 
mlu, good to know what's going on in the background. The same is true with my Yamaha keyboard. It will drive multiple VST's and it is just connected via USB to the PC
 
Status
Not open for further replies.
Back
Top