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.

Free AUv3 ports of Mutable Instruments eurorack modules

12021232526

Comments

  • I'd like to see the MIDI CC assignment for Timbre changed to something other than 10, as this conflicts with Track panning in Garageband. LFO Rate and Panning also both seem to be assigned to CC 18 within Spectrum.

    Just confirmed that CC #18 bug. Fixed it last night but I've got a few things to do before releasing it. Sorry about that. There were no intentional CC changes in this release, but I did refactor a couple thousand lines of code and introduced this bug.

    I'll think about better avoiding/adopting the MIDI GM standard. Right now the CC code is very very simple and just automatically maps the AU parameters over to MIDI CC values, and to adopt the standard I'd have to start writing hardcoded mappings for all the AUs which I suspect would be a bit more brittle over the long term.

  • edited August 2019

    Something useful I discovered, if you are only going to control from MIDI and not touch the XY Pad, the Pad Gate setting in Spectrum and Resonator is addressable across a full range of 0-127. So, using the Matrix, this can used to freely control LFO Amount which is not normally available for MIDI control.

    Another feature request: it would be handy if all the plugins could respond to a sustain pedal (using MIDI CC 64 to hold the key gate open).

    @burns_audio said:

    I'd like to see the MIDI CC assignment for Timbre changed to something other than 10, as this conflicts with Track panning in Garageband. LFO Rate and Panning also both seem to be assigned to CC 18 within Spectrum.

    Just confirmed that CC #18 bug. Fixed it last night but I've got a few things to do before releasing it. Sorry about that. There were no intentional CC changes in this release, but I did refactor a couple thousand lines of code and introduced this bug.

    Great, thanks!

    I'll think about better avoiding/adopting the MIDI GM standard. Right now the CC code is very very simple and just automatically maps the AU parameters over to MIDI CC values, and to adopt the standard I'd have to start writing hardcoded mappings for all the AUs which I suspect would be a bit more brittle over the long term.

    One quick fix in the interim would be to keep the current automatic mapping but start with CC #33 instead of #2. Since your plugins all have 28 or fewer assignments, this would keep things from conflicting with more standard MIDI controls. (The MIDI spec has this block starting at CC #32, but I've found this one in particular does not work for MIDI mapping with other software from my controller.)

    While experimenting, I've also found the following CC mappings that are anomalous. Maybe this is all already fixed as part of your fix for CC 18, but I'll list what I'm seeing just in case. Stated mappings from the documentation are in parentheses:

    Spectrum
    CC 9 (LPG Colour) is unmapped
    CC 13 (Volume) is unmapped
    CC 14 (originally Left Source) is unmapped
    CC 15 (originally Right Source) controls Volume
    CC 16 (Pan) controls the new Source knob
    CC 17 (Pan Spread) controls the new Source Spread
    CC 19 (LFO Shape) controls both LFO Shape and Pan Spread
    CC 22 (Attack) is unmapped
    CC 26 (Bend Range) is unmapped

    Modal
    CC 17 (Mode) is unmapped
    CC 18 (Pitch) is unmapped
    CC 19 (Detune) controls Mode
    CC 20 (LFO Rate) controls both LFO Rate and Pitch
    CC 21 (LFO Shape) controls both LFO Shape and Detune
    CC 22 (Shape Mod) is unmapped
    CC 24 (Attack) is unmapped
    CC 25 (Decay) is unmapped
    CC 26 (Sustain) controls Attack
    CC 27 (Release) controls Decay
    CC 28 (Input Gain when effect) controls Sustain
    CC 29 (Input Dest when effect) controls Release

    Resonator seems just fine.

  • edited August 2019

    @mogue said:
    Something handy I discovered, if you are only going to control from MIDI and not touch the XY Pad, the Pad Gate setting in Spectrum and Resonator is addressable across a full range of 0-127. So, using the Matrix, this can used to freely control LFO Amount which is not normally available for MIDI control.

    Another feature request: it would be handy if all the plugins could respond to a sustain pedal (using MIDI CC 64 to hold the key gate open).

    @burns_audio said:

    I'd like to see the MIDI CC assignment for Timbre changed to something other than 10, as this conflicts with Track panning in Garageband. LFO Rate and Panning also both seem to be assigned to CC 18 within Spectrum.

    Just confirmed that CC #18 bug. Fixed it last night but I've got a few things to do before releasing it. Sorry about that. There were no intentional CC changes in this release, but I did refactor a couple thousand lines of code and introduced this bug.

    Great, thanks!

    I'll think about better avoiding/adopting the MIDI GM standard. Right now the CC code is very very simple and just automatically maps the AU parameters over to MIDI CC values, and to adopt the standard I'd have to start writing hardcoded mappings for all the AUs which I suspect would be a bit more brittle over the long term.

    One quick fix in the interim would be to keep the current automatic mapping but start with CC #33 instead of #2. Since your plugins all have 28 or fewer assignments, this would keep things from conflicting with more standard MIDI controls. (The MIDI spec has this block starting at CC #32, but I've found this one in particular does not work for MIDI mapping with other software from my controller.)

    While experimenting, I've also found the following CC mappings that are anomalous. Maybe this is all already fixed as part of your fix for CC 18, but I'll list what I'm seeing just in case. Stated mappings from the documentation are in parentheses:

    Spectrum
    CC 9 (LPG Colour) is unmapped
    CC 13 (Volume) is unmapped
    CC 14 (originally Left Source) is unmapped
    CC 15 (originally Right Source) controls Volume
    CC 16 (Pan) controls the new Source knob
    CC 17 (Pan Spread) controls the new Source Spread
    CC 19 (LFO Shape) controls both LFO Shape and Pan Spread
    CC 22 (Attack) is unmapped
    CC 26 (Bend Range) is unmapped

    Modal
    CC 17 (Mode) is unmapped
    CC 18 (Pitch) is unmapped
    CC 19 (Detune) is actually mapped to Mode
    CC 20 (LFO Rate) controls both LFO Rate and Pitch
    CC 21 (LFO Shape) controls both LFO Shape and Detune
    CC 22 (Shape Mod) is unmapped
    CC 24 (Attack) is unmapped
    CC 25 (Decay) is unmapped
    CC 26 (Sustain) is actually Attack
    CC 27 (Release) is actually Decay
    CC 28 (Input Gain when effect) is actually Sustain
    CC 29 (Input Dest when effect) is actually Release

    Resonator seems just fine.

    I assume you are referring to GarageBand? If midi cc is disabled there is no issue with midi assignment in AUM... except for that recall bug thing .

  • @[Deleted User] said:
    I assume you are referring to GarageBand? If midi cc is disabled there is no issue with midi assignment in AUM... except for that recall bug thing .

    Yep, that's why I'm referring to the documentation where the default CC implementation is described:
    https://burns.ca/spectrum.html

    I assume this could also be an issue in other AUv3 hosts besides AUM that don't offer CC assignment. In any case it seems like a good idea to help get the code straight rather than suggesting to axe the whole thing and rely on MIDI assignment capabilities that might or might not be there depending on the host. It is cool that AUM users have a solution at the ready, though.

  • @mogue said:

    @[Deleted User] said:
    I assume you are referring to GarageBand? If midi cc is disabled there is no issue with midi assignment in AUM... except for that recall bug thing .

    Yep, that's why I'm referring to the documentation where the default CC implementation is described:
    https://burns.ca/spectrum.html

    I assume this could also be an issue in other AUv3 hosts besides AUM that don't offer CC assignment. In any case it seems like a good idea to help get the code straight rather than suggesting to axe the whole thing and rely on MIDI assignment capabilities that might or might not be there depending on the host. It is cool that AUM users have a solution at the ready, though.

    Im not suggesting to axe anything.

  • Hmmm, what’s up with the String model in Spectrum...

    It’s sometimes playing multiple notes per key, like playing two finger chords!?

  • edited August 2019

    @[Deleted User] said:

    @mogue said:

    @[Deleted User] said:
    I assume you are referring to GarageBand? If midi cc is disabled there is no issue with midi assignment in AUM... except for that recall bug thing .

    Yep, that's why I'm referring to the documentation where the default CC implementation is described:
    https://burns.ca/spectrum.html

    I assume this could also be an issue in other AUv3 hosts besides AUM that don't offer CC assignment. In any case it seems like a good idea to help get the code straight rather than suggesting to axe the whole thing and rely on MIDI assignment capabilities that might or might not be there depending on the host. It is cool that AUM users have a solution at the ready, though.

    Im not suggesting to axe anything.

    Sorry, didn't intend to put words in your mouth. It seemed more implied by your response, sort of a "why report this bug when AUM gets around it" type of deal. Cheers

  • edited August 2019

    @mogue said:

    @[Deleted User] said:

    @mogue said:

    @[Deleted User] said:
    I assume you are referring to GarageBand? If midi cc is disabled there is no issue with midi assignment in AUM... except for that recall bug thing .

    Yep, that's why I'm referring to the documentation where the default CC implementation is described:
    https://burns.ca/spectrum.html

    I assume this could also be an issue in other AUv3 hosts besides AUM that don't offer CC assignment. In any case it seems like a good idea to help get the code straight rather than suggesting to axe the whole thing and rely on MIDI assignment capabilities that might or might not be there depending on the host. It is cool that AUM users have a solution at the ready, though.

    Im not suggesting to axe anything.

    Sorry, didn't intend to put words in your mouth. It seemed more implied by your response, sort of a "why report this bug when AUM gets around it" type of deal. Cheers

    Nope that was not what i was implying, All bugs should be reported and the dev already confirmed it.

    Also i agree sustain midi 64 should be assigned to sustain pedal as default if possible and if dev agrees.

  • @mogue said:
    One quick fix in the interim would be to keep the current automatic mapping but start with CC #33 instead of #2. Since your plugins all have 28 or fewer assignments, this would keep things from conflicting with more standard MIDI controls. (The MIDI spec has this block starting at CC #32, but I've found this one in particular does not work for MIDI mapping with other software from my controller.)

    The MIDI spec actually defines 32-63 as the least significant bits for controllers 0-31, but I've never seen 14-bit CCs used aside from mod wheel and NRPN/RPN. Thats why #32 doesn't work for you, its the lower 7 bits of 14-bit modwheel messages. Looks like #38 also gets used in the real world as the LSB for CC #6, which is 14-bit NRPN/RPNs.

    I implemented a better blacklisting strategy and submitted a build this evening, so after testing and review it should be out midweek. I decided to avoid CC#7 instead of trying to map to the MIDI spec. Volume would be straightforward but even pan and balance starts getting into semantics and the majority of parameters won't get mapped well regardless..

  • Just released 0.5. Should be available on your device over the next 24 hours.

    • CC Mapping is fixed.
    • CC Mapping is updated to avoid some MIDI GM CC #s as well as some other CC#s that should be reserved like NRPN/RPN. (cc @wim some CC values changed!)

    The manual has been updated to match the CC #s in v0.5.

  • edited August 2019

    This is great! No more CC conflicts with track volume or pan (or anything else) in GarageBand at least, and no more doubled parameter responses. The only remaining issue I'm seeing (only having gone through Plaits so far) is that LFO Shape is not responding to CC 22.

    As a minor note, the Tempo Sync and Key Reset toggles respond differently than the Unison toggle. The former two seem to go positive with CC values above 95 or so, while the latter only needs 64.

    An even more minor note: the "Amplitude Env" CC #s are marked as "Modulation Env" in the documentation.

    Thanks again.

  • edited August 2019

    @mogue said:
    The only remaining issue I'm seeing (only having gone through Plaits so far) is that LFO Shape is not responding to CC 22.

    Scratch that. I'm not sure what was going on yesterday, but it's working now.

    Unrelated, a fun trick I discovered: if you route your MIDI through VCV Rack (available for free) using the "MIDI-CV", "MIDI-CC", and corresponding "CV-MIDI" and "CV-CC" modules, it becomes immediately possible to use a sustain pedal with Spectrum. The MIDI-CV module listens to CC 64 and automatically holds the key gate open when the sustain pedal is held, so on the output end Spectrum can't tell the difference between a held note and a pedal-sustained note. If you're using polyphony in Spectrum, be sure to right-click the MIDI-CV module and set "Polyphony channels" to 8.

    A simple setup, unlocking use of the sustain pedal:

    My setup adding CC:

    Edit: This is limited in that pedal-sustained notes cannot be retriggered while they are pedaled. This seems to be in part because Spectrum locks a held note to a single instance of polyphony. In other words, while a given key-gate is open, it cannot be opened again using Spectrum's polyphony. No manual/staged unison is possible.

    I've attached the VCV Rack setup pictured in the second screenshot above, for anyone who wants to play with this more quickly.

  • edited August 2019

    @mogue crazy VCVRack patch :) I'll add sustain support soon.

    If you want to try manual unison, send the same note to another MIDI channel while Spectrum is in OMNI mode. It should trigger a second voice as long as the note is high enough priority

  • edited August 2019

    @burns_audio said:
    @mogue crazy VCVRack patch :) I'll add sustain support soon.

    Awesome. Any feasibility in expanding polyphony to 16? I'm a sustain-pedal abusing pianist who's dreaming of a Plaits-driven Moog One of sorts. :D

    @burns_audio said:
    If you want to try manual unison, send the same note to another MIDI channel while Spectrum is in OMNI mode. It should trigger a second voice as long as the note is high enough priority

    This doesn't work, unfortunately. I'm not sure how to judge the priority of the data being sent. In this video I first trigger a note 8 times to demonstrate Spectrum is responding on 8 channels, then use the pedal to hold the gates open. In order to make it clear when a note is being retriggered, Spectrum's modulation envelope is set to dramatically modulate Tune with a minimum attack, max decay, and minimum sustain level:

    There does seem to be something weird going on with Spectrum's MIDI Channel setting, maybe unrelated to the manual unison thing. When Spectrum is set to Omni, it responds to MIDI sent on any channel from VCV Rack. But, when it is set to Ch 1, it also responds to MIDI sent on any channel in the same way. When it is set to anything else (Ch 2-16), it doesn't respond to MIDI on any channel (not even the respectively appropriate one). This also holds true when VCV Rack isn't sitting in the middle and MIDI is going direct from controller to iPad.

  • @mogue that's very bizarre, midi channel setting works as expected for me with Spectrum, AUM, and sending midi from Rozeta Bassline on various MIDI channels

  • @burns_audio said:
    @mogue that's very bizarre, midi channel setting works as expected for me with Spectrum, AUM, and sending midi from Rozeta Bassline on various MIDI channels

    It's probably a GarageBand thing then... I'm not sure what it's doing to make it fail in this way, though. You could try it out in GarageBand yourself to be sure that's the cause.

  • @mogue Sounds like garageband, or something else in the chain, is rewriting incoming MIDI to channel 1 regardless of input channel. That would explain your experience.

  • Atom is known to do this, take incoming midi and send it all out on channel 1. Perhaps GB is doing the same?

  • I came across some nice ideas/inspiration/tutorials:

    Does the knowledgable crowd here think all these can be recreated on iOS? How about the #2 drum loop with envelope generators, perhaps using some Mozaic script?

  • edited August 2019

    @burns_audio said:
    @mogue Sounds like garageband, or something else in the chain, is rewriting incoming MIDI to channel 1 regardless of input channel. That would explain your experience.

    Ah yep, that would make sense. It's gotta be GB, given it happens with direct USB from my controller to the iPad. Chalk one up to Apple arbitrarily limiting their software.

    @bleep said:
    Does the knowledgable crowd here think all these can be recreated on iOS? How about the #2 drum loop with envelope generators, perhaps using some Mozaic script?

    Off the top, it wouldn't be possible to get a complex drum sequence like that coming out entirely out of a single instance of Spectrum's Resonator because it can't give you individual access to the Odd and Even outputs of the Rings algorithm. So to start you'd need two instances of Resonator running.

    After that you'd need an app that can take audio input and run it through an envelope, though you won't be able to also use that envelope to modulate Resonator like is being done in that VCV patch unless there exists an envelope generating app that can use its envelope to modulate MIDI parameters.

    The LFO bit can be done within Resonator, so all that would be left is an app that can do wavefolding and saturation. Unfortunately I don't know enough about the AUv3 ecosystem (I'm just getting started) to be able to suggest any apps, but I can say that Mozaic alone won't help here as it only deals in MIDI rather than audio manipulation which is what you'd need for the envelope and wavefolding/amplification bits.

  • If you put the "stereo spread" to max on Resonator, odd and even will be separated onto left and right outputs.

    You might be able to use the modulation envelope on Resonator to modulate the input gain amount, which would close the input when not triggered.

  • Version 1.1 of the Spectrum Randomizer Mozaic script is available on patchstorage.com. This release incorporates the cc changes from the last Spectrum release. If you use the randomizer you’ll want to download this since the assignments for several parameters have changed.

    https://patchstorage.com/spectrum-parameter-randomizer/

    @burns_audio, there’s a minor mistake on the manual page. The cc table for Spectrum lists the Amp envelope controls as (Modulation Env).

  • @wim said:
    Version 1.1 of the Spectrum Randomizer Mozaic script is available on patchstorage.com. This release incorporates the cc changes from the last Spectrum release. If you use the randomizer you’ll want to download this since the assignments for several parameters have changed.

    https://patchstorage.com/spectrum-parameter-randomizer/

    @burns_audio, there’s a minor mistake on the manual page. The cc table for Spectrum lists the Amp envelope controls as (Modulation Env).

    Apologies ... I messed up on the Resonator cc’s. Version 1.2 has been uploaded with the corrected assignments.

  • edited September 2019

    There seems to be an issue with running Resonator as an effect when Spectrum is used as an input.

    It works fine as an effect with everything else that I've tried on input, including GarageBand audio drumloops, GarageBand's built-in Alchemy Synth (to verify that it works with both audio and midi tracks), Modal, and Resonator itself (resonator-ception).

    When I've got Spectrum as the input, it doesn't make any sound no matter how I arrange the settings on both Spectrum and Resonator (including boosting Spectrum's output by 20db with a compressor beforehand, along with maximum volume knob on Spectrum and max input gain and volume knobs on Resonator).

  • @mogue what host? Working for me in AUM although I have to send MIDI notes to resonator directly as well, otherwise it's pitch is extremely low

  • edited September 2019

    @burns_audio said:
    @mogue what host? Working for me in AUM although I have to send MIDI notes to resonator directly as well, otherwise it's pitch is extremely low

    GarageBand still. It works fine with Modal and Resonator on input as well as other audio and midi instruments.

    I just tried raising Resonator's pitch knob to maximum as well as adding a vocal transformer effect afterward to raise the pitch, just in case it was actually a pitch so low that it didn't register on the VU meter (if that's possible), but saw no change.

  • Well... It's working now! I went to try applying Granular and Modal to Spectrum in GarageBand to see if they would work (they did), then went back to Resonator and found it working. I can't explain it.

    Anyways, @bleep I played around a bit with trying to reproduce the Resonator-drum-machine concept. I used Spectrum's Noise model as the source of noise, and used a tempo-synced Stepped-shape LFO in the ResonatorEffect to modulate Damping & Level. I also used Resonator's matrix to modulate LFO Rate using both the LFO and the output, in an attempt to get an evolving sort of rhythm. The result shows some interesting potential, I think. I am getting what sounds like clipping, but I'm not sure where it's coming from because reducing Spectrum's volume knob & Resonator's input gain only results in quieter clipping. The VU meters look fine. Skip to 2:25 for a bit of layered rhythms:

  • I’m loving this app bundle so much. Automation recording and playback work well in BM3.

  • edited October 2019

    Just released Spectrum 0.6!

    MPE support is added - enable it on the "settings" page. You can use the "Basic MPE" factory patch as a starting point and route MPE dimensions to various parameters in the modulation matrix.

    Also:

    • Added dedicated "Velocity depth" knob to apply MIDI velocity to note amplitude.
    • Set default pitch for resonator / modal effect to 48 if no MIDI notes are sent.
    • Settings tab can be saved as default / auto-loaded on new instances.
    • Support for Sustain pedals.
    • Parameter grouping cleaned up.
    • Reduced the internal Plaits' string model polyphony to 1 to avoid weird bugs when a single spectrum voice ends up playing multiple notes inside the plaits engine. This was a bug, spectrums polyphony is still max 8 when using this model.
  • Thank you!
    ❤️

Sign In or Register to comment.