Integrating Logic and VCV Rack. Video tutorial

Hi, I made a video showing how to integrate Rack with Logic.

Hopefully this helps a few people take advantage of the awesomeness that is VCV rack.

I called it VCV Racks several times - is this a faux pas? Reminds me of a person at work who always says ‘visual studios’ and made me cringe on listening :grinning: Sam


Text note:

VCV Racks, Soundflower and Midi IAC

The general idea is that we are going to create some OS level tools to help us route audio and midi inside the operating system. In the end, we can route midi to VCV Rack and get audio back.

We can also route midi AN audio to process audio using effects and modulator that are tempo-synced - via midi clock - to Logic.

Create Midi IAC bus

  • We will create virtual midi device you can route midi data to from Logic. VCV Rack uses it as an input. We get note and clock information from it.
  • Open Audio MIDI Setup
  • Window \ MIDI Studio
  • Find IAC Driver
    • Highlight it
    • Click show device info
    • Create IAC Bus 1 if you don’t have it

Create Aggregate Device

  • In order to use sound flower with your existing audio interface we need to create a device that combines your existing audio interface with an internal virtual device called sound flower. You can also use your built in Mac audio to do this, no fancy hardware needed, but your latency may not be great…but maybe it will be?
  • Install sound flower. It is now open source.
  • Open Audio/MIDI settings \ Audio Devices.
  • Hit the plus button in the lower left \ create aggregate device.
  • Select your interface first and the Soundflower (64ch) interface second. If you only want to use one stereo pair of audio with VCV Rack, you can use the 2ch Soundflower interface. Makes things a bit easier to look at.
  • At the top, set clock source to your hardware interface.
  • My sample rate says 44.1kHz.
  • Note what inputs and outputs are your hardware and what are Soundflower
    • May need to stretch the window out to see!
    • Input: I have 1-12 for my hardware and 13+ for soundflower.
    • Output: I have 1-8 for my hardware and 9+ for soundflower
  • Rename you aggregate device in the left pane by clicking on the name. I name mine with the starting Soundflower inputs in the name.

Configure Logic

  • Create a new song
  • Switch to the new aggregate interface
  • In project settings send midi sync data on MID IAC Bus 1
  • In Logic Preferences \ MIDI \ Inputs and uncheck IAC drivers

Configure Logic Instrument for VCV Rack.

  • This track will send your clock and midi data (if you want).
  • Create an instrument track for the VCV Rack ‘instrument’. Select Instrument type of: Utility \ External Instrument \ Stereo
  • In the External Instrument settings, set MIDI Destination to IAC Driver IAC Bus 1, MIDI Channel All, unless you have a reason to use just 1 channel.
  • Set the Input to your first pair of Soundflower inputs. For me, that is 13-14.
  • Create a sequence in this track and loop it. Put an effect on the track like delay or whatnot.
  • Save your Logic song. Things might get a little crashy.

Open VCV Rack

  • Turn your speakers down. If you get something incorrectly set, some nasty sounds can happen.
  • I am opening the Quickstart patch. You will need MIDI-CV and an Audio-8 or similar module.
  • For MIDI-CV select Core MIDI and IAC Bus 1, or whatever you called yours.
  • For Audio-8 select core audio and then select ‘ma++ installs for Cycling ’74: Soundflower (64ch) (1-8 in, 1-8 out). Or the 1-2 option if that is what you picked.

Playback in Logic

  • Play in Logic and you should hear some sound. You can take the clock/n and connect that to something in the rack to tempo sync VCV to logic’s clock.

Before we do this, let’s note our input/output pairs for sound flower in the aggregate device.

  1. 13-14 | 9-10
  2. 15-16 | 11-12
  3. 17-18 | 13-14

Pair number 1 is used for by our VCV Rack sound coming back.

We will send audio on ‘pair 2’. And then get that audio back on pair 3. We need to do it this way because when something is routed to sound flower on an input, it is also routed to the matching output, so to keep the two separate, we need to use another set.

Configure audio send in Logic

  • Create an audio instrument or audio loop you would like to process with VCVRack (optional).
    • Insert an effect on this track: Utility \ I/O
    • Set Output to second set of soundflower output - for me 11-12.
    • Set Input to your third soundflower inputs - for me 17–18
    • Back to VCV, need to configure the Audio interface to feed audio into a module and then back to logic.
    • Pick a module and connect to Audio-8
      • Connect From Device (3-4) to the input of the module.
      • Connect To Device (3-4) to the output of the module.
      • Connect clock\n to the module if desired. Yes, you desire.
      • Adjust module to get some wet sound
    • Go back to logic and press play. Open the I/O plugin and press the ping button set set latency compensation.