Multiple instances of Softsynth

Discuss problems and solutions.
Post Reply
Krooked
Newbie
Posts:5
Joined:06 Jun 2014 15:17
Contact:
Multiple instances of Softsynth

Post by Krooked » 06 Jun 2014 15:48

Hi!
I have about 15 instances of u-he Diva running in separate channels in Ableton Live.
There is always only one instance running, no parallel playback.

Now i need to find a way to control some parameters (Filter Cutoff, LFO Rate etc.) without having to create a Lemur page for each single synth.

I would like to know how you guys would approach this?

Thanks!

Phil999
Regular
Posts:932
Joined:11 Jan 2012 01:53

Re: Multiple instances of Softsynth

Post by Phil999 » 06 Jun 2014 17:14

one possible solution is to use the 16 MIDI channels and only one virtual MIDI port, going into each Diva instance. Each instance receives from one MIDI channel only. However, how you do this in Ableton I don't know.

Personally I prefer to have only one instance, record MIDI and take note of the synth patch, then render to audio. This way you don't have to deal with many instances, and still be able to go back to a track and make changes and render again.
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro

Softcore
Regular
Posts:1639
Joined:04 Nov 2012 08:34

Re: Multiple instances of Softsynth

Post by Softcore » 06 Jun 2014 22:44

I havent checked but Im quite sure that if we were to use Live's native midi mapping system, each synth instance would be treated, mspping-wise independently. That means if for example we map a control to Instance 1, the same control will not affect Instance 2.

Thus, first of all if we plan to use 15 instances this way, will first and foremost have to map esch parameter we are interested in ( presumably all or at least a large percentage of them) TO EACH instance seperatly - times 15. Tedious work to say the least.



BUT.....IF Diva supports midi cc controls on its own....then things become easier. Instead of using Live's mapping, we will use Diva's and specifically on midi channel 1. Of course, this means that by default one mappedLemur object will control the mapped parameter on ALL 15 instancec.....BUT here comes the cunning part: you design a template where all the controls transmit on all 15 midi channels via a selection menu or something.
Then, in each instance of Diva midi track open the I/O options for the tracks, and for each instance set the midi input to Lemur, midi channel 1-15 (each instance track assigned with a different midi channel).

This way, everytime your Lemur transmits on a channel, for example 12, the corresponding instance will be comtrolled. BUT wait, I know what you are thinking " how will midi channel 12 control any instance when we have mapped Diva to channel 1?" Well see, there is a strange configuration thing going on in Ableton Live.....once midi data are "passed" through the midi input, the channel is always midi ch 1. In other words, whatever the midi input channel is for any midi track in Live, the plug in residing in that channel is still receiving on midi channel 1 - of course, the input setting still allows only the designated midi channel data to "pass" and "reach" the plug in as midi channel 1. Long story short, trust me it will work - as long of course as Diva itself as a plug in is compatible with midi CC.

Krooked
Newbie
Posts:5
Joined:06 Jun 2014 15:17
Contact:

Re: Multiple instances of Softsynth

Post by Krooked » 08 Jun 2014 19:55

Thanks for the replies!
Diva saves internal midi routings once being "midi-learned", so they would be active on armed instances - which is exactly what I'm looking for.
There is one problem though: The AU version of Diva does not support MIDI feedback. Live does not support VST3 as of yet, and there is no x64 version of Diva on Mac. That means lemur won't be fed by the actual values coming from Diva. Is there any workaround for that?

Another odd thing:
When i use a fader instead of a knob on Lemur, the value on the internally routed parameter in Diva moves straight to the maximum value when being pushed, and then jumps on the minimum value when being released. Knob routing works fine though. Any help?

Thanks!

Softcore
Regular
Posts:1639
Joined:04 Nov 2012 08:34

Re: Multiple instances of Softsynth

Post by Softcore » 08 Jun 2014 20:35

Krooked wrote:Thanks for the replies!
Another odd thing:
When i use a fader instead of a knob on Lemur, the value on the internally routed parameter in Diva moves straight to the maximum value when being pushed, and then jumps on the minimum value when being released. Knob routing works fine though. Any help?

