Controlling external software synths with MIDI

#1

Hello!

Is it possible to control external synth’s from sonic pi? I know you can send midi notes, but I am wondering if it’s possible to control a synths ADSR or any other knob/slider from Sonic Pi?

I’d be trying this out in ableton using the omnisphere 2 vst synth.

Thanks for the help!

-Lee

0 Likes

Connecting to VST Host
Is it possible to control via Sonic Pi an instrument in Ableton?
#2

Hi there,

which external synth(s) are you trying to control, and what API(s) do they support (i.e. OSC/MIDI)?

0 Likes

#3

I’m trying to control Omnisphere 2 and it supports midi

https://support.spectrasonics.net/manual/Omnisphere2/concepts/automation/page02.html

Thanks, Sam!!

0 Likes

#4

Which OS are you running?

0 Likes

#5

I’m using apple, osx yosemite on a macbook pro.
And am using Ableton for my daw

0 Likes

#6

Ok, then you just need to enable the built-in virtual loopback midi port to let you send midi from Sonic Pi to another app :slight_smile:

0 Likes

#7

Thanks!!!

0 Likes

#8

A quick google turned up this which may help:

http://www.johanlooijenga.com/tools/12-virtual-ports.html

0 Likes

#9

I got things set up and it’s all working! Midi CC messages and all.

An infinite amount of thanks to you, Sam!

1 Like

#10

Fab stuff - I love the video :slight_smile:

Btw- top tip - if you find yourself combining in_thread and loop chances are you’ll be better off just using a live_loop instead!

1 Like

#11

I’ve been playing with the super donate-ware synth HELM with Sonic Pi 3 on my Mac. Here is a video showing two parameters (volume and bpm) of the synth being controlled. Any of the other knobs and sliders can be controlled in a similar manner. Links to the code shown in the text below the video.

1 Like

More Sonic PI and HELM synth
#12

Thanks, Robin! You have had the answers to all my questions

1 Like

#13

Hi all—I’m sending MIDI via Sonic Pi (3.1.0) to Logic Pro (10.4.4) in order to control some software synths.

  • I have four live loops playing MIDI notes, each sending over the same port, but on its own channel (1–4 respectively), using the “channel: [x]” opt.
  • In Logic, I have four independent tracks receiving MIDI via a corresponding MIDI channel (1–4).

However, each track in Logic is receiving all MIDI regardless of the channel that I’ve specified in the track’s Inspector—that is, instead of each track receiving only one note message, it receives all four.

  • For example, Sonic Pi is playing a :c4 on MIDI channel 1, but instead of being received on only Track 1 in Logic, that :c4 is sounding on all four tracks. I only have Channel 1 selected as the MIDI channel for Track 1 in Logic, and Channel 2 for Track 2, etc.

Is this an issue with Sonic Pi or Logic?

0 Likes

#14

Hi there,

by default Sonic Pi’s midi function sends a MIDI event to all connected MIDI devices on all channels. This makes it very easy to get things working in simple cases. However, for more sophisticated uses, such as the one you’re describing where you’re working with multiple MIDI streams it clearly is an issue.

The solution to this is to use the port: and channel: opts to midi to restrict the outgoing messages to just a specific MIDI port and channel:

midi :e1, sustain: 0.1, port: "moog_minitaur", channel: 1

Hope that this helps.

0 Likes

#15

Thanks Sam. As mentioned in my prior post, I’m already employing the “channel” (and even “port”) opts to specify individual MIDI channels. That said, in Logic, I’m still receiving MIDI data on all channels despite also specifying channels within that environment. I don’t know if it’s a Sonic Pi or Logic issue.

0 Likes