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.

evolving MIDI phrase builder with Mozaic

Hi there … special welcome to @wim and the other script-wise women & men of Mozaic 😉

got an idea in my mind, but before hacking myself into the jungle of Mozaic – the birdcalls getting louder & louder synchronistic more & more harmonic and pleasant – remembered myself that something sweet at first sight, can turn out & into a swamp you won’t get out off again, bound by the “selfish” idea & creativity that wants to be fulfilled … but the mind cannot deliver it, clashing with reality or the tools 😉.

I would like to hear some comments on the idea itself and thoughts or advice if this is technical nonsense / hard way to implement in Mozaic or just a breeze for a sunny coding afternoon (or a week or two 😉).

I saw your Chordulator implementation @wim over here https://patchstorage.com/the-chordulator/ and I thought, that could already have implemented a big chunk of what is needed.

What should it be about :

  • you got a nice chord progression going or just love to create songs from a chord progression as a starting point
  • you want to breath rhythm and live into the chord progression, which means not only playing the chords with sustained notes, but take the notes of the chords and create a melody out of it, also with several notes playing simultaneously, which I would call harmonic phrases, because they are “build out of” a chord and are not a chord in their primary intention (although technical they are) … but also playing the full chords in rhythmic patterns (like a guitarist strumming chords)

What could it look like (feature wise) – existing beings on other planets, like the PC 😉

How do you want to do it

  • 1st Input : iOS app that got chords & MIDI out - a lot I think 😉, but to name my favorites
    o Touchscaper
    o NaviChord

  • 2nd Input : an easy to tweek 1 or 2 bar MIDI Note “Designer” - editor alike, but more advanced, so that one can come up with interesting results, due to its “different & not straight ahead / linear time logic”
    o Fuge Machine
    o … there are more, but I think Fuge Machine makes this idea most comprehensible in a visual manner

  • a Mozaic script that gets both of these inputs
    o inside AUM just by selecting both as MIDI Sources and routing them in onto different channels
    o let the 2nd input work as a cookie cutter on the 1st input … and other musical ideas to let the “secondary notes” be an ever changing musical DNA that creates new musical beating & sounding cells out of the chords (primary notes)

What do you think?

«1

