Setting up MidiShaper in Logic
Setting up MidiShaper in Logic is trickier than in most other host sequencers and definitely provides some pitfalls. We'll show you what can be done and which limitations and flaws Logic provides. If you succeed, you'll get super-flexible LFOs added to your favorite hardware devices, to Logic's controls and to your software synthesizers and effects.
Modulating your hardware devices
Load MidiShaper, select a MIDI output from within MidiShaper and select a MIDI CC to output to. Now your old hardware synthesizers and effects, or your VJ equipment got super-flexible LFOs and EGs, just as this Slim Phatty got.
To set up your hardware devices, use their built-in "MIDI Learn" (if available) or refer to this overview of standard CC numbers.
Note: For the waveform to update correctly, audio playback must run and there must be either an audio signal or a virtual instrument on MidiShaper's track. That's because Logic bypasses plugins that it regards as inactive.
Modulating your software devices: Preparation
Before we start, note that AU plugins cannot output MIDI directly to your host sequencer. This results in less than perfect timing accuracy in MidiShaper's AU version, and the update rate is reduced to once per audio buffer. You can set up virtual MIDI ports in your system preferences. To do so, open your system's "Audio-MIDI-Setup", then select "Show MIDI Window" from the "Window" menu, double-click the IAC driver and check "Device is online". You can then add and remove MIDI ports — we recommend to add at least 4 of them. Note that if you install or remove MIDI ports later, you might need to set up the chosen MIDI port again in MidiShaper.
Modulating software synthesizers via their built-in "MIDI Learn"
We use the software synthesizer TyrellN6 by u-he for this example, but it should basically work the same with any software synthesizer that has a built-in "MIDI Learn" function.
1. Create a project with TyrellN6 and add some notes.
2. Add MidiShaper to TyrellN6' track. Within MidiShaper's interface, set it up to route "Source 1" to any MIDI CC (we've used CC9 here) and to output to any IAC Bus, for example "IAC Bus 2".
3. Arm TyrellN6' track.
4. Open TyrellN6, right-click on the control that you want to be automated, for example the filter's "Cutoff"-slider, choose "MidiLearn" and the slider will instantly start moving.
5. To control another parameter, set up LFO 2 for some side-chain-like pumping automation, and route it to MIDI CC11. So MidiShaper is now sending both MIDI CC9 and CC11 at the same time—which is a problem, as TyrellN6 does not know which one to use for its "MIDI Learn"-function. To solve this, set up MidiShaper's "Teach MIDI CC"-menu to send out MIDI CC11. This bypasses any other setting and will only send out some signal to CC11 for now.
6. Open TyrellN6, right-click on another control that you want to be automated, for example the "Output"-knob and choose "MidiLearn". This is now set up to be controlled by CC11.
7. Open MidiShaper, and set "Teach MIDI CC" to "Off". MidiShaper will then send out CC9 and CC11 again, and both TyrellN6' "Cutoff"-slider and "Output"-knob get automated.
Note: You need to choose "Realtime" in Logic's "Bounce"-dialog when bouncing audio, otherwise the automation will not be included.
Note: For some software synthesizers, the MIDI setup is saved globally. So if you open another instance of the synthesizer, or use them in other songs, they will use the same assignment.
Software effects are – to our knowledge – not able to receive MIDI in Logic, so they cannot make use of "MIDI Learn".
Modulating plugins and Logic's controls via Logic's "Controller Assignments"
For software synthesizers that do not offer an in-built "MIDI Learn", as well as for software effects and Logic's own controls you need to use Logic's "Controller Assignments". But this can also be helpful when modulating several instances of a software synthesizer (remember - software synthesizers that store their MIDI setup globally got issues with the method presented before).
1. Create a new project with two instances of TyrellN6 and add some notes.
2. Lets automate a software instrument. Add MidiShaper to the first track. Within MidiShaper's interface, set it up to route "Source 1" to any MIDI CC (we've used CC9 here) and to output to any IAC Bus, for example "IAC Bus 2".
3. Open TyrellN6 and move the control that you want to be automated, for example the "Cutoff"-slider. Then open Logic's "Controller Assignments" from the Preferences, and choose "Expert View". There, uncheck the button on the top-left corner and click on "Learn Mode" in the bottom right corner. An entry for the selected control gets added immediately. Uncheck "Learn Mode" afterwards.
4. Replace "Selected Track" with "Index" – otherwise, selecting another track would immediately automate that one. You also need to provide the number of the track (the "index"). If you have 8 tracks in your project and TyrellN6 is on track 5, the index would be "5". Note that you need to update the index if you move the track or if you add another track before this one. (We would have loved to choose "Software Instrument" in the menu instead, but this behaves in a way we do not understand.)
5. Now lets use the same instance of MidiShaper to automate the track's volume slider and set up LFO 2 for some side-chain-like pumping automation, routed to MIDI CC11. So MidiShaper is now sending both MIDI CC9 and CC11 at the same time—which is a problem, as Logic does not know which one to use for its MIDI Learn function. To solve this, set up MidiShaper's "Teach MIDI CC"-menu to send out MIDI CC11. This bypasses any other setting and will only send out some signal to CC11 for now.
6. Move the volume slider of the track a bit, then open Logic's "Controller Assignments", and click on "Learn Mode". An entry for the volume slider will appear. Again, uncheck "Learn Mode" and then change "Selected Track" to "Index" and provide the number of the track.
7. Open MidiShaper, and set "Teach MIDI CC" to "Off".
8. Modulating the second track with another instance of the software synthesizer TyrellN6 or modulating a software effect works similarly. You can use the existing MidiShaper instance, or open another one. If you use another one, make sure to use either a different IAC Port or a different MIDI CC-number.
Note: The automation will not be included when bouncing audio, even when choosing "Realtime" in Logic's "Bounce"-dialog. Also note that the settings in Logic's "Controller Assignments" are stored globally and not per song. Both issues can be solved by recording the automation: Click on Logic's "Automation"-icon and then choose "Touch" on the track. This is what it looks like in our example after recording:
Do you have any feedback for us on this tutorial?
Contact us and let us know!