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.

Flow - multi-track midi sequencer/looper for Mozaic - UPDATE w/CC automation, strumming & ratcheting

24

Comments

  • edited July 2019

    @Peblin said:

    @echoopera said:
    This is a great plug-in @Peblin
    1. Can you adjust the timing per Pattern? Right now it appears to be global. If i adjust it on 1 Pattern, all Patterns inherit the timing. I want Pattern 1 set to 1/4, Pattern 2 set to 1/16, Pattern 3 set to 1 bar...etc...

    Timing is currently global. Per-pattern is on my todo-list, as well as other ways of playing a pattern (UP/DOWN/RANDOM etc). I’m missing it too! :smile: It requires me to rework how the timing works though so a bit of effort.

    1. Is there anyway to make the Midi Channel, and any per Pattern value sticky? Right now the value remains on whatever it was last set to instead of reflecting what it is actually set to. The values appear to reflect correctly in the Edit Note view when invoked via Press+hold + Shift.

    I thought the Midi CH was sticky - will check if I forgot something. I’ll make the rest of the parameters ”per pattern” as well and make them sticky!

    1. What do the values 0000001, etc represent after entering notes? Can you just reflect the Notes by default without having to Press+Hold the note to see its actual Note?

    The values represent the number of voices per part in a step. So in your example part 8 has one voice active. 30004000 might mean that there’s a triad chord on part 1, and a maj7 on part 5.

    I’ve really been struggling to come up with something clever to show on the pads. I’d love to show actual notes, but string manipulation in Mozaic is not supported and pads only show some 8 characters. So for ~3 voices the pad label would truncate like ”C3...4#” which is not very useful.

    For part labels, the pad displays something like ”C3:3”. That means that voice1 is C3, and there are 3 voices in total for the part.

    Anyway...this is a magical plug-in you’ve made. Loving it so far...it’s crazy fun 👊🏼™️💕

    Thanks :smiley:

    Thanks for the reply. I figured some of my requests were actually limitations of the actual scripting environment.

    Hopefully @brambos can provide some insight on how to maybe achieve the note annotation on the actual pads. I imagine something like MidiSteps or the Zeeon Step sequencer style for this script would be fantastic.

    What you’ve created is pretty wonderful. Looking forward to using it a lot. 👊🏼™️💕


  • I'll see if I can do something clever with the sizes of labels in the pads for the next update :)

  • @gmslayton said:
    @Jumpercollins thanks man for the recommendation. I do not currently have this app, but I will look into it. I do prefer video with audio commentary as well, I tend to turn off a video if I have to set there and read the words. I am usually doing about 10 things at once so...

    Bing bing bing

  • Thanks for sharing Flow! 😻🎛👍

  • @brambos Or add multiline support by adding a mozaic defined NewLine string constant function that only applies to the LabelPad function :)

    I tend to use several mozaic instances with visible UI in my AUM sessions, so the UIs are already all scaled down. Further shrinking the font-scaling of the pad labels probably would make these unreadable. I’ll see whatever you come up with B)

  • Hi all.

    As some people seem to have problems in using (recording/editing notes) inside this sequencer i thought i make a short video on that topic.

    I really like what @Peblin did here. I think when you use FLOW it gets very easy to use and understand within minutes.
    I do not cover all aspects - it is especially on note recording and editing:

    I hope this is helpful for some people and please: I am no professional in making tutorials. I just wanted to help out B)
    Don’t throw stones at me for stuttering or stuff...I tried :#

  • @brambos said:
    I'll see if I can do something clever with the sizes of labels in the pads for the next update :)

    +1 for multiline pad labels with newline / wrap rather than shrinking the text.

    @Peblin, the idea to use emoji icons for things like arm, arm, play, and done is brilliant!

  • @MrBlaschke great stuff many thanks for the video exactly what I was looking for and very informative.

    Great stuff.

  • I hope this is helpful for some people and please: I am no professional in making tutorials. I just wanted to help out B)
    Don’t throw stones at me for stuttering or stuff...I tried :#

    Thanks for making a video about Flow, cleared up a couple of things for me. Really appreciate it!

  • @Peblin said:

    @skiphunt said:
    One thing I'm not clear on is the function of the Midi CH dial. Could someone flesh that out a bit?
    Also, does the x/y pad do anything at all? If not, it'd be a lot cooler if it did. :)

    The Midi CH controls the output channel of the selected pattern. So if you set up your instruments to listen to Flow on separate midi channels, you can then just use the Midi CH dial to control which instrument a pattern plays. It’s really fun and you can do creative stuff like connecting an S&H LFO to the Midi CH knob to have a pattern switch instruments randomly.

    The X/Y pad doesn’t do anything at the moment - it’s part of the faders view in Mozaic and can’t be disabled. That view is currently only used when editing the voices of a part, and I’m not sure how X/Y would help there - but suggestions are very welcome :)

    Ah! Cool. I didn't initially see the channel changing up top when you move the Midi CH knob.

    As for the x/y possibility...

    I'm just shooting from the hip in brainstorm mode. Have no idea how this would work. But, what if x was mapped to midi channels and y was mapped to probability.

    Let's say you had different synths at several midi channels, and as you moved the x/y the probability would increase for a given channel... and/or the sequence might even have probability of 30 for chan 1, 70 for chan 2, etc. So, as you moved the x/y joystick around the sequence would send portions of the sequence to different chans based on probability. Does that make any sense?

  • @wim said:

    @brambos said:
    I'll see if I can do something clever with the sizes of labels in the pads for the next update :)

    +1 for multiline pad labels with newline / wrap rather than shrinking the text.

    @Peblin, the idea to use emoji icons for things like arm, arm, play, and done is brilliant!

    Agreed, using emoji labels definitely reduced the learning on this. Great thinking. I dig that one instance can control multiple tracks.

  • @RJB said:

    I hope this is helpful for some people and please: I am no professional in making tutorials. I just wanted to help out B)
    Don’t throw stones at me for stuttering or stuff...I tried :#

    Thanks for making a video about Flow, cleared up a couple of things for me. Really appreciate it!

    DItto with extra thank you.

  • @JohnnyGoodyear said:

    @RJB said:

    I hope this is helpful for some people and please: I am no professional in making tutorials. I just wanted to help out B)
    Don’t throw stones at me for stuttering or stuff...I tried :#

    Thanks for making a video about Flow, cleared up a couple of things for me. Really appreciate it!

    DItto with extra thank you.

    +1, you did a great job. 👍Thanks muchly.

  • @Peblin, I really like this thing. awesome job.

    A velocity adjustment for the steps would be super nice to have. Also, the ability to have transpose quantize notes to the preset scales would be nice too.

    Thanks again not only for the nice new toy, but also for a wealth of things to learn from the code.

  • Seems we’ve got two “Mike Tyson”s now. Michael Tyson andrhe “New Mike Tyson of ios”.. Brambos.. Or so it seems.. Just crushing it now !

  • @wim said:

    @JohnnyGoodyear said:

    @RJB said:

    I hope this is helpful for some people and please: I am no professional in making tutorials. I just wanted to help out B)
    Don’t throw stones at me for stuttering or stuff...I tried :#

    Thanks for making a video about Flow, cleared up a couple of things for me. Really appreciate it!

    DItto with extra thank you.

    +1, you did a great job. 👍Thanks

    +many more.

  • Thanks for all this, ppl :)
    So maybe i can do some more in the future - at least if needed and possible.

  • @echoopera said:
    Hopefully @brambos can provide some insight on how to maybe achieve the note annotation on the actual pads. I imagine something like MidiSteps or the Zeeon Step sequencer style for this script would be fantastic.

    Yeah, lets see what comes next. However - note annotation would likely only work when viewing parts, not steps. As steps can have 8 parts, with 6 voices each a step can contain 48 notes :)

    But I'm more than happy to experiment with different options for pad labels - I want to convey as much useful information as possible without overloading the UI.

    @wim said:
    A velocity adjustment for the steps would be super nice to have. Also, the ability to have transpose quantize notes to the preset scales would be nice too.

    Do you mean velocity adjustment per part? I will add that, just need to figure out how to enable the user to find it. Every voice has its own velocity so for each part it's really up to 6 different velocities. Another option might be to have a "velocity scale factor" for each part that scales up & down the voice velocities.

    Re transpose quantizing to scale - I'm not sure I want to add scale support, the UI is crowded as it is already and there are so many nice plugins/AU that already handles scale quantization. But maybe, if I find somewhere to stash the controls for "pattern scale".

    the idea to use emoji icons for things like arm, arm, play, and done is brilliant!

    The real credit for this should go to @Bryan - I got the idea from his excellent Metroplex script.

    @MrBlaschke said:
    As some people seem to have problems in using (recording/editing notes) inside this sequencer i thought i make a short video on that topic.

    Awesome video, thanks a lot. So great to see someone else using Flow!

  • wimwim
    edited August 2019

    @Peblin said:

    @wim said:
    A velocity adjustment for the steps would be super nice to have. Also, the ability to have transpose quantize notes to the preset scales would be nice too.

    Do you mean velocity adjustment per part? I will add that, just need to figure out how to enable the user to find it. Every voice has its own velocity so for each part it's really up to 6 different velocities. Another option might be to have a "velocity scale factor" for each part that scales up & down the voice velocities.

    Thanks for considering it. I was thinking simply a velocity slider added to the page where note length and notes are located. It would set (or scale as you said) the velocity for all the notes in that step. It would get overly complicated to set it for each note. Just a thought.

    Re transpose quantizing to scale - I'm not sure I want to add scale support, the UI is crowded as it is already and there are so many nice plugins/AU that already handles scale quantization. But maybe, if I find somewhere to stash the controls for "pattern scale".

    No problem. I just found myself wishing for it when using transpose. But yes, plenty of additional plugins that can do the scale adjustment. And yes, there are already a lot of options crammed in there. ;)

    The real credit for this should go to @Bryan - I got the idea from his excellent Metroplex script.

    Ahh. Good to know. I've fallen way behind on trying out scripts! So many great ones coming all the time.

  • @wim said:.
    Thanks for considering it. I was thinking simply a velocity slider added to the page where note length and notes are located. It would set (or scale as you said) the velocity for all the notes in that step. It would get overly complicated to set it for each note. Just a thought.

    Good point. I'll add a velocity slider per part and also one like the note time so you can set default velocity even when playing live (like 100% for some drums).

  • @Peblin said:

    @wim said:.
    Thanks for considering it. I was thinking simply a velocity slider added to the page where note length and notes are located. It would set (or scale as you said) the velocity for all the notes in that step. It would get overly complicated to set it for each note. Just a thought.

    Good point. I'll add a velocity slider per part and also one like the note time so you can set default velocity even when playing live (like 100% for some drums).

    Cool. I’m liking this little beauty more and more every time I use it.

  • Hi all,

    A new update of Flow for Mozaic is up on PatchStorage!
    https://patchstorage.com/flow/

    The new Flow 2.0 supports CC automation, ratcheting, strumming and velocity scaling.
    It's awesome :smiley:

    Demo video:

    Have fun!


    Excerpt from documentation:

    -- CC recording --

    Flow can record incoming Midi CC commands per pattern. Even "empty" patterns (ie patterns with no notes) can record CCs so it's possible to record "CC phrases" such as different filter sweeps and then trigger them by toggling the recorded patterns on and off.

    Tap the "CC rec" button in the Control Panel to toggle between OFF, 🔴 WRITE and 🅾️ OVERDUB.

    In WRITE mode, incoming CC values will result in the current step being cleared (only once per loop), then stored in the corresponding sequencer part. For smooth knob movements this means that incoming values will "overwrite" previously stored ones (for that CC command), if values are coming a rate of at least once every step.

    In OVERDUB mode, incoming CC values are stored "as is" per part in the sequencer. This can be used creatively to yield glitchy effects when filters jump around wildly - but will give wild results. 🔥

    Flow has 4 "CC slots" and can store values for up to 4 different CCs per pattern. Slots are allocated on a first come basis - so if the sequencer receives sustain, mod wheel, cutoff and resonance CCs the slots for the active pattern are full and additional CC commands will be passed thru but not stored.

    TIP: Recorded CC commands and values can be seen and changed in the "part edit mode" where you'll find knobs for all 4 slots (labeled A-D).
    ⚠️ Note that if you change the CC#, it'll change the CC for that slot for the whole pattern as slots are "pattern level". The value is of course per part, so no risk in changing that.

    --- CC playback and interpolation ---

    For patterns with step length less than 1/4, playback of recorded CCs is quantized to the last recorded CC value of each part.

    For patterns with longer steps - from 1/4 to 2 bars - Flow will interpolate CC values to "smooth" the sampled CC values. The amount of extra/interpolated values varies depending on step length - from 1 extra for 1/4th notes to 15 extra for 2 bar notes. This is very useful for long, evolving pads. 🌊

    -- Velocity --

    The "Velocity" knob sets the default velocity scale factor when recording. Velocity scale factor can be set by part, in step edit mode as well as part edit mode. If you change the velocity scale factor in part edit mode, the faders for each voice will show the resulting velocity as fader label making it somewhat easier to understand what's happening.

    Velocity scale factor is set from 0% (mute) to 1000% and will be multiplied with the recorded velocity on playback.

    When sequencer has CC rec enabled, changes to velocity scale factor will be saved live as the sequencer plays.

    -- Ratcheting --

    In part edit mode, you can set ratcheting from 1-6. Ratcheting splits a note into 1 to 6 smaller notes, triggering over the same gate duration as the original note. So, with ratcheting set to 3 and gate at 100% you will get one note at start part, one at 1/3 of the step length and one at 2/3 of step length.

    By experimenting with gate length it's very easy to make ratcheting "humanized" to create more varied fills. At the extreme, with gate length at 1600% and ratcheting set to 6 the note will trigger 6 times over the full sequencer cycle - perfect for weird ghost notes :)

    -- Strumming --

    You can set strum in milliseconds per pattern and/or per part (in both step and part edit modes).

    Voice playback will be strummed by delaying each voice with the strum amount multiplied with voice number (starting with 0). So, a strum value of 10ms will play voice0 at time 0, voice1 10ms later, voice2 20ms later and so on.

    By recording chords “in reverse”, ie highest note first, you can simulate both up and down strums as if it were a guitar. Strumming can also be used creatively with drums if several drum hits are on the same part - by setting the strum value they’ll be slightly separated, for a more humanized feel.

    When sequencer has CC rec enabled, changes to strum will be saved live as the sequencer plays.

  • Awesome update and an excellent voice-over video to demo the features! Makes it easier to get into this rather complex script, which is not so complex to use after all:)

    Is it possible to control some velocity randomization of the ratcheting effect?

  • edited September 2019

    @bleep said:
    Awesome update and an excellent voice-over video to demo the features! Makes it easier to get into this rather complex script, which is not so complex to use after all:)

    Is it possible to control some velocity randomization of the ratcheting effect?

    Not at the moment, but I've been thinking about adding some additional "ratcheting states" to the Ratchet knob. Right now it just goes from 1-6, might add 2->6 Ramp Up and 2->6 Ramp Down. Would that make sense? And are there other states that would be cool?

    EDIT: There is actually another way of doing ratcheting with "exact" velocity per note; you record several hihats on the same part with different velocities, then use the Strum setting to spread them out :)
    Just tested it, it works really well but you need a midi-"keyboard" like Velocity Keyboard or Xequence AU|Pads that sends velocity well.

  • Thanks, that sounds like a good solution if one needs to avoid a certain "machine gun"-effect on some ratcheted sounds. Spreading out the velocity is especially useful if the receiver is some velocity-layered sample player like BM3.

  • Here's the full change log...

    — Release Notes Flow 2.0 ---

    • CC recording! 4 CC slots per pattern. Slots are allocated as CCs are received on a “first come, first stored basis”. Flow interpolates CC values within 4 parts, for long beautiful filter sweeps.
    • Velocity curves! Set a velocity curve when recording and it applies to all recorded notes, or change curve of individual parts (ie non-destructively change velocity of recorded parts).
    • Ratcheting! Set 1-6 repeats per part. Ratcheting splits the first note of a part into n repeats, using the gate as duration of the full repetition sequence - so with ratcheting at 3 and gate at 100% you will get perfect triplets. Experiment with gate lengths for humanization.
    • Strumming! Set strum in milliseconds per pattern and/or per part, and voice playback will be strummed by delaying each voice with the st
    • Gate slider in part edit view extended to 1600% (whole sequence), and is also more easy to use for times less than 100% (one step).
    • Note time renamed to Gate
    • In CC recording, changes to gate is recorded as well
    • In CC recording, changes to velocity curve is recorded as well
    • Fixes a bug where deleting a step could sometimes delete the first part of the following step as well.
    • Fixes a bug where note delay (intended for live recording) would be applied when sequencing pads if host was running at the same time.
  • Great work... ty!!!

  • Flow deserves a page over on the wiki -- with links to the great videos , the patch download and this discussion. I hope someone will consider adding it:

    https://wiki.audiob.us

  • @espiegel123 said:
    Flow deserves a page over on the wiki -- with links to the great videos , the patch download and this discussion. I hope someone will consider adding it:

    https://wiki.audiob.us

    Good idea, I'll set one up tomorrow unless someone else beats me to it :smile:

  • @Peblin said:

    @espiegel123 said:
    Flow deserves a page over on the wiki -- with links to the great videos , the patch download and this discussion. I hope someone will consider adding it:

    https://wiki.audiob.us

    Good idea, I'll set one up tomorrow unless someone else beats me to it :smile:

    +1

Sign In or Register to comment.