Comments

  • I think that whenever I look at detecting chords and doing anything with them in Mozaic it turns into a muddy quagmire. The problems of notes possibly (probably) not arriving all at exactly the same time, the possibility of overlapping chords, the possibility of individual notes not being triggered in each chord (for instance a bass note held across chords), etc. etc. etc. become unmanageable. I've concluded it's not practical in any way that I want to try to tackle.

    Generating chords from Mozaic and then doing crazy things with them is perfectly manageable though.

  • @wim, Would this be something you think might be possible with MidiFire???

  • wimwim
    edited June 2020

    @SNystrom said:
    @wim, Would this be something you think might be possible with MidiFire???

    No. But I didn’t mean “impossible”, I meant “Impractical”.
    I’ll explain more fully in a minute.

  • The first problem with acting on incoming chords comes down to identifying what is a chord or not. Unless all the notes arrive at exactly the same time, you have to decide some arbitrary amount of time to wait after each note to decide whether there are some more notes coming in the chord. This could be a few milliseconds per note from a chord-sending app with no strumming or humanization, or it could be several milliseconds per note. So, right away you have a delay before you can act on the chord.

    Now, those notes are going to presumably be held for some time. So, you now also have to track each note until the note-off message for it comes. Until then you don’t know the duration of the “chord” or even the notes that you want to act on. You also don’t know if they’re all going to be released. They might be held down if the same note is in the next chord. What do you do then?

    Or, another chord could be played while some or all of the previous chord notes are still playing. A sustain pedal could be involved. A melody could be being played over the chords.

    Yes, within very strict parameters, you could probably reliably act on chords with a manageable delay for chord detection. But I wouldn’t be interested writing something that has to make so many assumptions.

    Those are just some of the issues I recall off the top of my head that I ran into when I looked into it before. I’m sure there were others.

    So, maybe someone might want to take that on. I think @_ki did just that if I recall correctly. I don’t recall how successful it was in the end. But he’s the best and most persistent bulldog Mozaic coder there is. All I know is it’s way past my pay grade. B)

  • @sounda, you might want to give my Chord Magic script a try:
    https://patchstorage.com/chord-magic/

    It can ”kind of” do what you ask for, even if it is not the main use case. It can detect chords from incoming MIDI and use this as the ”current chord”, even though the main use of this is for input of chords into the chord sequencer. It can also transform an incoming MIDI stream (on another channel) based on the current chord. So, if you combine these two capabilities you would in theory get the desired behaviour. In reality though, it will likely not behave as nicely as expected due to the timing aspects highlighted by @wim. If chord notes are held at the same time, it should detect them correctly (if they are arpeggiated and non-overlapping it will not though, and the chord switches need to be ”clean” with all notes released before the next chord is played), but the correct detection will be delayed until the last note arrives. The effect is that the old chord would be used for the transforming operation when you don’t want it to, i.e you get some notes in your output stream that are ”out of chord”

  • @wim Is right, chord detection or active notes management is a tough job (not only in Mozaic) due to all the nitpicks he already pointed out.

    I published several scripts where i needed to work on this problem (In-Order-Arp, Smart-Chord-Bass) but these are still limited in play-style.
    Like Smart-Chord-Bass only detects a chord up to the first note-off and a max of 4 chord-notes. You can‘t sustain the bass-note and only change for instance one of the upper notes to then ‚detect‘ the new chord. Also no overlapped chords, and so on. And the Script implies a minimum of 1ms delay until the detection starts. As wim explained Mozaic handles the midi-input event-for-event not in groups, so its not clear if more notes will arrive in the same time slot - one has to wait using a timer and then analyse what‘s active.

    .

    An unpublished chord detection script of mine can detect way more chord types, but still has the same limitations with the note management. Another unpublished ‚Include‘ handles fast active notes tracking for all channels by managing 16 double-linked lists (without that datatype being present in the Mozaic language). Both together still don‘t do the chord detection for all cases your idea needs

  • @wim maybe if you recommend only using chord sequencers or chord pads to feed your script, it would eliminate a lot of that detection work needing to be built in.
    Tell the script user that it really works best if they predetermine their chords and program them into a sequencer (like suggester or Navichord) or chord pads (like chordpolypad or Navichord).

    Maybe their is already a Mozaic script to fill that role, or maybe you have already written one yourself. (I haven’t looked at the Mozaic scripts in a while, I confess).
    Anyway, my main point is to try to discourage people from trying to finger the chords manually, so you can eliminate the need for some slick chord detection method.

  • Better to have single note input (Chordulator) and do the rest within the script, or maybe Chord Magic can get you there - sounds like it does a lot, I need to look more into it!

    Another worthy consideration is Poly 2 in midi input mode. The input chords define the available notes at any time, and your circle positions, with repeats/probability and all, give you timing variations etc.

  • edited June 2020

    @wim + @_ki + @NoonienS

    I understand and agree – that chord detection stuff is more Utopia than Mozaic territory 😉.

    Okay then let’s strip it down towards something realistic, but still musical & creative useful

    • no music theory logic (hence no chord thinking), but simple note flow & triggering instead
    • operating with gate in’s and out’s of a few millisecond due to latency that might occur on the coreMIDI pipeline – not trying to catch strumming chords or alike, also not try to support live keyboard playing
    • assuming that all incorporated apps support Ableton Link, so that we get a quite accurate timing – maybe this cuts off the need for gates

    On primary / chord input side (e.g. Navichord)

    • it’s up to the user that creates the chord progression that these line up nicely and are quantized to 16’th notes … by choosing an app or mosaic patch that plays chords in this manner
    • chords do not have to be recognized as such … they are just seen & used as stack of notes
    • what ever comes in, will be active by the current 16’th or next 16’th note … don’t know how accurate the timing is in Mozaic

    On secondary MIDI input side (e.g. Fuge Machine)

    • just use 8 notes as triggers – hence only support for 8 notes chords
    • using C major scale as the tigger notes (to make it visually easier – white keys only)
    • C3 to B3 trigger the chord notes (stack of notes) in the octave they came in
      o C3 will trigger the lowest note of the currently active stack of notes
      o D3 will trigger the 2nd note of the currently active stack of notes … and so forth

    • C4 to B4 one octave higher … C2 to B2 one octave lower … and so forth

    The beauty of this approach and hence the creative “note results” are mainly driven by the pattern & playback behavior of the “secondary MIDI input” app … thinking of Fuge Machine, playing with several playheads and beat-accurate offsets, this can lead to interesting and still “in key” respectivley "in chord" results.

    … it’s just about creating “fresh ideas” and maybe directly useful results for melodies & harmonic phrases that are “rooted” based upon chord notes – recorded into a MIDI sequencer like Xequence 2 for further editing and “real composing” 😉.

    What about that?

    @NoonienS … your Chord-Magic seems to cover the desires at least in raw technical needs … so it could be a strip down and build upon your patch.

    Which tools best to use to browse the code and get the grasp of it … overseen Mozaics website & manual, but did not see an option to download or upload the scrips (hence editing on the PC or Mac), but this must be possible somehow or we could not share scripts (patchstorge has a misson, or ? ;-) ... I did not have purchased Mozaic so far, so I cannot fiddle it out.

    Maybe editing inside the “Mozaic in app editor” is nevertheless the best option, because auf syntax highlighting - what are your editing & upload workflows ?

    Is it possible to hook up a Mac keyboard (via Camera Connection Kit) & Bluetooth mouse and its useable inside the editor (are these peripherals seen & fully functional)? … thinking of being forced to do code reviewing & editing with the on-screen touch keyboard drives my crazy 😉.

  • @bleep
    to keep in mind … what I am trying to achieve is a compose companion, inspirational assistant if you like 😉.

    The chord progression should be the primary input (not a single note), because I want to create the progression within an app that makes it possible in an inspiring & visual appealing manner (musical theory include) … so something like Navichord should be the input.

    No blame on Chordulator though – this thing is great and especially useful for composing by having music theory always in mind (and learning this stuff along the way ;-) or you get things going by dialing some knobs and surprise yourself.

    Poly 2 … that’s an interesting option. I tried the free version (which does not have MIDI in & out, nor AUv3 support), but I wonder how you could play / trigger distinct notes of the current chords (that came in via MIDI in).

    I tried the keyboard sequencer mode, where you can advance note by note … I see no “pitch selector” per track or note-circle that operates on a given chord (other than the random mode) … you can specify the octave, but not a single note in a chord, or do I miss something?

    This would be a great addition to what I am looking for, because moving around the note circles is very inspiring – this kind of touch + visual & auditive coupled approach perfectly fits to my mindset, if I want to compose “out of the flow” … not too much thinking, just let it flow and have fun.

    Concrete it can be awesome for chillout & ambient music … one thing I am after for some days now, is a way to trigger an ambient guitar sound (acoustic or electric guitar sound with a huge FX stack in AUM – @thesoundtestroom has done some inspirational videos on which FX create great ambient guitar sounds) that plays along a song that I sketched with Touchscaper, in which this ambient guitar well be prominent, so having an inspirational tool to find the sweet spot when to trigger the notes is needed (long reverb tails & delays going around) … and Poly 2 might be great, if I could intentionally pick up one of the current chord notes.

  • Yes, Poly 2 is great inspiration with its visual approach that excels in fast experimentation. Great both in midi mode and as a sampler.

    When the keyboard receives midi, these notes become the active set. A circular node will trigger from this set, but you don't have much control unfortunately - it is a random note from the chord/input. I asked @JSMilton earlier whether he would consider more in this area, for instance arp-like up/down patterns instead of just random. Maybe you could bring in your suggestions as well (lowest, highest, middle etc.). Perhaps he is up for some fresh ideas here:)

    Other than that, I guess you could use some other mozaic script to filter low/mid/high, so you would send Touchscaper->Mozaic->Poly 2. You would perhaps need one AU instance for each, or maybe you could have a single instance but let different node colors pick up the different parts (by a suitable in-between Mozaic filter). There is always a way ...

  • wimwim
    edited June 2020

    @CracklePot said:
    @wim maybe if you recommend only using chord sequencers or chord pads to feed your script, it would eliminate a lot of that detection work needing to be built in.
    Tell the script user that it really works best if they predetermine their chords and program them into a sequencer (like suggester or Navichord) or chord pads (like chordpolypad or Navichord).

    Maybe their is already a Mozaic script to fill that role, or maybe you have already written one yourself. (I haven’t looked at the Mozaic scripts in a while, I confess).
    Anyway, my main point is to try to discourage people from trying to finger the chords manually, so you can eliminate the need for some slick chord detection method.

    Yeh, I considered that and rejected the idea. I'm just not interested in making something with those kinds of restrictions. I don't get satisfaction from trying to force round pegs into square holes.

  • wimwim
    edited June 2020

    @sounda said:
    @wim + @_ki + @NoonienS

    I understand and agree – that chord detection stuff is more Utopia than Mozaic territory 😉.

    Okay then let’s strip it down towards something realistic, but still musical & creative useful

    • no music theory logic (hence no chord thinking), but simple note flow & triggering instead
    • operating with gate in’s and out’s of a few millisecond due to latency that might occur on the coreMIDI pipeline – not trying to catch strumming chords or alike, also not try to support live keyboard playing
    • assuming that all incorporated apps support Ableton Link, so that we get a quite accurate timing – maybe this cuts off the need for gates

    On primary / chord input side (e.g. Navichord)

    • it’s up to the user that creates the chord progression that these line up nicely and are quantized to 16’th notes … by choosing an app or mosaic patch that plays chords in this manner
    • chords do not have to be recognized as such … they are just seen & used as stack of notes
    • what ever comes in, will be active by the current 16’th or next 16’th note … don’t know how accurate the timing is in Mozaic

    On secondary MIDI input side (e.g. Fuge Machine)

    • just use 8 notes as triggers – hence only support for 8 notes chords
    • using C major scale as the tigger notes (to make it visually easier – white keys only)
    • C3 to B3 trigger the chord notes (stack of notes) in the octave they came in
      o C3 will trigger the lowest note of the currently active stack of notes
      o D3 will trigger the 2nd note of the currently active stack of notes … and so forth

    • C4 to B4 one octave higher … C2 to B2 one octave lower … and so forth

    The beauty of this approach and hence the creative “note results” are mainly driven by the pattern & playback behavior of the “secondary MIDI input” app … thinking of Fuge Machine, playing with several playheads and beat-accurate offsets, this can lead to interesting and still “in key” respectivley "in chord" results.

    … it’s just about creating “fresh ideas” and maybe directly useful results for melodies & harmonic phrases that are “rooted” based upon chord notes – recorded into a MIDI sequencer like Xequence 2 for further editing and “real composing” 😉.

    What about that?

    Sounds kind of like StepPolyArp to me. If not, understanding what the shortfalls are would help to understand what you're looking for.

    Which tools best to use to browse the code and get the grasp of it … overseen Mozaics website & manual, but did not see an option to download or upload the scrips (hence editing on the PC or Mac), but this must be possible somehow or we could not share scripts (patchstorge has a misson, or ? ;-) ... I did not have purchased Mozaic so far, so I cannot fiddle it out.

    It's much easier if you own Mozaic. You just download the scripts and open them in Mozaic through the safari "share" icon to look at the code. There's a tab for quick lookup of the commands and syntax right there. The editor is very basic, but does the job and doesn't require moving between apps.

    The scripts on patch storage.com aren't straight text files. You can download them and open them in any text editor if you want, but you'll need to remove the binary parts at the top.

    My preferred workflow includes the great iOS/MacOS text editor Textastic. @_ki wrote a terrific syntax extension for it that makes editing a thousand percent easier. With a bluetooth keyboard its very quick to select all the text and then copy/paste that into Mozaic. I prefer to write on the Mac and use Handoff to copy/paste between Textastic on the Mac and Mozaic running on the iPad, but using Textastic on the iPad works great too. I can switch between apps and copy/paste the code very quickly as there are keyboard combinations that work for all that.

    Maybe editing inside the “Mozaic in app editor” is nevertheless the best option, because auf syntax highlighting - what are your editing & upload workflows ?

    There's no syntax highlighting in the Mozaic in-app editor. But it does the job, and yes, is the simplest most direct.

    Is it possible to hook up a Mac keyboard (via Camera Connection Kit) & Bluetooth mouse and its useable inside the editor (are these peripherals seen & fully functional)? … thinking of being forced to do code reviewing & editing with the on-screen touch keyboard drives my crazy 😉.

    Yes, any keyboard that will work with the iPad will work with Mozaic. I have a $17 foldable bluetooth keyboard and it works great. A keyboard is definitely a must if you value your sanity. A mouse will work too, but I don't bother. I find it easier to just use screen touches and the keyboard's arrow keys.

  • @wim
    yes StepPolyArp is one possibility and a great choice – it also came to my mind just a few hours ago and I played around with it for a while … just came back here to report - quicker you were 😉.

    What’s missing though – the only thing that is missing (this app might even have been the blueprint for Phrasebox VST on the PC / Mac) – is that’s “pure static” … its living in the grid 😉 ... or should I call it living in the Matrix – Nero get me out of here 😉.

    Or in other words it misses the “Poly 2” feeling or the “lucky composed by accident” experience that one can have if the “phrase input feed” (secondary notes) comes in e.g. from different playheads of Fuge Machine.

    The lucky accident happens when one plays with the offset of the playheads … and adding 1 note, has more than 1 effect because of multiple playheads running over the “note pattern” with different offsets … so you would have multiple operators (amount of playheads) that work on the primary notes (current chord), which would force to incorporate some logic when playing notes will be stopped and retriggered or they will be kept playing (sustained).

    On the other hand, if you set a note event in StepPolyArp you exactly know what will happen … or what is even more likely you will “first think” where you might put that “note event“ in the piano-roll alike grid and then you touch that cell with for finger … it’s more mental driven.

    I am looking for something that is musical logical to some degree, but still offers surprise … and if possible with an visual appealing UI & workflow, because the “creative part & side” of my brain becomes the composer and less the “logical part & side”.

    And hence Fuge Machine “popped up” in my mind … but Poly 2 is also a great example to explain this kind of composing process – you feel more than you calculate. Once your mind has understood how this circular note event triggering works, it steps back, especially when you turn of the circular grid in Poly 2 – after some time playing with it, you got a feeling how this works and you find yourself enjoying placing the circles even on “wrong” places … you get more towards deeper listening to your results and feel that its right or has to be adjusted, its less thinking.

    With the grid approach our (at least for me) the logical part of the brain jumps into the ring and stays king … well, you still decide by ear, if your satisfied with your step choices or not, but its less creative for me, because I am quite heavy visual oriented and if my eyes look at the grid, it’s all over 😉.

    Thanks for sharing your workflow and the hint towards Textastic … this sounds feasible! I will get myself Mozaic and take a try in the next days if “coding that thing” is something satisfying or breaking my creativity 😉.

  • I played around for a bit with Touchscaper and Poly 2. In TS you can set up the sequencer to send to both A and B destinations, and the lower three rows can be set to only output the root note of the chord. In midi settings you can route this to AUM, with A sending on channel 1 and B on channel 2. Then, in P2 you can set Red to receive midi on channel 1 and White to receive on channel 2. Place red rings to play around with root note variations, and white rings for the upper melody part. Works quite well with the right hand randomizers in P2 (position, rotation). You may even also randomize tuning if you further send this output through Rozeta scaler.

    I couldn't get TS to send long enough notes, so the keyboard midi mode in P2 only had "active notes" for brief periods. That was a bit annoying - can note lengths be modified in Touchscaper? @moodscaper? Anyway, I routed all TS output through a Mozaic script which set the note lengths to a fixed 4 beats, that helped.

  • Easy to do in Wotja if you can get past the initial learning curve. Pick a progression, set the degree of the chords, set up one or more following voices, play with rest percentages and how many notes per chord to play and voila.

  • @bleep
    your last suggestion is great … implementing a “branch filter” in Mozaic that operates on the “input chords” and feeds the separated notes each on another of the 8 tracks of Poly 2.

    Lowest /root note always onto track 1 (red), 2nd note always onto track 2 … and so forth … so up to 8 note chords could be handled.

    And as the Poly 2 circular playfield shows always all tracks (no page switching or whatsoever), everything is always in sight … and it’s even better than having somehow the option to change the “chord note played” in just 1 track, because the “multi track” way each chord note respectively note interval has its own color and that is awesome !!

    Composing by colors in circular shapes … YES, that’s really awesome … did I narrated that I am quite visually 😉 … bleep, you made my day – thanks a lot!

  • I suggested the Mozaic filter, but I'm not sure how well it would work:) @wim knows better ... there might be problems if you have overlapping notes, if they don't come exactly at the same time, and so on. But if your chords are well defined in time, then I guess some script exists to split them out into different channels (?).

    The benefit of using the Touchscaper sequencer is that you can always get the proper root note. With inversions the lowest note may not be the root. Maybe that's a problem for you, maybe not.

  • wimwim
    edited June 2020

    @sounda said:
    @wim
    yes StepPolyArp is one possibility and a great choice – it also came to my mind just a few hours ago and I played around with it for a while … just came back here to report - quicker you were 😉.

    What’s missing though – the only thing that is missing (this app might even have been the blueprint for Phrasebox VST on the PC / Mac) – is that’s “pure static” … its living in the grid 😉 ... or should I call it living in the Matrix – Nero get me out of here 😉.

    Or in other words it misses the “Poly 2” feeling or the “lucky composed by accident” experience that one can have if the “phrase input feed” (secondary notes) comes in e.g. from different playheads of Fuge Machine.

    The lucky accident happens when one plays with the offset of the playheads … and adding 1 note, has more than 1 effect because of multiple playheads running over the “note pattern” with different offsets … so you would have multiple operators (amount of playheads) that work on the primary notes (current chord), which would force to incorporate some logic when playing notes will be stopped and retriggered or they will be kept playing (sustained).

    On the other hand, if you set a note event in StepPolyArp you exactly know what will happen … or what is even more likely you will “first think” where you might put that “note event“ in the piano-roll alike grid and then you touch that cell with for finger … it’s more mental driven.

    I am looking for something that is musical logical to some degree, but still offers surprise … and if possible with an visual appealing UI & workflow, because the “creative part & side” of my brain becomes the composer and less the “logical part & side”.

    And hence Fuge Machine “popped up” in my mind … but Poly 2 is also a great example to explain this kind of composing process – you feel more than you calculate. Once your mind has understood how this circular note event triggering works, it steps back, especially when you turn of the circular grid in Poly 2 – after some time playing with it, you got a feeling how this works and you find yourself enjoying placing the circles even on “wrong” places … you get more towards deeper listening to your results and feel that its right or has to be adjusted, its less thinking.

    With the grid approach our (at least for me) the logical part of the brain jumps into the ring and stays king … well, you still decide by ear, if your satisfied with your step choices or not, but its less creative for me, because I am quite heavy visual oriented and if my eyes look at the grid, it’s all over 😉.

    Thanks for sharing your workflow and the hint towards Textastic … this sounds feasible! I will get myself Mozaic and take a try in the next days if “coding that thing” is something satisfying or breaking my creativity 😉.

    OK then .. my next suggestion is SPA played through something like AU Hazard, or any one of the other great randomizer Mozaic scripts out there. Sure you may put in a "thought out" sequence (or just close your eyes and poke around), but then the randomness undoes that for you.

    You should also take a peek at Cality and maybe Autony and Ioniarics. They sound right up your alley (especially Cality).

  • @oldlibmike said:
    Easy to do in Wotja if you can get past the initial learning curve. Pick a progression, set the degree of the chords, set up one or more following voices, play with rest percentages and how many notes per chord to play and voila.

    So Wotja can be used as a real-time midi processor not just a setup and let run generative app?

  • edited June 2020

    @bleep said: I couldn't get TS to send long enough notes, so the keyboard midi mode in P2 only had "active notes" for brief periods. That was a bit annoying - can note lengths be modified in Touchscaper? @moodscaper?

    Sounds like you've found a workaround, but to answer the question... Sorry - right now, no they can't. The sequencer is mostly based on an old school 16 step hardware sequencer with fixed ( * ) gate lengths of a dotted 32nd note, or 3/4 of a 16th note, depending on how you look at it. On the never-ending ever-growing list, I have a candidate feature to add note ties. Alternatively, the "step multiplier" could have an option to generate sustained notes instead of repeating 16th note steps - that might actually be "easier" for me to do. Would you find that useful?

    In case anyone doesn't know how note multipliers work:

    Step multiplier increases the duration of each step for that track. For example, if set it to 2, that track will appear to be moving at half the speed of other tracks set to a multiplier of 1. You can also have that step repeatedly play by switching on “play all multiplied steps”.

    So this new "sustain" option idea would play a note for the duration of the multiplied steps, so instead of say 4 repeating steps, you'd get a note 4 steps in duration.

    The caveat of course is this sustain option would apply to the whole sequencer track / lane, so while it might be a "nice to have", I'm sure it's only a matter of time (ho ho) before it's clear that what you really want is note ties :wink:

    ( * ) in shuffle / swing, gate lengths are adjusted on the off-beats so that the notes offs occur where a dotted 32nd played on the beat would end. Personal preference and subjective, but I think that sounds "better" and would probably be how I would play it, if I could play something at that level of timing accuracy :smile:

  • Workaround was quickly found, so no urgent requests from me. I find it better to leave these decisions up to you, I trust your know-how in this stuff:)

  • @bleep - OK, cool! Sometimes the right thing to do is to do nothing :smile: However... I've just had a mess about with the sequencer. I think note ties would be really nice, more so when you're using MIDI as the built-in synths are designed to sound "good" playing 16th notes.

  • Yes, ties would be much appreciated:-)

  • @sounda

    Hey, I'm James the dev for Poly. Just been reading all this (@bleep thanks for tagging me). Glad you got a work around going for what you wanted! The UI at the moment makes it difficult to add more options on a node level. Having the ability to select an individual note of the available notes would be awesome, but I think I've crammed as much as I can on there. So being totally honest, it's probably not something I'm going to add in.

    I did have the idea of adding a second page of node parameters, so imagine all the current ones rotate out of sight and are replaced by a new set around the big circle. I have some ideas for future updates that involve adding a granular mode to the sampler and then a bunch of corresponding node params to control it. If I ever get time to do it I'll most certainly look into adding some more options for controlling the notes better via the nodes.

    @bleep Adding ARP modes for the keyboard is actually fairly easy to do and is something quite a few people have asked for, so I'm open to getting those into an update fairly soon. I'd make it so you could use it with both the random selected nodes as well as the MIDI in notes. Any ideas anyone has about ARP features they'd like / expect please feel free to add them here, in a new thread or just drop me a message / email.

    I'm currently trying to find a way of fully supporting the Files app that doesn't break file sharing between main app and the AU, so I'll roll it all into that update if / when it comes. Might be a month or so as I'm busy with work and a new app at the moment, but Poly is still going to be updated and maintained for a long time!

    Cheers guys

  • edited June 2020

    @oldlibmike

    Wotja grabbed immediately my attention – although it’s not what I am looking for in the described context of this thread … especially the UI is not that visually appealing & inspiring 😉.

    But this can be an interesting way for composing, being in a different “mind set” … I just looked at the screenshots in the app store for the 2020 pro version and the first thing that came up in my mind: this is something that I might want to have on my PC and especially on a bigger screen (Windows & MacOS are supported – great)

    One thing I am curious about: does this software support scaling the UI for high resolution displays?

    On its website I saw it supports Apple TV 4K, but does this mean it supports scaling its UI accordingly, respectively to the user’s needs (125%, 150%, maybe 200%) … if not, it will be hard to stay creative with this lots of sliders being very small and its purpose hard to read, while getting my head around how this works.

    I would like to immediately feed the created MIDI out into my DAW, hearing it with my sounds, hence I do not want to scale the display on the OS side, in order to have both pieces of software side by side, so that I can tune the synthesizer patches at the same time, while fiddling with the generative music parameters.

    Edit: I installed the free version on Windows - its a Store App and it scales automatically to the same degree that windows interal apps do on high resolution monitors (4K and alike), so from this point of view ;) its okay.

  • edited June 2020

    @oldlibmike

    I took a look at the tutorial videos of Wotja and I think it is some kind of weired & interesting at the same time and can really make sense for “pure ambient” songs / composing, if one goes for an approach that everything flows into each other and the most important thing is that everything stays in key … not so much a distinctive controlled (intentionally composed) tonal experience, when which notes or harmonies are played.

    But this may also be possible – and hence it grabbed my attention as I saw the screenshot only – if this piano roll sequencer feature comes into the “game”. I did not find a video tutorial for that and currently I would not like to dive into the manual which seems to be quite comprehensive (complex + not so intuitive UI + a manual style that works itself out over feature by feature and less explaining use cases is a tough ride without the software aside ;) ), to figure out how much “intentional composing control” you can get with this feature.

    Did you give this “piano roll like” feature a try – some thoughts about what it can do and not would be very helpful.

    Here is the other side of this generative approach (and especially complexity to drive it ;) ) for “pure ambient” songs … just touch and wind back if it’s getting too much … interesting approach for playing around for a while : http://app.jasonjsnell.com/refraktions/

  • @sounda
    At one time I did an extensive tutorial on Noatikl (the precursor to Wotja) here: http://whitherwalter.blogspot.com/2013/07/noatikl-for-ipad-tutorial-1.html

    Much of the logic still holds for Wotja but they’ve added quite a bit to the app since 2013.

    I’ve really never found anything with quite the depth it has for algorithmic music production. They do themselves a bit of a disservice with continual references to Brian Eno (Ambient use of course) and their weird fetish of using text to generate music automatically. Makes it sound like a generative music-box! It’s much more.

    The engine behind it is a full on music harmonization system. You could pick a scale or modal scale from its scale rules and start there or create your own. You can create a voice with a 1-5-4 progression or any you like - each number reflecting the note in the scale. It will play either set rhythms or make some up based on your rules. For each note you can choose to play just the one note or set a chord degree for how many notes - or set a range so you get triads, fifths or higher. You can also have other voices follow the main voice in the same tempo - or offset it by some time for variations. The following voice will harmonize with your main voice.

    You can then either have the following voice play one note, a chord of varying degrees or with chords + delay offset it will play arpeggios.

    I’ve used Wotja for Jazz, classical, rock as well as ambient. The built-in synth is finicky but usable but even better is to just emit MIDI and drive other synths on the iPad or on a desktop using the iPad to control the MIDI voices.

    I like the idea of Mosaic but find it so much more work than Wotja.

  • @bleep said:
    I played around for a bit with Touchscaper and Poly 2. In TS you can set up the sequencer to send to both A and B destinations, and the lower three rows can be set to only output the root note of the chord. In midi settings you can route this to AUM, with A sending on channel 1 and B on channel 2. Then, in P2 you can set Red to receive midi on channel 1 and White to receive on channel 2. Place red rings to play around with root note variations, and white rings for the upper melody part. Works quite well with the right hand randomizers in P2 (position, rotation). You may even also randomize tuning if you further send this output through Rozeta scaler.

    great idea … would think of it as another way to trigger some notes off the sequencer synth track of Touchscaper – just for getting fresh ideas for a short chord progression.

    Using Thouchscaper though, I like it to use it in a more elaborated way & setup … putting Touchscaper on the conductor’s stand, composer brain inclusive 😉 ... because that’s what it is capable of and great to use for – and to really conduct an entire AUM “band setup” with synthesizer & drums playing additional melodic & harmonic phrases and rhythmical additions, only 2 MIDI out features are missing in Touchscaper (alongside with the chord receiver & branch filter in mosaic to integrate Poly 2 in the multi-track way as well, which I will look into in a few days).

    I like Touchscaper to create song sketches, which can be used for different kind of genres, and for entire chill-out and ambient songs (also using the internal Sounds), which can easily be companioned via MIDI out inside AUM and other instrument sounds.

    Touchscapers composer logic, in my opinion, has a wonderful balance of complexity & simplicity … finest chord progression composing & suggestions features and a well-balanced & clever reduced sequencer logic … one can create and perform (sidebar and ribbon gets you scale notes solos and alike) an entire song all inside Touchscaper.

    With the chord-set (left column), the arranger and the sequencer you are able to compose all that what makes up the song in its fundamentals … the character & feeling of the song is “set & done”.

    What’s left though (@moodscaper for the creative heart that never stops beating – hence the feature list & wishes ever evolves 😉), is to enfold this song sketch to your taste with your own or additional sounds and rhythms … keeping Touchscaper still as the source of the “song fundamentals” – hence conductor’s stand, composer brain inclusive 😉.

    As @moodscaper is in the house ;), a brief overview of what these 2 MIDI out features would be and could do – hoping that others will benefit from that as well and get further ideas to create whatever with these.

    No.1: a separate and MIDI only track for “midi out” the chord progression

    • I would like to have this independent from that what the user plays with the main-instrument – respectively doing an octave & inversion selection in the way & where he touches down his fingers and how much fingers are used
    • the chords chosen in the arrangement view are the one that “rules them all” 😉 … so these should be transmitted
    • as a result the current chord that the sequencer and the main instruments + ribbon is currently “driven by” will be known in the MIDI pipeline beyond Touchscaper and hence further “musical correct” and pleasant melodies and harmonic phrases can be composed additionally to what one has composed & is playing in Touchscaper
    • Does not to be visible in the UI of the sequencer nor arrangement, because it just for the subsequent musical tools in the MIDI pipeline
    • Just a switch with explanations in the MIDI settings or another entry in the MIDI connections dialog

    No.2: sending MIDI program-change messages when an instrument track changes its pattern

    • as one can change the patterns of tracks individually, which is a great feature by the way, in the sequencer grid view, it makes sense to send program changes out on their track respectively
    • I don’t know what the timing should be – at least the program-change should be sent on the first beat of the new pattern and before any note-on messages, but maybe this could /should happen some milliseconds ahead so that the receiver could switch its lanes / active pattern … don’t know if there is an “ahead of time” kind of message type or standardized message flow for this
    • One use case for this, where Touchscaper sounds will also be played, is creating drum & percussion fills in other iOS app, which are capable of 32’th and 64’th notes or playing prerecorded drum fill samples
    • I think this should be switchable, because some people might not want this program-changes in the MIDI data flow, e.g. if they use the drum or percussion track to play (trigger) a hardware bass synth … this might screw up their patches respectively sounds

    To give you an idea how Touchscaper conducts the whole composition flow, imagine the following setup in AUM (just a reduced example to imagine the features in context)

    • Touchscaper in IAA mode
      o all instruments are playing their sounds & do MIDI out, or some are muted and only do MIDI out
      o a new “chord-notes only” MIDI output track sends out the ongoing chord-progression
      o any track that changes its pattern either the user manually inside the sequencer grid view or via the arrangement view, as setup in the “PTN” column, sends a program-change MIDI message

    • Continua – another synthesizer
      o driven by StepPolyArp, which gets the “chord-notes only” MIDI out of Touchscaper
      o inside StepPolyArp (https://dev.laurentcolson.com/steppolyarp.html) one could easily set up further melodies or harmonic phrases
      o StepPolyArp support 16 patterns, which could be switched (composed accordingly beforehand ;-) by the pattern change of the touch or synth tracks in Touchscaper and the corresponding program-change

    • EG Pulse / Patterning 2 – another drum & percussion machine
      o driven by “touchscaper (seq drum)” virtual MIDI port out
      o any program-change switches to another pattern prepare & programmed in EG Pulse

    If there is a need to adjust the program-changes (numbers for example) this could be done by MIDI Effets like mfxConvert in the MIDI pipeline inside AUM.

    Hope this makes sense & inspires.

  • edited July 2020

    @bleep + @moodscaper

    Yes note ties would be great … but there is already a Touchscaper feature, which you can use for “holding notes” especially great for guitars: use the CC feature and send it to the sustain pedal CC64.

    I got this working and sounding nice with the iFretless Guitar already – I guess it depends on the app / synthesizer and how it implements the sustain pedal feature, but iFretless guitar is very easy to use: send a value in the upper half of the value range (or from the knob side of view : all to the right) all the time and you can play nicely notes & rests in succession and they vibe sounding great.

    One thing tough regarding the Touchscaper CC feature – whereby I do not know if this would be also a good idea in all other cases, so there might be a switch for the user to choose – which would make this even more comfortable: sending the default value for the CC which is specified in the “MIDI controllers map” dialog immediately when the arrangement starts and maybe before any note-on is sent.

    Currently I have to wobble the CC knob once to get the value sent out, but than I got my sustained sounds.

    EDIT : at least since version 1.5.3 in the "MIDI controllers map" dialog, there is a button "Send default values" ... so no more wobbles needed 😉.

    For myself I will hook a Mozaic scrip in between to let the velocity of the note-on’s vary more in the mid-range (fluctuating in the 60 to 70’ties 😉).

Sign In or Register to comment.