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.

"Glass" Mozaic Script in development

2

Comments

  • I made some progress on adding some drum output. I think I'll cook up some patterns and make them switchable from a knob.

    I found a way to switch GUI screens and have a "Switch" sequence that cycle between
    3 windows:
    1. 22 Knobs (the current instance)
    2. 16 PADS to input Drum notes
    3. 16 PADS to change the current "Melody"

    I think the 2 PAD screens make the app too complicated to interact with.

    I think adding a Drum Pattern knob and a Melody pattern Knob make more sense to
    keep the GUI simple and allow knob tweaking until something sounds interesting.

    Then change the coding focus to use the shift button to save the current settings to a PAD location.

  • _ki_ki
    edited March 2020

    If i really need to use two ‚pads‘ views in my scripts, i use different pad colors on them to make them stand out: ColorPad pad, col

  • @McD said:

    I think adding a Drum Pattern knob and a Melody pattern Knob make more sense to
    keep the GUI simple and allow knob tweaking until something sounds interesting.

    Then change the coding focus to use the shift button to save the current settings to a PAD location.

    like the sound of this!

  • @_ki said:
    If i really need to use two ‚pads‘ views in my scripts, i use different pad colors on them to make them stand out: ColorPad pad, col

    Thanks. That would help provide context for sure.

  • You've been busy @McD. Nothing like a solitary confinement. You have found your metier. An album in the making!

  • Making progress on the fixed melodic and drum loops. I added a "rest flag" feature in the melodic loop table. Pretty basic drums. Most of the fun cam from gently tweaking the strum to create fast arps:

  • McDMcD
    edited March 2020

    Too much fun... I mixed a "Glass" script instance with a "One Finger Orchestra" script.
    Such power in a mobile device. Crazy...

  • I started looking into standard drum maps. So many ways to approach it unfortunately.
    I think I'll start with a few drum kit elements that can easily be re-mapped to yet another drum machine quickly in the code later.

    I think I'll create rhythm patterns in 60 note blocks: 60 can be evenly divided by 2,3,4,5,6.
    But I might go with 64 which would just have a single long or short bar for 3/4, 5/4, 6/8.
    When I change PPQN I could also change to a rhythm block that has suitable bass-snare patterns for that time signature. If the drummer helps solidify the rhythmic feeling then the melody can float polyrhythmic patterns over the top and it still sounds cohesive. That's the idea anyway... I have to write it and see if it's true. Maybe I should double the block size to 120 and create 8th note patterns. Or 240 for 16th note subdivisions. I wonder what the perceived BPM would be for something that dense?

    I have a lot of time on my hands to find out.

  • I had a bit of a play with it last night, most intriguing, I need to give it more time, thank you @McD

  • @Krupa said:
    I had a bit of a play with it last night, most intriguing, I need to give it more time, thank you @McD

    If you have any feedback let me know... I'm still deciding which features to add/modify/delete.

    I'm finding the putting the drums on channel 10 was not a great idea. For Digistix I needed to put drums on channel1. I think I'll default the drums to melody to 2 and the inner harmonies to 3-4 and bass to 5. Then add a hidden Knobs page to change these defaults using the rolling shift button.

  • Making good progress on the drum parts. I added features to insert rests and tie melody note together for legato style melodies.

    Here's a sample of 2 copies running with #1 at PPQN and #2 at PPQN = 3 like a dotted quarter note delay effect.

  • edited April 2020

    that really works. can’t stop listening!
    how does drum channel 0 work?

  • @crifytosp said:
    that really works. can’t stop listening!
    how does drum channel 0 work?

    I had to put the drums on Channel 1 to use Digistix as the drum kit target.
    So MIDI 1-4 are the melodic outputs.

    I'm going to have a setting screen to move all these tracks to any MIDI channel.
    I figured to how to have many UI pages and have distinct settings for each page.
    v2.2 4 pages and page 4 has the MIDI channel settings.

    The drums are driven from it's own sequence table so I can select the right sounds and I'll disconnect the Transpose for it's track. You can still send the melodic tracks to a drum target and get some interesting results too of course.

    Running more than one instance allows for mixed PPQN's. So, far that seems like the "big idea" because most drum apps don't really use the potential of polyrhythms in this way:
    3 against 4
    2 against 3
    and dynamic changes to the relationships.

    With the same targets you get some really cool drumming that would be really hard to write out or play live but the great drummers I like we're always mining this area for complexity.
    Their hand/foot independence took years to master and IOS with Mozaic makes it trivial to
    create perfectly aligned rhythm patterns. Lot's of good ideas for drum machine developers I think using this as a prototype.

  • edited April 2020

    I’ve heard drummers do this thing where a different signature subtly merges with the main pulse. going to try emulating that

    how are you mapping midi notes to your drums?

  • Here's how the melody and drum patterns are coded inside the Script:

    @MySetMelody
    
     // MELODIC Tied notes are coded as value 28 and rests are 29
     // MySetScale maps it to -root which is converted to 0
     melody[0] = [0,28,29,2,28,29,3,29]
     melody[8] = [29,29,4,29,3,29,4,29] 
     melody[16] = [3,28,29,4,28,29,6,29]
     melody[24] = [29,29,7,29,6,29,4,29]
     melody[32] = [0,0,2,2,3,3,6,4] 
     melody[40] = [0,0,2,3,4,6,3,2]
     melody[48] = [0,28,28,0,2,28,28,2]
     melody[56] = [0,28,28,0,2,28,28,2]
    

    The melody notes are the position in the selected scale so melodies can shift from major to minor without changes. The default MIDI note for 0 in the table is C2 (36). Since the scales are only defined for 4 octaves (C2 to B5) I use 28 for Tied note flags and 29 for rests.

    The drums avoid the indirect reference to scales so it's coded in raw MIDI values. For this target:

    48 = bass drum
    49 = snare
    50 = closed hi-hat
    51 = open hi-hat

     drums[0] = [48,50,50,50,49,50,50,50]
     drums[8] = [48,48,50,48,49,48,50,50]
     drums[16] = [48,50,50,50,49,50,50,50]
     drums[24] = [48,48,50,48,49,48,50,50]
     drums[32] = [48,50,50,50,49,50,50,50]
     drums[40] = [48,48,50,48,49,48,50,50]
     drums[48] = [48,50,50,50,49,50,50,50]
     drums[56] = [48,48,50,48,49,48,50,50]
    

    As I learn more about more drum targets I can create indirect maps for the right MIDI numbers for Ruismaker, LUMbeats, etc. And code the drum sequences in device numbers:

    1 = bass drum
    2 = snare
    3 = closed hi-hat
    4 = open hi-hat
    and add more drum kit targets in the build out.

    I will probably move these maps to the top of the script so users can open the CODE tab
    and try inserting their own patterns as a simple form of programming MIDI. Just edit the tables and hit "UPLOAD" and "SAVE".

    But I will also create a lot of tables and a way to shift around between tables. I'll have knobs for the length of the sequence, the starting point in the table and "Presets" in the tables.

    I'm also considering using 2 PAD GUI pages to insert numbers in the melody/drum tables with an option to save all settings on a third page using a "Radio Buttons" save/recall paradigm using PADS. The Radio Buttons are probably a better UI choice than a Knob to switch between tables for LIVE playing. So, maybe some pages of presets too.

    But I'm only going to do the work if there's interest. Otherwise I'll just code in the tables when I want to create some music in some style.

    I'm not are what the limits of Mozaic are for code size. Does anyone know?

  • I’ve been getting my head slowly round this, I love the jazz vibes the drum patterns have and I’ve sort of got how to enter melodies, really interesting epic opus you’re creating here @McD

  • thank you @McD that’s very useful information.
    keeping me busy through lockdown!

  • @crifytosp said:
    thank you @McD that’s very useful information.
    keeping me busy through lockdown!

    If you decide to insert numbers into these tables send me the effort and I'll add it to the official script (patch) up on PatchStorage.com. The tables implemented right now are enough to get the UI issues sorted out but I'd love to fill 1024 note arrays... I thought about
    ways I could convert simple alphabet letters into the note numbering. Like a typewriter keyboard to output the "48,50,50,50,49,50,50,50" text sequences... in 8 or 10 note segments.

    I could also hack out some Logging statements in Mozaic to convert PAD sequences into these strings that could be copied right into the Code view to minimize the amount of typing required. Then anyone using the app could enter a PAD sequence and copy the text into the Code editor and do some custom re-programming. But I suspect no one would use it anyway. Still... it's a nice programming puzzle to solve. Then I jump around and celebrate... quietly.

  • I got the Logging output in drum table formats to work from a PAD screen. So, much better than all that typing. Now I think I'll label the pads with the drum names and create an indirect table to use the Drum types. Then I just need to change 1 small array to re-jig for another drum target app.

    drums[0] = [48,50,50,50,49,50,50,50]
    drums[8] = [48,48,50,48,49,48,50,50]
    drums[16] = [48,50,50,50,49,50,50,50]
    drums[24] = [48,48,50,48,49,48,50,50]
    drums[32] = [48,50,50,50,49,50,50,50]
    drums[40] = [48,48,50,48,49,48,50,50]
    drums[48] = [48,50,50,50,49,50,50,50]
    drums[56] = [48,48,50,48,49,48,50,50]

  • that’s good news!
    do you know if Mozaic encompasses touch down events on dials?

  • Every time you touch a knob it causes a @OnKnobChange event:

    @OnKnobChange
    Log (GetKnobValue LastKnob) // print the value of the last changed knob
    @End

    Then you have to write code to use the LastKnob value and the GetKnobValue to handle processing the users request to change a variable you associate with that Knob.

    Some short examples of the coding pattern are in the User Manual:

    http://ruismaker.com/wp-content/uploads/Mozaic.pdf

  • thank you. going to take a look. have zero knowledge about coding though!

  • @crifytosp said:
    thank you. going to take a look. have zero knowledge about coding though!

    No problem... there is a "Learn Mozaic" thread on the forum yo can take a look at to get started with examples that are short and work:

    https://forum.audiob.us/discussion/36604/learn-to-program-the-mozaic-workshop-to-create-midi-fx-and-controllers-you-could-learn-something/p1

  • McDMcD
    edited April 2020

    Doug's live stream push me to grab the IK Multimedia B-3X before the $100 price goes UP.
    The percussive attack on the Hammond made it heaven for me. The B-3X is a truly amazing collection of the world of the B3.

    So, I had to have a bit of a play with the "Glass Groove Band".

    WARNING: This track is mixed a little *HOT". Adjust accordingly.
    It's hard to believe that band is just one Mozaic app. Lot's of good products
    playing those MIDI notes however.

  • Make a video how you play/tweak this...yourself does not need to be in the picture if you don’t want to.
    I would like to see this! :smile:

  • @MrBlaschke said:
    Make a video how you play/tweak this...yourself does not need to be in the picture if you don’t want to.
    I would like to see this! :smile:

    At the end of the journey... still a work in progress but I appreciate any feedback. Some mentioned "offsets" and it never occurred to me. So... ideas appreciated.

    In this recording all I had to do is hit Play in the DAW and it plays a preset melody/drum pattern. Then I noodled some B-3X over the top as a test drive.

    Right now I' working on the automation tools to create new melody and track parts. The melody is just 1 finger poking of the white keys. The drums will require picking one drum kit note per pulse.

    I think when I get to Glass v3 there will be 5 "Arrangements" to pick from and hopefully a user friendly melody & drum editing screens.

  • McDMcD
    edited April 2020

    UPDATE: v2.3 - Added extra GUI Screens that can be accessed via the SHIFT BUTTON

    1 - Standard GUI Knobs
    2 - PAD-based Melodic Sequence - Input any number of scale notes with optional Ties or Rests and Terminate Entry with PAD #16 Labeled "DONE"
    3 - Drum Sequence Input Screen
    4 - Extra knobs to change MIDI Channels, etc.

  • is patch storage.com currently down? , I can’t get any of the script links to to open up

  • patch downloads here.
    knobs to change midi channel don’t work in the last two versions.

  • @crifytosp said:
    patch downloads here.
    knobs to change midi channel don’t work in the last two versions.

    Thank you. Any feed back appreciated. I'm only continuing to work on this if someone
    is using it. Otherwise, I accomplished many of my gold learning many new Mozaic techniques and I'm getting tired of the effort required to add complexity to complexity.
    (I'm ready for a clean sheet of paper... armed with the experience of my second massive
    but flawed script.)

    I will focus the next update on putting that into working order.
    NOTE: I think I'm currently putting out 6 channels total.
    DRUMS = 0
    1-4 = chords
    5 = bass (the root note of the chord) this allows you to mute the chord volume and do
    bass, drum sequences

    Are you able to input your own sequences? or make drum parts? using the SHIFT button and Layouts 2 and 3. Layout 4 is where the MIDI channel selectors will live when it's working.

Sign In or Register to comment.