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.

Translate Orba 2's diatonic keys into chromatic notes to use as MPE controller for Mononoke

edited November 2022 in Other

I just got an Orba 2 and assumed it's perfect for Mononoke. 8 MPE keys on the Orba, 8 pads on Mononoke.

Only problem: The keys are not chromatic. Depending on the preset, the 8 keys on the Orba are in the major/minor or a pentatonic scale. Mononoke needs 8 consecutive half steps. Is there any comfortable way to translate the notes + pressure + pitch + brightness? I assume this would be pretty straight forward with a little mosaic script, but would mosaic be "fast" enough to translate the continuous stream of CC/pressure/pitch bend/... messages?

Comments

  • Mozaic is amazing at processing MIDI but for this job you just need to set the notes in the Mononoke User Interface.
    This C scale works to map the BASS mode from an Orba 1 or 2.

  • There is a preset intended for GeoShred that will give you a chromatic lead part.

  • edited November 2022

    The knobs in the screenshot define the pitch of each pad but not the MIDI-key-binding to the pad.

    the mononoke pads are mapped like this: the first pad is, say C-0, then the 2nd pad is C#-0, the third pad is D-0, the 4th pad is D#-0, and so on, it just repeats like this over the entire keyboard.

    The Orba has the keys 1-8 with the notes C-D-E-F-G-H-A-B-C, and I need to map these to 8 consecutive half steps, like for example:

    C -> C-0
    D-> C#-0
    E-> D-0
    F-> D#-0
    ....
    the 8th key:
    C-> G-0

    And that's the problem. I could use a script like @wim's simple scaler: https://patchstorage.com/simple-scaler/
    With that script I can create a custom scale C-C#-D-D#-E-F-F#

    But then the 2nd C on the Orba would again be translated into a C, because it's one octave up, but I need this C translated into a G-0

    The exact position doesn't matter, I just need the 8 keys of the Orba translated into 8 consecutive half-steps.

  • edited November 2022

    @mojozart said:
    There is a preset intended for GeoShred that will give you a chromatic lead part.

    unfortunately the geoshred preset is also diatonic, its just the major scale... I need the 8 keys as the notes C-C#-D-D#-E-F-F#-G

  • If you touch the AUTOFILL label it pops up a Tuning Chart to allow for other scales to serve as input notes:

  • edited November 2022

    those are not the input notes but the output of the pads, it allows you to quickly tune the pads but it doesn't change their MIDI key binding.

    The info in the manual also says:

    "When playing Mononoke via MIDI, you can trigger the same 8 frequencies as assigned to the pads in the UI. If you want to play different notes, you’ll have to reassign them in the synth’s user interface. All MIDI notes are assigned to one of the 8 pads, sequentially. Mapping can change per MIDI controller, depending on how notes/octaves are numbered on it. Try for yourself where the 8 pads are on your own MIDI controller."

    You can also test it with the AUM built-in keyboard. C4 - G4 play the pads 1-8, no matter how they're tuned.

    (I cross-posted what I hope could resemble a working mozaic script to the mozaic request thread: https://forum.audiob.us/discussion/comment/1134150/#Comment_1134150 )

  • I replied in the Mozaic thread. I’ll go fix the output notes to C4-G4 (60-67) and what the heck.. maybe test the code too.

  • OK… this works. In Mozaic
    hit NEW
    highlight the code below and select COPY or CMD-C with a keyboard.
    Paste the code block into the Mozaic Code window and hit UPLOAD.
    Once satisfied that incoming notes and converted to 60 to 67 hit SAVE and name the script for recall.

    This works:

    @OnMidiCC
    SendMidiThru
    @end

    // That’s correct for CC’s.

    @OnMidiNote
    if MIDINote = #1
    SendMidiOut x,y,z
    endif
    if MIDINote = #2
    SendMidiOut x,y,z
    endif
    if MIDINote = #3
    SendMidiOut x,y,z
    endif
    if MIDINote = #4
    SendMidiOut x,y,z
    endif
    .

    Use @OnLoad

    @End

    @OnMidiCC
    SendMidiThru
    @end

    @OnMidiNote
    // There are Mozaic variables @Brambos created to use here here:
    // MIDIByte1 = the MIDI Channel and the MIDI Command type (Note On or Note Off)
    // MIDIByte2 = the Note Number (C4 = 60)
    // MIDIByte3 = velocity
    // FUN FACT: many sequencers and synths accept a Note ON with Velocity = 0 as a NOTE OFF
    // If you code seeking “Note Offs” you wouldn’t even see one.

    // So, you want to change the MIDIByte2 from one MIDI Note to another.

    // Let’s assume the input is an Orba 1 or 2 MPE MIDI controller that has 4 modes (Drums, Bass, Chords, Lead)
    // I’ll use the Bass Mode which sends C Major Scale (48,50,52,53,55,57,59,60)

    Log MIDICommand,{, }, MIDINote,{, }, MIDIByte3

    if MIDINote = 48 //Convert to C0 which is 0
    SendMIDIOut MIDIByte1, 60, MIDIByte3
    Log {Note event: }, MIDICommand,{, }, 60, {, }, MIDIByte3
    Endif

    If MIDIByte2 = 50 //Convert to C0 which is 0
    SendMIDIOut MIDIByte1, 61, MIDIByte3
    Endif

    If MIDIByte2 = 52 //Convert to C0 which is 0
    SendMIDIOut MIDIByte1, 62, MIDIByte3
    Endif

    If MIDIByte2 = 53 //Convert to C0 which is 0
    SendMIDIOut MIDIByte1, 63, MIDIByte3
    Endif

    If MIDIByte2 = 55 //Convert to C0 which is 0
    SendMIDIOut MIDIByte1, 64, MIDIByte3
    Endif

    If MIDIByte2 = 57 //Convert to C0 which is 0
    SendMIDIOut MIDIByte1, 65, MIDIByte3
    Endif

    If MIDIByte2 = 59 //Convert to C0 which is 0
    SendMIDIOut MIDIByte1, 66, MIDIByte3
    Endif

    If MIDIByte2 = 60 //Convert to C0 which is 0
    SendMIDIOut MIDIByte1, 67, MIDIByte3
    Endif

    @End

Sign In or Register to comment.