Thanks!
You have accidentally mapped the z parameter of the lemur fader instead of the x, the z is what a touch sensitive hardware fader would send when touched, usually 0 when un-touched, 127 when touched (like a push button) hence if you accidentally map that instead of x it's like you 've mapped a button.

In the midi mappings window of Lemur editor take extra notice what "expression" of an object you are mapping - you should map x for fader movement. ;)

Phil999
Regular
Posts:932
Joined:11 Jan 2012 01:53

Re: Multiple instances of Softsynth

Post by Phil999 » 09 Jun 2014 01:23

parameter feedback is still a problematic thing today. I know only one DAW that can do this properly. Check the Logic manual, maybe there is a workaround using the environment.

Edit: I meant Live manual. I was confusing Logic and Live.
Last edited by Phil999 on 09 Jun 2014 23:51, edited 1 time in total.
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro

Krooked
Newbie
Posts:5
Joined:06 Jun 2014 15:17
Contact:

Re: Multiple instances of Softsynth

Post by Krooked » 09 Jun 2014 19:58

Thanks for the tip with the z value Softcore!

Ok, so no internal parameter feedback over AU plugins means i need to go through DAW routing.

EDIT: Found a solution!
Create an instrument rack, put Diva into the rack, and map the parameters i want to modulate to the instrument rack's macro.
Then create a remote midi script (so Lemur shows up as a control surface) for live, which can automap my 8 faders from Lemur into the selected (the blue hand will show up) track's instrument rack.

