Single feature that would improve all iOS hosts - Audiobus, AUM, Auria, Cubase, ModStep etc, etc

The ability to save individual device chains/channel strip chains that can be recalled multiple times in any individual IOS host instance. More specifically, that a single iOS host instance would have the ability to load multiple individual pre-saved chains, be they instrument/fx or fx chains alone.

For Illustrative purposes, this is what a device chain looks like in Ableton Live. Each individual device in the chain can be minimised/maximised - this is great for general UX but also makes 'Rack's' in Ableton work really well across multiple screen resolution/layout preferences

Whilst global presets and state saving are better than nothing at all, iOS needs to catch up with desktop DAWs/hosts ability to save an instrument and it's insert effects as a chain (or fx chains on their own as suggested above). Having this ability enables artists/creators to separate sound design and composition into separate sessions. There's nothing that will kill creativity quicker than getting lost in sound design when you're focused on musical ideas (or vice-versa).

Now that iOS devices are competing with desktop hardware with regards to processing power, it's not enough that Audiobus, AUM, ApeMatrix etc are able to save a preset for the global state of said host utility. They need to be able to save individual instrument/fx chains or solus fx chains so that multiples of these device chains can be loaded in a single Audiobus, AUM etc instance.

Why am I suggesting this feature request as a global request here on the Audiobus forum rather than posting individual requests to each individual developer? The thing I love most about music production with iOS devices is that iOS has grown to be a highly modular environment. Initially out of necessity with Audiobus 1, but over time iOS developers have shown themselves to be far more collaborative in the solutions they've created and this has matured to iOS music creation being a virtual parallel to the Eurorack hardware modular scene. So when it comes to the saving of device chains it's something that I think would be best answered at an SDK level - maybe, and hopefully by Audiobus itself (much like the current Audiobus SDK underpins certain critical features in AUM, ApeMatrix, Studiomux etc).

Maybe it will turn out that such a feature will only be possible with AUv3's, but Audiobus 3 has that great UI feature of letting the user know whether each individual IAA app is capable of State Saving (and/or Link). This would suggest that IAA's could be part of a device chain too, as long as they support State Saving.

One of the great features that Ableton has with it's 'Rack's' functionality is the ability to set up 8 macro knobs that are able to modulate multiple parameters at the same time and across multiple individual devices. It's a killer feature for both performance and automation. To have something similar in iOS that functions the same, no matter the host app, would elevate an already great feature to new heights and be totally in keeping with the idea of the iOS music production platform being a parallel to hardware modular music production.

It would be good to know if I'm alone in this wish or if others here on the forum see value in device chain saving/recalling? For the sake of clarity, it's probably best that we keep this thread to this specific feature request, but I'd be interested to see if anybody has any other features that they believe would be best answered at an SDK level (posted as separate threads).

