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.

MOZAIC - Create your own AU MIDI plugins - OUT NOW!

18485878990102

Comments

  • @wim said:

    @_ki said:
    @wim Good find that the Mozaic manual shows a different/wrong definition. The in-app syntax list shows the correct version SendMIDIBankSelect <chan>, <MSB>, <LSB> [,<delay_in_milliseconds>]

    Guys… what apps support “Bank Select”. I recall trying to use the MSB, LSB values for iSymphonic using an update for Xequence(1) that @SevenSystems was so kind to create quickly for me. I couldn’t get it to work but I’d like to try it with Mozaic
    Since I have scripts that I’d like to dial in the right sounds for “Instant Orchestra” purposes.

    @_Ki’s “ MULTI-DIVISI v1.2 ” Mozaic script (which implies splitting a chord across multiple channels/instruments) is perfect in the processing chain to do this. I begged the developer of “Suggester” to add divisi as an output option but he didn’t see a large base for the use case. So, Suggester output into @_Ki’s MULTI-DIVISI v1.2 script routed in Cubasis for creating a multi-channel MIDI file. In AUM you can just route the MULTI-DIVISI v1.2 output to instruments set to focus on specific MIDI channels. Good for any orchestral ensemble you like.

  • wimwim
    edited March 2023

    @McD said:

    @wim said:

    @_ki said:
    @wim Good find that the Mozaic manual shows a different/wrong definition. The in-app syntax list shows the correct version SendMIDIBankSelect <chan>, <MSB>, <LSB> [,<delay_in_milliseconds>]

    Guys… what apps support “Bank Select”. I recall trying to use the MSB, LSB values for iSymphonic using an update for Xequence(1) that @SevenSystems was so kind to create quickly for me. I couldn’t get it to work but I’d like to try it with Mozaic
    Since I have scripts that I’d like to dial in the right sounds for “Instant Orchestra” purposes.

    I don't know which apps specifically make use of MSB but there is a thread about Bank Select support in general. I wearied of looking through it before finding that out.

    The one that I now know does make use of the MSB is DrumJam - sort of. DrumJam actually requires the MSB to select between only setting the kit (MSB=0), Factory Presets (MSB=1), and User Presets (MSB=2). Those high level categories can then have banks within them which are selected with the LSB. Program Change selects presets within the sub-banks.

  • @wim said:
    The one that I now know does make use of the MSB is DrumJam - sort of. DrumJam actually requires the MSB to select between only setting the kit (MSB=0), Factory Presets (MSB=1), and User Presets (MSB=2). Those high level categories can then have banks within them which are selected with the LSB. Program Change selects presets within the sub-banks.

    Nice.I love DrumJam and I bought a lot of these instrument packs down on the bottom left. It will be fun to dial though those instruments to build a nice rhythmic track.

  • I think LayR uses msb and/or lsb

  • @espiegel123 said:
    I think LayR uses msb and/or lsb

    Really. Never clicked with that one but I appreciate the heads up to use it as a shooting target.

  • Thanks for the heads-up and confirmation @wim and @_ki

    I have updated the doc:
    https://ruismaker.com/wp-content/uploads/Mozaic.pdf

    Cheers! :)

  • After three month in the making - finally out:

    A script to control AUMs playback featuring standard controls, play markers, loop regions and hostbar/beat display with a freely configurable layout. Hosted at patchstorage.

    There you also find an AUM session showcasing the configuration and usage of the script with several midi sequencers.

  • @_ki said:
    After three month in the making - finally out:

    A script to control AUMs playback featuring standard controls, play markers, loop regions and hostbar/beat display with a freely configurable layout. Hosted at patchstorage.

    There you also find an AUM session showcasing the configuration and usage of the script with several midi sequencers.

    Would love to see a video showing the script.

  • McDMcD
    edited March 2023

    @_ki said:
    After three month in the making - finally out:
    A script to control AUMs playback featuring standard controls, play markers, loop regions and hostbar/beat display with a freely configurable layout. Hosted at patchstorage.

    There you also find an AUM session showcasing the configuration and usage of the script with several midi sequencers.

    You should Post this in it’s own thread because their are bound to be questions… lots of questions that you and
    Other users can answer as people discover this script and are moved to consider a Mozaic purchase just to have this capability inside AUM.

    I downloaded the AUM Project and hit play on PAD 15 and it just works. I saved your script immediately and the default name showed up as “Untitled”… I called it AUM_Transport to keep it in the A’s.

    The use of graphics for creating the user interface is so innovative I can see how it took you months to pull it off. The comments indicate you also created a Python program to generate a lot of the Mozaic script for the graphics displays. Great programmers program their own tools to save time and improve quality.

    Congratulations. This fixes one of the main headaches in AUM… triggering sequences of Loops.

    Comments are provided regarding most of the useful AUv3 Midi sequencers (Atom, LK, etc).

  • @Jumpercollins wrote:

    Would love to see a video showing the script.

    With my previous YT videos i figured out that i just can’t speak or perform freely when doing videos. So for me, producing them takes too long to be fun.

    That‘s why i hoped an AUM session based on free synth/FX/midi sequencer (plus additional comercial sequencers) with a midi sequenced piece for 3 instruments with several sections might be enough to give a start. (The midi pattern of the demo were developed using Scaler 2)

    .

    Basically, if you have a long song of which you recorded the midi into several sequencers and now you want to edit parts of the song, you can directly start playing at the begin of such a section by defining a FROM pad set to the sections start bar. And it offers easy to use pads to control AUMs transport including play/pause, rewind and forward bar, backward bar.
    This absolute timeline positioning does not works for midi sequencers, but i found that MTC, Atom and Helium work well, also works for long audio clips in AUMs file player (needs Sync enabled)

    .

    If a loop region is activated, playback will loop back to the loop-start when the host reaches the last 1/16 of the loop-end bar. Due to technical limitations (skipping bars using midi controls takes time) there is an audible pause. The regions work like in a normal DAW - the playhead can start before the loop and run into it and keep looping. If the playhead is positioned after the loop, the play continues without looping.

    Using forward or backward or skipping with AUMs timeline controls is a bit fiddly - with the larger pads of the AUM TC scripts its a lot easier. And you get a readable hostbar/beat display on separate pads (that offer play/pause or backward step functionaility) - they can also be condensed into a single alternating display using up less space.

    For the faint of heart, i included a feature to test for correct midi control parameter setup, with guiding log messages what to fix (in case one uses the script in an own session and has to setup the four parameter controls. The AUM demo session should work out-of-the-box)

  • @McD said:
    You should Post this in it’s own thread because their are bound to be questions… lots of questions that you and
    Other users can answer as people discover this script and are moved to consider a Mozaic purchase just to have this capability inside AUM.

    I‘m not sure, if it will be received that well. Yes, it kind-of allows DAW-like control of the timeline with jump markers and loop regions. But skipping takes time, so looping is not seamless. And using the midi sequencers get more fiddly the longer the pattern - so is there really anyone using them for pattern longer than 64 bars ?

    .

    I downloaded the AUM Project and hit play on PAD 15 and it just works. I saved your script immediately and the default name showed up as “Untitled”… I called it AUM_Transport to keep it in the A’s.

    I uploaded a new version of the AUM session in which i pre-saved the Mozaic script, so hopefully that name is now stored in the Mozaic session state.

  • @_ki said:

    @McD said:
    You should Post this in it’s own thread because their are bound to be questions… lots of questions that you and
    Other users can answer as people discover this script and are moved to consider a Mozaic purchase just to have this capability inside AUM.

    I‘m not sure, if it will be received that well. Yes, it kind-of allows DAW-like control of the timeline with jump markers and loop regions. But skipping takes time, so looping is not seamless. And using the midi sequencers get more fiddly the longer the pattern - so is there really anyone using them for pattern longer than 64 bars ?

    OK... I noticed a lag at one point. I was counting bars to see how it works for the Loops you pre-set.
    I still think this is news worthy but you have to support the users so I can see why you'd want to limit this phase to
    the true believers since someone will drive you crazy with questions if this is their first use of Mozaic.

    I uploaded a new version of the AUM session in which i pre-saved the Mozaic script, so hopefully that name is now stored in the Mozaic session state.

    That's great. Downloading and clicking on an AUM project takes 10 seconds and your good to go if you own most of the AUv3 apps that demo the sequences and synths that are controlled by AUM.

  • Downloaded to my iPhone. In landscape mode your User Interface fills my iPhone screen nicely. Creating complex rigs
    on the iPad and sharing the AUM project to the iPhone and avoiding all cramped UI issues makes a lot of sense.

    This time I also remembered that I need to save the AUM Project too after downloading.

  • _ki_ki
    edited March 2023

    @McD Because of the needed skipping time even for 4 bars, i‘ve adjusted the skip-back-start to 1/16 before the loop end - so the last bar isn‘t even fully played to minimize the gap.
    If one manually sets the PPQN variable from 4 to maybe 64, the script will skip back at 1/256 before the bar ends - which makes the loop-pause-while-stepping even more obvious.

    .

    I‘ll wait for other comments of the mozaic / AUM hardcore users before opening up an own thread.

    And also hope that @j_liljedahl will incooperate something like this (ie jump markers, loop regions) into a future version of AUM - there would be no gap at all since AUM is in full control of the transport position ;-)

  • It's very cool. A shame about the rewind / forward wind time, which'll impact it in a performance / recording setting. However as I mainly use AUM for noodling around this'll give me the ability to jump around to various sections of a longer piece and try out different things without having to break it into smaller chunks and do pattern switching in Atom 2.

  • @_ki said:
    @McD Because of the needed skipping time even for 4 bars, i‘ve adjusted the skip-back-start to 1/16 before the loop end - so the last bar isn‘t even fully played to minimize the gap.
    If one manually sets the PPQN variable from 4 to maybe 64, the script will skip back at 1/256 before the bar ends - which makes the loop-pause-while-stepping even more obvious.

    .

    I‘ll wait for other comments of the mozaic / AUM hardcore users before opening up an own thread.

    And also hope that @j_liljedahl will incooperate something like this (ie jump markers, loop regions) into a future version of AUM - there would be no gap at all since AUM is in full control of the transport position ;-)

    I don’t know what’s on @j_liljedahl’s roadmap but this approach to music production would make a nice update to an amazing
    Pseudo-DAW that seems to be crafted for live performances in what I consider to be more ambient style where the mixer interface is dominant.

  • @McD said:

    It looks like that Forum was mothballed in Nov, 2021. No new posts after that date.
    You should post in this as a new thread here to reach the widest audience of "experts" possible.

    Mozaic lovers are a small group compared to forum.audiob.us members.

    Thanks McD for answer.

  • edited April 2023

    One question .
    How to use (/, #,+, a,...) or (letters A B C …) in CoppyArray command?
    I want to use these symbols for the multiple label knob and to summarize in the script .

  • wimwim
    edited April 2023

    @pejman said:
    One question .
    How to use (/, #,+, a,...) or (letters A B C …) in CoppyArray command?
    I want to use these symbols for the multiple label knob and to summarize in the script .

    Sorry. You can't. Arrays can only contain numbers.

    You can do a little trick for letters A - G by using NoteName in labels. For example, letter to get letter "A" you can use NoteName 9,NO for letter "C" you can use NoteName 0,NO, etc.

    There is no support for character and string variables in Mozaic.

  • edited April 2023

    Very nice trick. I want to use ( /, D, T ) 1/16 or 1/16D (dotted ) , 1/16T ( triolle) . For example

  • wimwim
    edited April 2023

    It can get messy.

    Example:

    @OnLoad
      numerator = 1
      fraction = 16
      dotted = YES
      triplet = NO
    
      if dotted = YES
        LabelKnob 0, numerator, {/}, fraction, {D} 
      elseif triplet = YES
        LabelKnob 0, numerator, {/}, fraction, {T}
      else
        LabelKnob 0, numerator, {/}, fraction
      endif
    @End
    
  • Thanks ,it is very interesting, But I wrote 1/16 for example , i need 1/1 ,1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/ 256, too.

    and another question.
    Does summarizing in the script save CPU consumption?

  • wimwim
    edited April 2023

    @pejman said:
    Thanks ,it is very interesting, But I wrote 1/16 for example , i need 1/1 ,1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/ 256, too.

    That was a simple example. You'll need to work out how to make it more flexible. Or, find a script that has labels like what you need and see how it's done there.

    Just keep in mind that you can use variables for numbers and call those variables in your labels. So, if you changed what fraction equals in that script, the label would change too. But when you need to put some text in a label, you can only do that with repeated if statements to determine the label changes you need.

    and another question.
    Does summarizing in the script save CPU consumption?

    Sorry, I don't know what you mean by summarizing in the script.

  • edited April 2023

    I mean short writing or summary writing with the help of copyArray and fill Array, instead of writing several lines of codes.

  • Fewer lines of code is generally more efficient. But except for very advanced scripts doing a lot of processing in short timer or metronome intervals I doubt you'll notice the difference. Of course it's always best to find the most efficient ways of doing things as long it remains clear to you what you're doing.

  • Is it very difficult to insert a ‘pitch’ knob on Simple Scaler? Please..

  • @RajahP said:
    Is it very difficult to insert a ‘pitch’ knob on Simple Scaler? Please..

    I don't understand what you mean.

  • Thanks wim for explanation.
    How can use multiple SetTimeInterval for different parameter ?
    For example I create random for SetKnobPosition knob 1 with specific random speed via SetTimeInterval , but i want to use different speed for SetKnobPosition knob 2 .

  • @pejman said:
    Thanks wim for explanation.
    How can use multiple SetTimeInterval for different parameter ?
    For example I create random for SetKnobPosition knob 1 with specific random speed via SetTimeInterval , but i want to use different speed for SetKnobPosition knob 2 .

    Only one TimerInterval is available at any time. If you want things timed at different rates then you need to set up counters and increment/check them each timer interval. Simple example:

    @Description
    Turn knobs to random positions at different intervals
    @End
    
    @OnLoad
      timers   = 5
      timer     = [6,3,8,20,13]
      CopyArray timer, counter
    
      SetTimerInterval 100
      StartTimer
    @End
    
    @OnTimer
      for a = 0 to (timers - 1)
        if counter[a] = 0
          SetKnobValue a, (Random 0, 127)
        endif
    
        // neat little trick for resetting counters to zero automatically
        counter[a] = (counter[a] + 1) % timer[a]
      endfor
    @end
    
  • edited April 2023

    Very very thanks wim , that’s great. I never thought it would be so complicated. At least for me it's like that. I always thought that this problem would be solved by moving settimerinterval in different lines and adding a start timer. 😂. Of course, I understood 80% of your writings, except for the ones that are difficult for me to understand.

    So I'm still having trouble writing what I need.
    For example : i want to control random speed of each 0 to 4 knobs via other knobs separately . And with those knobs does on and off random .
    For example . I want to off random knob 0 with knob 5 if Getknobvalue 5 = 0 and with same knob 5, increase random speed of knob 0 if getknobvalue knob 5 > 0.

    I apologize if I didn't write what I meant from the beginning because I didn’t knew the topic could be complicated and professional.

Sign In or Register to comment.