Audiobus: Use your music apps together.

What is Audiobus?Audiobus is an award-winning music app for iPhone and iPad which lets you use your other music apps together. Chain effects on your favourite synth, run the output of apps or Audio Units into an app like GarageBand or Loopy, or select a different audio interface output for each app. Route MIDI between apps — drive a synth from a MIDI sequencer, or add an arpeggiator to your MIDI keyboard — or sync with your external MIDI gear. And control your entire setup from a MIDI controller.

Download on the App Store

Audiobus is the app that makes the rest of your setup better.

comprehensive midi processor for note value to cc and other conversions

I am currently using midiflow in order to convert some note values coming from TC-Data to cc values

This works beautifully except midiflow produces duplicate CC messages, one for note on, one for note off

In desktop software like max/msp I've been able to chop apart every aspect of a midi signal, edit/convert it to any other type of midi signal, ie. cc to note, note to cc, note to program change etc etc

are there any ios solutions that allow for more comprehensive midi signal editing/conversion? note to cc strippers etc?

Comments

  • @annahahn said:
    I am currently using midiflow in order to convert some note values coming from TC-Data to cc values

    This works beautifully except midiflow produces duplicate CC messages, one for note on, one for note off

    In desktop software like max/msp I've been able to chop apart every aspect of a midi signal, edit/convert it to any other type of midi signal, ie. cc to note, note to cc, note to program change etc etc

    are there any ios solutions that allow for more comprehensive midi signal editing/conversion? note to cc strippers etc?

    Midifire, Streambyter. Mozaic

  • @annahahn since you use max/msp ,try PureData (vanilla) and load your patches to MobMuPlat app

  • @annahahn said:
    I am currently using midiflow in order to convert some note values coming from TC-Data to cc values

    This works beautifully except midiflow produces duplicate CC messages, one for note on, one for note off

    Curious what your setup is; do you have multiple channels of processing? Are you converting based on a defined list? Etc.

    I do the same (convert notes to CCs) and don’t see two messages per note, it only sends a CC message for the note on. Pretty sure that should be the correct behavior.

    I’ve previously caught a bug that happened with a specific configuration (that was subsequently fixed), so maybe your setup is another edge case?

  • @annahahn Make sure you're sending the MIDI data to only one destination in Midiflow.

  • The mfx Series tools have several of these functions in an AUv3 format, mfxConvert and mfxStrip are the ones I most often use.

    StreamByter and Mozaic are extremely powerful if you don’t mind getting your hands dirty with coding.

  • wimwim
    edited July 2019

    @annahahn said:
    I am currently using midiflow in order to convert some note values coming from TC-Data to cc values

    This works beautifully except midiflow produces duplicate CC messages, one for note on, one for note off

    In desktop software like max/msp I've been able to chop apart every aspect of a midi signal, edit/convert it to any other type of midi signal, ie. cc to note, note to cc, note to program change etc etc

    are there any ios solutions that allow for more comprehensive midi signal editing/conversion? note to cc strippers etc?

    I wonder if it’s possible that TC-Data is sending Note On at zero velocity rather than a true note off. This is “legal” MIDI behavior, but throws some apps off.

    You might be able to check the Midiflow input stream for that, and if so, filter out notes at zero velocity.

  • I'm also wondering what the most efficient tool would be for a seemingly simple midi task:

    Translate a single midi CC or PC message from a hardware controller into several messages.

  • wimwim
    edited July 2019

    @palm said:
    I'm also wondering what the most efficient tool would be for a seemingly simple midi task:

    Translate a single midi CC or PC message from a hardware controller into several messages.

    MidiFlow
    MidiFire
    Audiobus midi learn
    Midi Designer Pro 2
    Streambyter Scripts
    Mozaic Scripts

    Most efficient depends on your outlook and the context of what you’re trying to do.

  • @wim said:

    @palm said:
    I'm also wondering what the most efficient tool would be for a seemingly simple midi task:

    Translate a single midi CC or PC message from a hardware controller into several messages.

    Audiobus midi learn

    Brilliant!

    Hadn't considered that it could send multiple messages per input. Thank you!

  • @palm said:

    @wim said:

    @palm said:
    I'm also wondering what the most efficient tool would be for a seemingly simple midi task:

    Translate a single midi CC or PC message from a hardware controller into several messages.

    Audiobus midi learn

    Brilliant!

    Hadn't considered that it could send multiple messages per input. Thank you!

    There are limitations. You can specify the message to send, but not the value for cc’s. At least I don’t think you can.

  • @wim said:

    @palm said:
    I'm also wondering what the most efficient tool would be for a seemingly simple midi task:

    Translate a single midi CC or PC message from a hardware controller into several messages.

    MidiFlow
    MidiFire
    Audiobus midi learn
    Midi Designer Pro 2
    Streambyter Scripts
    Mozaic Scripts

    Most efficient depends on your outlook and the context of what you’re trying to do.

    ha, right. I prefer to have fewer separate apps running in the background, so there's that aspect of efficiency, but I was also hoping to find the most cpu efficient way.

    I have Mozaic and would like to dive in and actually learn how to use it, so I'll go that route if Audiobus doesn't work out.

  • @wim said:

    @palm said:

    @wim said:

    @palm said:
    I'm also wondering what the most efficient tool would be for a seemingly simple midi task:

    Translate a single midi CC or PC message from a hardware controller into several messages.

    Audiobus midi learn

    Brilliant!

    Hadn't considered that it could send multiple messages per input. Thank you!

    There are limitations. You can specify the message to send, but not the value for cc’s. At least I don’t think you can.

    good to know. thanks!

  • Just an FYI

    I wanted to do this in reverse (CC to note) and tried MFXconvert. It was too buggy and inconsistent for my usage. I'll try it with note to CC today but I suspect the same issues would be there.

  • edited July 2019

    @annahahn said:
    I am currently using midiflow in order to convert some note values coming from TC-Data to cc values

    This works beautifully except midiflow produces duplicate CC messages, one for note on, one for note off

    In desktop software like max/msp I've been able to chop apart every aspect of a midi signal, edit/convert it to any other type of midi signal, ie. cc to note, note to cc, note to program change etc etc

    are there any ios solutions that allow for more comprehensive midi signal editing/conversion? note to cc strippers etc?

    Try the following setup in Midiflow, I’m remaping -as an example- a C3 note into a CC14 with 127 as value. You can see at the left that there’s no duplicate messages.
    Hope it helps.


    .

  • I was looking for a solution to do this, knew I'd find it here. But with Mozaic or Streambyter, can I do what @Rodolfo is doing above?

    I want to convert notes to specific midi values e.g. C0 to midi cc 1 with value 3?

  • @auxmux said:
    I was looking for a solution to do this, knew I'd find it here. But with Mozaic or Streambyter, can I do what @Rodolfo is doing above?

    I want to convert notes to specific midi values e.g. C0 to midi cc 1 with value 3?

    That would be no problem for either Mozaic or Streambyter.

  • @espiegel123 Recommended best way to start with either? I'm sort of clueless of how do this.

  • @auxmux said:
    @espiegel123 Recommended best way to start with either? I'm sort of clueless of how do this.

    I’d suggest reading the manuals. Do you already have these apps?

    Here is the pseudocode:

    • look for incoming midi notes
    • If the note matches one that I want to remap, send out the desired MIDI events

    You can also either block the incoming midi note or pass it through.

  • I have been using mfx converter to convert midi notes to cc. So far it has been working just fine.
    Now i want to ad a value to the midi cc and mfx does not support that. Will
    Midi-fire be able to do that trick?
    I am not a programmer so i don’t think that i will be able to pull this thing of in streambyter 😬.

    To be more specific about what I want to do. I would like to use the pads on my Korg nanoKEY to trigger a pattern change in StepPolyArp ( CC21 value 0-15 ). That would be a great help for live-jamming 😊.

  • wimwim
    edited April 2020

    @Lorichs I think what you want to do would more straightforward using MidiFlow than MidiFire from what I can see. Both are great tools, and both can do it, but unless I’m missing something, you have to go deeper into MidiFire to accomplish that specific thing.

  • @wim Thanks 😊. I’ll tjeck it out. I haven’t been looking in to midiflow since it doesn’t seem to support AUV3.
    Yes i’m sure that you have understood my issue correctly.
    I want to convert a note to cc and give that cc a value 😊
    But again thanks for the reply 👍🏼

  • heshes
    edited April 2020

    Not sure what you're doing, but here is code for sample Mozaic project to filter out c3 note messages and convert C3 On message to midi cc message:

    // Code for Mozaic instance to filter
    // out C3 notes and convert them
    // to midi cc#14 message with value 127
    
    @OnMidiNoteOn
    // every Midi Note On command will 
    // run through this section of code (e.g.,
    // whenever you press a note on keyboard),
    // with channel info (accessible as midibyte1),
    // note value (accessible as midibyte2),
    // and velocity (accessible as midibyte3)
    
      note = midibyte2
      //  c3 is note value 48
      if note = 48 
        // midibyte1 is the channel that
        // the note message came in on
        // 14 is the cc#, 127 is the value
        sendmidicc midibyte1, 14, 127
        // send more midicc if you want . . .
        sendmidicc midibyte1, 16, 127   // etc., etc.
      else
        // process normally if not note C3
        sendmidithru
      endif
    
    @END  // End of @OnMidiNoteON
    
    @OnMidiNoteOff
    // every Midi Note Off command will
    // run through this section of code,
    // possibly not necessary, but we filtering
    // out all Note On commands for 
    // note c3 (value 48) so we may as well
    // avoid possible problems by also filtering
    // out the note off commands.
    
      note = midibyte2
      if (note <> 48)
        // only send thru if note is not c3
        sendmidithru
      endif
    
    @END  // End of @OnMidiNoteOff
    
  • @hes Thank you very much. I’ll tjeck it out. I’m allready a bit corious about Mosaic 😊

  • @hes
    Thanks so much for your advice with your script.
    I ended up buying Mozaic and wrighting my own script.... my very first one ever 😧. It took a lot of time and frustrations to wright those few lines but the result is really satisfying😅
    So thanks again for pushing Mozaic on me 🤘🏼👍🏼

Sign In or Register to comment.