Comments

  • So as to appear less the Ableton fanboy (guilty as charged), here's a similay feature in FL Studio.

    https://www.image-line.com/support/flstudio_online_manual/html/plugins/Patcher.htm

    The functionality is the same in both Ableton Rack's and the FL Studio Patcher but in many ways the FL Studio Patcher environment is the more intuitive UI/UX.

    Hopefully FL Studio's Patcher environment is better a communicating the end benefit to iOS musicians too, especially if the functionality was universal and accessible in all iOS hosts. Save Patcher/Chain environments in one host and they're available in all other hosts too.

  • Thanks for putting this out there. I’ve often thought Ableton type racks with macros would be revolutionary (for me anyway) on ios. One of the main reasons ios projects go to Ableton, all those years of saving reusable racks - and easier audio editing of course.

  • Also, it's will be great to have HUI protocol support in Audiobus/AUM and other

  • Drambo will save us all.

  • @lukesleepwalker said:
    Drambo will save us all.

    The living myth that is... ;)

  • @DefacedVR said:
    Also, it's will be great to have HUI protocol support in Audiobus/AUM and other

    Most definitely something I'd welcome, and a subject I'd happily discuss further in another thread (not being precious, I just think it's easier for the dev's if we keep different functionality requests in separate threads).

  • You might better sack the HUI thing right away, as it's only useful in the motorfader domain.
    The regular touch surface is a perfect replacement for general use.
    Considering ages of complaints about non-functioning 'Hui-compatible' devices and the difficulty of it's sysex implementation, I doubt any dev will be motivated to dvelve into that o:)

  • Before I derail this thread any further with HUI or otherwise MIDI related stuff - it's worth stating that MIDI 2.0 is just around the corner which will bring with it floating point MIDI values beyond the horrendously step ridden 128 possible values of MIDI as it stands (and without the head bending inconsistent trips to current 14 bit MIDI implementations).

    As for hardware controllers having utility in the age of multi-touch, I've yet to encounter a sheet of glass that compares to fine resolution endless encoders of the Ableton Push 2 (or any of a range of Novation controllers). A well-balanced hardware interface is something I'll always welcome. But I obviously love the fact that multi-touch makes iOS such a tactile music creation medium.

  • edited March 4

    Hear! hear!

    All of my FX racks, song & Track(s) Templates (Reaper equivalent) provide a strong DAW loyalty than basically anything else. I am often tempted when I see any update to Bitwig for example, but I look at my hundred+ well labeled and organized shortcuts in my Reaper preset folder and think about how much time it saves me to do anything...
    Cross app would be a killer addon for that.

  • Nanostudio 2 can do this BTW, save a whole chain of AU (and internal) effects. You can also copy and paste a whole chain of FX from one channel to another. These little workflow touches are what makes NS2 so nice to work with.

  • @richardyot said:
    Nanostudio 2 can do this BTW, save a whole chain of AU (and internal) effects. You can also copy and paste a whole chain of FX from one channel to another. These little workflow touches are what makes NS2 so nice to work with.

    In many ways, I think NS2 is the best MIDI-centric DAW-like host on iOS. Cubase has a slight edge in overall polish (but a heap of kludgy workflows to spoil things).

    I own BM3, NS2, ModStep, Cubase, Auria (but not Pro, the current MIDI implementation isn't solid enough for me), and even Xequence (there's much in Xequence to like too from a UX/UI perspective). At the moment the cost of each is low enough that owning them all isn't really all that much of a luxury. Surprisingly (to some), with all those iOS DAWs at my disposal, I still find myself returning to Gadget and ModStep the most as mobile sketchpad's. In fairness to those other DAW's, it's more down to the fact that I primarily use iOS devices as sound modules in my studio to go alongside any other bit of hardware. I'm not attempting to replace my studio with iOS. The most import host apps for me are Audiobus, ApeMatrix, AUM and Studiomux/Modstep.

    Getting back to NS2, I think it's a very reasonable first generation approach to device chain state saving.

    But the solution I'd like to see on iOS would be one that was independent of individual host environments. In the image below imagine that each channel strip was using 3rd party FX rather than AUM native ones. I'd like to be able to save the iSEM and SECTOR 'channel strips' individually (with State Saving controlling the individual parameter position states for each independent app), and then have the ability to open those individual channel strips in another host application at a later date. In most cases it should be possible to recreate the chain, via the necessary presentation layer of the host application (ApeMatrix would need a little more thought).

    On the desktop, DAW providers attempt to lock their customers into using one over another (and device chain saving is a powerful lock-in tool in their armory); but I think iOS has developed as a far more fluid 'modular' environment where app developers co-operate with each other to mutual benefit. Of course the likes of Korg and Steinberg attempt those same old lock-in tactics (and sadly WaveMachine Lab's followed suit with Auria). But overall iOS as a music making platform is open and collaborative in much the same way as the Eurorack hardware scene.

    The generosity of the Audiobus boys and initiatives like Audiokit has benefited users and developers with equal measure. If these independent forces could between them agree SDK's and API's for things like chain state saving, they'd not only be providing great utility for users, they just might drag the likes of Steinberg and Korg into the age of collaboration! If nothing else, the combined weight of those independent developers that make iOS audio such a hive of creativity will be able to stand up to the corporate behemoths of the old guard when iOS audio becomes a mass market platform over the next 3-5 years (it's even possible that iOS will overtake the desktop as the audio production environment of choice - particularly outside of the pro-sector).

  • wimwim
    edited March 4

    So as to appear less the Ableton fanboy (guilty as charged), here's a similay feature in FL Studio.

    https://www.image-line.com/support/flstudio_online_manual/html/plugins/Patcher.htm

    The functionality is the same in both Ableton Rack's and the FL Studio Patcher but in many ways the FL Studio Patcher environment is the more intuitive UI/UX.

    Hopefully FL Studio's Patcher environment is better a communicating the end benefit to iOS musicians too, especially if the functionality was universal and accessible in all iOS hosts. Save Patcher/Chain environments in one host and they're available in all other hosts too.

    Have you checked out zMors modular? It’s similar in many ways to FL Studio Patcher. Daedalus is another that allows inserting AU and IAA (and other) FX in the chain and saving it. Neither does what you’re looking for really because they’re both Standalone / IAA apps, so only one instance can exist at a time. But they’re interesting to check out.

  • @wim Yeah I've checked out ZMors. It's definitely an interesting app that reminds me of Audulus.

    It's funny I know @richardyot from another community (the user community of a 3d app called Modo). And the people that create Modo swear that nodal interfaces like FL Patcher intimidates many users, but I've always found that once you get past basic functionality a nodal interface makes things easier to visualize. But in much the same way that modular synthesizers can be intimidating, I can see where apprehension can take root.

    Device chain saving is very easy with Ableton when the signal is being processed through a linear, series signal path, but once you get into parallel signal paths (or non-linear paths with feedback loops) FL Patcher is so much easier to visualize.

    As to a global device chain saving mechanism for music applications on iOS, I'd imagine that a simple linear approach would probably be easiest to implement at first. But I think it's worth highlighting any possible execution path at this stage. Something that appears tangential or maybe even something that appears complex might be the thing that inspires the devs to create a solution we haven't yet imagined. :)

  • If you could import/merge saved sessions, it sure would be handy. Being able to organize saved sessions in folders would probably be necessary too.
    You could create small sessions containing your ‘setup chains’ and import them into a bigger working session. This would create too many saved sessions though, so a way to keep them organized would keep it clean and useful, instead of a big mess.

    I am not sure about the cross-host application of this, which is what I think the post is about. I don’t really know, but it seems impossible without Apple getting involved and bringing some major changes to iOS.

  • @CracklePot said:
    If you could import/merge saved sessions, it sure would be handy. Being able to organize saved sessions in folders would probably be necessary too.
    You could create small sessions containing your ‘setup chains’ and import them into a bigger working session. This would create too many saved sessions though, so a way to keep them organized would keep it clean and useful, instead of a big mess.

    I am not sure about the cross-host application of this, which is what I think the post is about. I don’t really know, but it seems impossible without Apple getting involved and bringing some major changes to iOS.

    Indeed. AUv3 apps can’t host other apps, so IAA is the only route available currently. But only one instance of an IAA app can be active at a time.

    So, from what I can see, it has to be implemented by the host.

    In Audiobus, AUM, and Ape Matrix, I could envision this perhaps as a “merge” session function. Where you could add a saved session into an existing session. It would be problematic unless all apps and FX were AUv3 though.

    We already have an example in NS2 of how it can be done in DAWs.

  • edited March 4

    @wim I was thinking the solution might lay in a descriptor 'sidecar' approach (programatically speaking). A universal metadata based piece of functionality that could store the parameter values in play for each app in the chain and make them available to other host applications and their associated presentation layers.

    I must admit I'd never considered an AUv3 as a possible host, just IAA hosts for the reasons you state above.

    I'd see a nodal interface as something that might exist as a brand new IAA host, one whose purpose would be to provide device chains that other IAA hosts could utilise (very much keeping with that thought of separating sound design from music composition). It might even be an extension of Audiobus, AUM or ApeMatrix, although I think a separate app would feel like more of a holistic solution, rather than a competitive advantage for any single developer. ;)

  • Probably worth adding at this stage that I only see this feature working for 'device chains' made up of 3rd apps which are not natively available to any particular IAA host. That may seem a classic 'no s..t Sherlock' utterance, but it's worth stating for clarity's sake. There's only a need for host neutral 'device chain' saving if the devices in play are available in all possible IAA hosts.

    For what it's worth, one of the reasons I favour ModoStep over other DAW like hosts is that it has no bloatware FX & instruments. iOS makes it possible to build a bespoke selection of instruments and FX that best suit my particular creative goals for a very reasonable financial outlay. And if I want an all-in-one solution, I can always turn to Gadget. I know there are many others that desire an uber mix of e.g Audiobus/AUM/Nanostudio in a single app but I believe the real beauty of iOS as a music making platform, it that it has organically developed over time into a 'modular' plug n' play toolset. Host independent 'device chain' saving seems like it could be part of the next natural evolution of the platform.

  • wimwim
    edited March 5

    @jonmoore said:
    @wim I was thinking the solution might lay in a descriptor 'sidecar' approach (programatically speaking). A universal metadata based piece of functionality that could store the parameter values in play for each app in the chain and make them available to other host applications and their associated presentation layers.

    I must admit I'd never considered an AUv3 as a possible host, just IAA hosts for the reasons you state above.

    I'd see a nodal interface as something that might exist as a brand new IAA host, one whose purpose would be to provide device chains that other IAA hosts could utilise (very much keeping with that thought of separating sound design from music composition). It might even be an extension of Audiobus, AUM or ApeMatrix, although I think a separate app would feel like more of a holistic solution, rather than a competitive advantage for any single developer. ;) :/

    The problem lies with iOS sandboxing. Apps from different developers just can’t communicate with each other like that, except by midi. So anything like that would either need to:

    • be built in to an SDK, like AudioBus, then be proactively implemented in each host by each developer.
    • or, be implemented via something like midi Sysex. Someone would need to design (and get widespread agreement on) a standard protocol. Probably an open source library to make it easier to integrate (sort of like the just announced AudioKit tuning library) would need to be developed and maintained, in order to be practical to adopt.

    Frankly I just don’t see it happening universally. Sub-Session merging in AB, AUM and Ape Matrix I can see. Hosts implementing their own version of channel presets I can see. But what you’re hoping for seems to me like it would require way too much developer cooperation and overhead given the already low return on time investment in iOS apps.

    Sorry. I would definitely love to be wrong, but I really don’t think I am. Ugh. What a negative post. Sorry again. :/

  • @wim No problem, I don't see your post as negative. :)

    Parred down to its essential parts, what I'm suggesting is 'Sub-Session merging' in AB, AUM, StudioMux/ModStep and ApeMatrix (although ApeMatrix may be a challenge). You'd require the 'merge host' middle layer of AB, AUM etc for anything we've been discussing to be possible.

    Parred to the core, I'd see things possibly working this way:

    • Each 'merge host' (AB/AUM etc) would have the ability to save individual device chain states not just their global save state (as things are currently).
    • The ability to recall individual device chain states between merge hosts e.g A chain state saved in AUM can be opened in AB.

    I don't see any of that as being problematic on paper. OS X is riddled with sandboxing too but pro audio applications are provided with global places for plugin presets and suchlike.

    Forgetting the development of a new iOS app that's tuned to the needs of sound design and device chain sharing. The core thing we're discussing here is for the 'merge host' providers to agree on a common standard for the saving and recalling of individual device chains. I also don't think that Apple will need much persuasion with regards to providing the equivalent of the common shared library/audio folder in OS X (or the Users/Shared folder location). With iPad Pro's increasingly being marketed towards creative professionals, I'm sure Apple realise that some flexibility will be required with regards to App sandboxing.

    With regard to the 'sidecar' approach, I was simply talking about 'DAW host' specific usage metadata that could be included within the preset itself, or as a separate file that's only read when required.

    I would hope that both the Audiobus and AUM team are already exploring the need for individual device chain saving (much like is provided in NS2). What I'm hoping is that they come up with a universal solution that's to the benefit of the platform rather than any specific app/customer segment.

  • This is really a useful feature and if you do sound design and want to use more than a single AUv3 effect/instrument, this is actually an essential feature.

    I have an idea about the actual implementation that would be cross-host applicable and which is quite simple, but there's a prerequisite: We need an unified AUv3 preset format, that can be shared between the hosts and have them saved (ideally automatically) inside the Files app folder, belonging to the respective host. This way you would be able to import presets from a different host by pointing it on that folder / presets file (or if a single preset = single file, then we would need to maybe zip these files, as I think Files browser inside the app is limited to select a single file only).
    This alone would be a big improvement for users who switch between multiple hosts. Currently, we have to rely on internal presets saving, which is not always available.

    And how this helps to have this effect chains shareable presets? With a unified shareable preset format for a single plugin, there can be another feature introduced - export all the current presets of the whole chain. They can be again saved either inside a special folder, or a special presets file and later imported either within the same host, or even from a different one. The host will then upon loading the file just check all the plugins that were used, load them in the order they were provided with the respective presets. This could be used for the whole instrument chain too!

    One question is, whether to handle presets as a single file = single preset, or single presets file = all user presets for one AUv3 plugin. Single file seems like an easier approach, but the question is, how a single preset file would look like, if it contain mixed presets from various plugins. But I believe that single file approach is better as you would anyway need to somehow identify the plugin the presets are belonging to, even if it's a single preset (otherwise, you'd need to handle weird errors if you try to load a preset file of a different plugin). Also the benefit is easier handling while exporting / importing. The con is that you loose the option for "granular" approach - exporting or importing only a specific presets. But I believe this is a minor issue.

    Another question is, how the hosts are currently handling AUv3 presets. From what I see, currently there is a difference between e.g. AUM and AB3 - AUM handles presets by itself, so it just "snapshot" the current state of AUv3 parameters and save it (probably inside it's own sandbox), whilst AB3 relies on the plugins sandbox and their own handling of presets, so they don't save the presets by itself, so this approach would not be applicable. However, just a few hours ago, I have installed beta version of AB3 and it seems that exactly this issue is already addressed and user presets can be saved by AB3 itself, just like it is in AUM 👍

    This leads me to a conclusion that as AUM and AB3 developers already need to store the presets in some format, maybe there's a chance to agree upon some format, document it and publish it for other host apps developers. And I believe this is the first and very important step to be able to make this idea of saving shareable preset chains a reality. But I really love how this world grows, if you look just a year or two in the past, we wouldn't even dare to dream about such thing :smile:

  • And BTW, for anyone not noticing yet, Beatmaker3 has the whole instrument chain saving (they call it banks), which I kinda used also for the effects chain - you only need to switch the instrument that's currently loaded or save the bank without any instrument loaded, only with the effects. Also the macros are saved, which is incredibly helpful if you design your own instruments / sounds and want to reuse them between projects.

  • @skrat Interesting thoughts.

    The way device chain saving is handled in desktop DAW's is via host automation (behind the scenes). In Ableton, I never save presets to instruments themselves, only to Instrument Racks (Instrument, FX and utility plugins together). I approach things much the same with Maschine; that way I only have two main places where sound design sessions are saved/recalled. One that's open to all plugins on my system and one that's focused on Native Instruments sound sources (I own the full Komplete package and find the Komplete Kontrol/Maschine tag based preset system preferable if the chain only involves NI products).

    Behind the scenes, access to automation data is pretty much the way things work with AUv3 'plugins in iOS DAWs too. As I understand things, Audiobus had to develop an SDK approach (State Saving) for IAA apps but the limitation here is that the IAA app in question has to use the Audiobus SDK (in reality, that's the majority of decent apps). It's one of the reasons that it's smart to keep both AB2 and AB3 installed at the same time. e.g I love using Virsyn Cube & Addictive Synth (Addictive Synth takes me to different sonic territories than Addictive Synth Pro) but they were never updated for AB3, therefore if I want State Saving to function properly, I need to use AB2. Over time I'd expect most developers of iOS instruments and FX to embrace AUv3 but it will take time, and some apps e.g. Patterning 2, will require a completely fresh UX/UI approach if they're to be an optimal AUv3 experience.

    Having said all that. I don't think the user community should worry too much with regards to the background technology that facilitates universal preset chain saving (outside of music production, I'm a UX guy by trade, so I sometimes find it hard to avoid that particular rabbit-hole!). As long as it's not complete pie in the sky, all ideas are game for discussion. :)

Sign In or Register to comment.