auv3_midi_recording_workarounds

Many iOS DAWs that otherwise support AUv3 MIDI plugins are unable to record that MIDI to their internal sequencers. This page details workarounds for that situation.

The general method to work around the internal routing limitations of hosts that can't record AUv3 MIDI is to route the MIDI out of the host and then back into it. There are various helper apps that can make this possible. Among those are:

  • MIDI Tools Route by Victor Proof - Many useful tools, but iPad only
  • RouteMIDI by Brian Howarth - for iPad and iPhone
  • Other routing hosts such as Audiobus and AUM that can act as a “bridge”
  • Other standalone apps such as Streambyter that can also act as a bridge

Routing MIDI out of Drambo and back in using a helper app is fairly straightforward, but one has to be careful not to create MIDI feedback loops. Another approach is to add an AUv3 version of Drambo inside itself, record to that, and then drag and drop the recorded MIDI onto a pattern in the host Drambo.

StreamByter Method

This method uses the free Streambyter app to receive MIDI and then pass it back to Drambo. Streambyter is a sophisticated MIDI filter app that can do amazing things with its scripting engine. But here we don't want it to alter anything. In fact, the script must be empty.

The method here may vary according to the nature of the AUv3 MIDI Plugin. For instance, a plugin such as DrumComputer that receives as well as sends MIDI and plays sounds will create a MIDI feedback loop if it is sending out, and then receiving back as well. It's important to disconnect the MIDI input to the plugin in this case. As it's not possible to cover every scenario here, suffice to say that some thought needs to be put toward avoiding these situations. These steps and the following video describe the simple case of a MIDI plugin driving an audio only plugin.

  • Start with a basic track that has an AUv3 MIDI plugin driving a synth plugin.
  • Start Streambyter outside of Drambo as a standalone app.
  • Make sure that Streambyter doesn't have any script commands in it. Comment lines starting with a “#” can be ignored. If there are any other scripting lines, delete them, then press “Install Rules”.
  • Add a MIDI Output module to the end of the track and set its output to Streambyter
  • Check that the track is set to receive MIDI from all sources or from at least Streambyter as appropriate.
  • While you're at it, check that the Mute Style is set to MIDI for the track. You'll need this later.
  • Set the synth plugin to receive MIDI from the track, not from the AUv3 plugin. This can help prevent MIDI feedback loops, and makes it more convenient to switch from the AUv3 driven playback and the recorded MIDI driven playback from the track.

The synth is now being driven by MIDI that goes out through the MIDI Output module to Streambyter and then back into Drambo. Since Drambo can record external MIDI, we're ready to go.

  • Press Record and then Play in Drambo. You should see the MIDI being recorded into the pattern.
  • It's best to press Stop rather than the record button when done recording. This avoids both the track and external MIDI playing back at the same time until you complete the next step.
  • Mute the AUv3 MIDI plugin and the Midi Output module before playing back the track. Since you're now playing with the sequencer, you don't want the external MIDI added on top.

This short video may help understand this process a little better.

[Note: Recording Output from AUv3 MIDI Plugins in NanoStudio 2 has some alternative methods for NanoStudio 2]

This method involves using an External MIDI track to send MIDI out to Streambyter and then back in to the instrument track that you want to play.

  • Open Streambyter as a standalone app outside of NanoStudio 2. Streambyter should have no script commands in it (comment lines starting with a # can be ignored). If there are script lines, delete them, then press “Install Rules”.
  • Add the instrument track and set the MIDI input to All Inputs or to Streambyter. It will also simplify things to set the track to receive MIDI always rather than only when selected.
  • Add an External MIDI track and add the AUv3 you want to send MIDI from as a MIDI FX.
  • Set the MIDI out from this track to Streambyter. Make sure MIDI Thru is enabled.
  • IMPORTANT: Set this track to receive MIDI only from the on-screen keyboard. If not you'll get a MIDI feedback loop.
  • At this point you should be able to play the instrument track from the MIDI AUv3. And you should be able to record the MIDI.
  • Before playing back the recorded MIDI, disable MIDI Thru on the External MIDI track. This is to prevent doubling up the AUv3 MIDI output and the recorded MIDI on the track.
  • auv3_midi_recording_workarounds.txt
  • Last modified: 2022/07/12 03:06
  • by wim