Here is the code for the user config file for live: (the faders in my Lemur project are currently CC0 - CC7 - if your faders have different values simply change them in the "Encoder" list in the file below.

Code: Select all

# Config File for User-defined Instant Mappings

# We assume that the controls on your MIDI controller
# send CCs (except for pads). All controls that do not have
# an explicit channel setting are expected to use the
# global channel. CCs & Notes are counted from 0-127
# and channels from 0-15.

[Globals]
# The channel that the controller should send on
GlobalChannel: 0
# If your controller is connected via USB, replace ControllerName
# with the name of the respective port. Live will then try to
# recognize the ports for you when you select your Instant-Mappings
InputName: Daemon Input 0
OutputName: Daemon Output 0
# If your controller has pads that send notes, you can use them to
# play the visible pads in your DrumRacks. Just replace the -1 for
# the note (and channel) of the respective pad. The arrangement of
# the pads in the DrumRacks is as follows:
#   1     2     3     4
#   5     6     7     8
#   9    10    11    12
#  13    14    15    16
# (If you leave the channel of a pad at -1, Live will assume that
#  the pad uses the global channel)
Pad1Note: -1
Pad2Note: -1
Pad3Note: -1
Pad4Note: -1
Pad5Note: -1
Pad6Note: -1
Pad7Note: -1
Pad8Note: -1
Pad9Note: -1
Pad10Note: -1
Pad11Note: -1
Pad12Note: -1
Pad13Note: -1
Pad14Note: -1
Pad15Note: -1
Pad16Note: -1
Pad1Channel: -1
Pad2Channel: -1
Pad3Channel: -1
Pad4Channel: -1
Pad5Channel: -1
Pad6Channel: -1
Pad7Channel: -1
Pad8Channel: -1
Pad9Channel: -1
Pad10Channel: -1
Pad11Channel: -1
Pad12Channel: -1
Pad13Channel: -1
Pad14Channel: -1
Pad15Channel: -1
Pad16Channel: -1

[DeviceControls]
# The Encoders will control the device parameters (you can also
# use knobs or sliders). Replace the -1's with the CCs sent by
# the respective controls on your controller. You can also set
# the channel for each controller if it differs from the global
# channel (if you leave the channel of an encoder at -1, Live
# will assume that the encoder uses the global channel).
Encoder1: 0
Encoder2: 1
Encoder3: 2
Encoder4: 3
Encoder5: 4
Encoder6: 5
Encoder7: 6
Encoder8: 7
EncoderChannel1: -1
EncoderChannel2: -1
EncoderChannel3: -1
EncoderChannel4: -1
EncoderChannel5: -1
EncoderChannel6: -1
EncoderChannel7: -1
EncoderChannel8: -1
# Enter the respective map mode for the encoders here. The following
# map modes are available:
# - Absolute
# - Absolute14Bit
# - LinearSignedBit
# - LinearSignedBit2
# - LinearTwoCompliment
# - LinearBinaryOffset
# - AccelSignedBit
# - AccelSignedBit2
# - AccelTwoCompliment
# - AccelBinaryOffset
# Consult the controller's documentation to find out which mode to use.
EncoderMapMode: Absolute
# Buttons used here are expected to not be toggles (i.e., sending
# value 0 every second time you press it).
Bank1Button: -1
Bank2Button: -1
Bank3Button: -1
Bank4Button: -1
Bank5Button: -1
Bank6Button: -1
Bank7Button: -1
Bank8Button: -1
NextBankButton: -1
PrevBankButton: -1
LockButton: -1

[MixerControls]
# Again enter the appropriate CCs for the respective controls.
# If all sliders use the global channel to send their data,
# you can leave the channels at -1. You can, of course, use
# encoders or knobs instead of sliders.
VolumeSlider1: -1
VolumeSlider2: -1
VolumeSlider3: -1
VolumeSlider4: -1
VolumeSlider5: -1
VolumeSlider6: -1
VolumeSlider7: -1
VolumeSlider8: -1
Slider1Channel: -1
Slider2Channel: -1
Slider3Channel: -1
Slider4Channel: -1
Slider5Channel: -1
Slider6Channel: -1
Slider7Channel: -1
Slider8Channel: -1
MasterVolumeSlider: -1
MasterSliderChannel: -1
Send1Knob1: -1
Send1Knob2: -1
Send1Knob3: -1
Send1Knob4: -1
Send1Knob5: -1
Send1Knob6: -1
Send1Knob7: -1
Send1Knob8: -1
Send2Knob1: -1
Send2Knob2: -1
Send2Knob3: -1
Send2Knob4: -1
Send2Knob5: -1
Send2Knob6: -1
Send2Knob7: -1
Send2Knob8: -1
TrackArmButton1: -1
TrackArmButton2: -1
TrackArmButton3: -1
TrackArmButton4: -1
TrackArmButton5: -1
TrackArmButton6: -1
TrackArmButton7: -1
TrackArmButton8: -1
VolumeMapMode: Absolute
SendsMapMode: Absolute

[TransportControls]
# The transport buttons are also expected not to be toggles.
StopButton: -1
PlayButton: -1
RecButton: -1
LoopButton: -1
RwdButton: -1
FfwdButton: -1




Krooked
Newbie
Posts:5
Joined:06 Jun 2014 15:17
Contact:

Re: Multiple instances of Softsynth

Post by Krooked » 10 Jun 2014 09:00

The lemur app can now automatically control all selected devices, and also reads parameter names and values (through RemoteSL control surface script + sysex). One thing that bugs me is that I would have to use the APC40 to select track and device.
Are there no midi mappings for "scroll to next track" and "next device"? Do I have to use the Mackie protocol for that?

EDIT: Got that working too. I added Selected Track Control (http://stc.wiffbi.com) as a control sruface, changed some ports in it's settings.py file, made sure none are clashing. Voila!

moon matrix 0
Newbie
Posts:12
Joined:18 Nov 2014 13:55

Re: Multiple instances of Softsynth

Post by moon matrix 0 » 18 Nov 2014 19:51

Can someone please post a step by step guide on how to do this? The previous posts talk about remote scripts. Where does it go exactly? Is it in the library? or in the APP? Is it in txt or in python? I'm so lost! :(

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Multiple instances of Softsynth

Post by Macciza » 20 Nov 2014 02:57

Hi
First do a net search on Remote Scripts for Live to get a bit of an idea of what's going on . . .
Then either check out User Remote Scripts if you want to design your own from scratch, or the Ableton9 Remote Scripts that have been recompiled and are available online if you wish to use another device as a starting point . .
That last sentence should make sense after following thru on the first sentence . .

Ok now reread the post above and you'll find most of the info is there really . .
In particular check out the Selected Track Control part of it for a possible solution

There are a number of ways that you could do it I suppose but you need to get a bit more of an idea of what your doing...
Check out that stuff and see how you go and get back to us . . .

Cheers
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

Post Reply