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.

MIDI Tape Recorder released! (sample accurate, MPE, free and open source)

123468

Comments

  • @_smund said:
    I get one silly and one real problem,
    Notice whenever I press the timeline after the PC change event in Xequence, it starts playing?
    @SevenSystems do you have an idea what it could be?
    (It’s good for you guys I nag multiple people so you don’t have to have me alone :)

    @GeertBevin
    When I de-couple Midi Tape Recorder from host transport it seems to loose the tempo, can I still use it as I wanted, like a clip launcher?

    In addition it seems to still play for a bleep when I send the PC 0 to PLAY On/Off at the start of the song(when decoupled from trans)

    Yeah, Xequence has a feature called "Event Chasing" which makes sure that MIDI receivers always have the correct information (programs, controller values, etc.) at the current song position; that's why when you do pretty much anything in Xequence that might affect song position, Program Changes or similar, it will re-send the previous Program Changes on the timeline.

    This is something that should maybe be configurable, I agree. However, to be honest, using a Program Change to start playback is also not a "standard" use for the MIDI message 🤔

  • @_smund if you can, use a Note message to control playback, and then just draw a very short note in Xequence maybe?

  • Ya but me likey PC cuz they dont have so many NR’s.
    For sure I will do that :)

  • Love this app and appreciate the great video!

    One thing that I really wish was possible and please forgive me if it already exists is the ability to have a mode where the app records your playing in the background for a predetermined set of time without you even selecting record. I hope this makes sense. There has been countless times when i was playing something so awesome and said, man wish I’d recorded that! Only to come back and record enable whatever midi program I’m using and bam, the inspiration is gone.

    Something like that would really be amazing! And since it’s midi, it’s not gonna fill your iPad up!

    @GeertBevin What do you think?

    Cheers!

    MM4C

    @GeertBevin said:
    I made an intro and basic tutorial video, check it out:

  • Oh btw @_smund , I just realized you can workaround the chasing by just inserting another program change (one that your target app doesn't recognize) immediately after each "real" program change... that'll cause Xequence to chase the program number that has no effect on the other app and thus you should be fine.

  • @_smund said:
    @GeertBevin
    When I de-couple Midi Tape Recorder from host transport it seems to loose the tempo, can I still use it as I wanted, like a clip launcher?

    When you say "lose the tempo" to you really mean the BPM isn't the same or that it doesn't start on the first downbeat?

  • @Tones4Christ said:
    Love this app and appreciate the great video!

    One thing that I really wish was possible and please forgive me if it already exists is the ability to have a mode where the app records your playing in the background for a predetermined set of time without you even selecting record. I hope this makes sense. There has been countless times when i was playing something so awesome and said, man wish I’d recorded that! Only to come back and record enable whatever midi program I’m using and bam, the inspiration is gone.

    Something like that would really be amazing! And since it’s midi, it’s not gonna fill your iPad up!

    @GeertBevin What do you think?

    Thanks for the kind words and the feedback. How long would you want this to record for? I might add an auto max duration type of thing, but I don't think it makes sense to not have to enable record enable to be able to record. You will have to instantiate the plugin anyway, route the midi anyway, and might have other things already recorded that you don't want to erase. So the only real thing it seems you're asking for is a maximum length that it keeps while continuing to record new things.

  • @GeertBevin Yes! Sorry for not specifying, I can’t tell but, I didn't mean it to be related to the fix you’ve just made.

    Is it supposed to be albe to be used as a clip launcher? I don’t want to push to hard for it if it’s not, it would just be great

    -The problem showed up when using Xequence to launch MTR clips, the tempo seems not to be synced anymore, even if I place the PC change “Play” on the beat.
    It plays in sync once while locked to host transport, but that needs to be turned off to use it as a clip launcher, correct?

    Maybe you could give it a shot with Xequence to reproduce the sync thing?

    There is an accidental launch of MTR in the video when I un-tick follow host transport, when Xequence 2 does it’s chase note thing, but MTR re sets for the next loop and the problem should as far as I can tell be real.

    If it is,
    Maybe another layer/option to transport binding could help,,
    To have it follow host Transport, but not send midi on when AUM starts, only when recciving play/stop, like clip launcher mode?

    Is it like, there are no other options than MTR right now anyway for song crafting using MPE?
    I love its accurate playback

  • @_smund said:
    @GeertBevin Yes! Sorry for not specifying, I can’t tell but, I didn't mean it to be related to the fix you’ve just made.

    Is it supposed to be albe to be used as a clip launcher? I don’t want to push to hard for it if it’s not, it would just be great

    -The problem showed up when using Xequence to launch MTR clips, the tempo seems not to be synced anymore, even if I place the PC change “Play” on the beat.
    It plays in sync once while locked to host transport, but that needs to be turned off to use it as a clip launcher, correct?

    Maybe you could give it a shot with Xequence to reproduce the sync thing?

    There is an accidental launch of MTR in the video when I un-tick follow host transport, when Xequence 2 does it’s chase note thing, but MTR re sets for the next loop and the problem should as far as I can tell be real.

    If it is,
    Maybe another layer/option to transport binding could help,,
    To have it follow host Transport, but not send midi on when AUM starts, only when recciving play/stop, like clip launcher mode?

    Is it like, there are no other options than MTR right now anyway for song crafting using MPE?
    I love its accurate playback

    MTR is not designed to be a clip launcher but I'm willing to explore how to make it usable as one. I'll try to think about how to get there in the coming days. Thanks for the feedback!

  • edited January 2022

    I apologize for any confusion; I might not be expressing my idea clearly since English is not my primary language.

    So here’s what i know about this feature. I used to own Roland Fantom X6 Keyboard that has this feature. I forgot what they call it But I think it was called Skip Back Sampling.

    From the Roland Manual:

    “As on the Roland Fantom, there's also Skip Back Sampling, in which the sampler constantly records in chunks of up to 40 seconds. So if you play something of interest, hit the glowing blue button. You can then assign the resulting sample to a pad, to the keyboard, or just save it for later.”

    In my idea, you can do this with Midi instead of audio since midi is lighter on disk space.

    So a user predetermined time would work. It’s perfect for those times when you played something and really wished you had recorded it. Well, if this system was recording in the background, it would have caught it. Of course, it will overwrite itself at the predetermined time boundary. And continue recording as long as the app is open.

    Hope this explains it better.

    @GeertBevin said:

    @GeertBevin What do you think?

    Thanks for the kind words and the feedback. How long would you want this to record for? I might add an auto max duration type of thing, but I don't think it makes sense to not have to enable record enable to be able to record. You will have to instantiate the plugin anyway, route the midi anyway, and might have other things already recorded that you don't want to erase. So the only real thing it seems you're asking for is a maximum length that it keeps while continuing to record new things.

  • @Tones4Christ said:
    I apologize for any confusion; I might not be expressing my idea clearly since English is not my primary language.

    So here’s what i know about this feature. I used to own Roland Fantom X6 Keyboard that has this feature. I forgot what they call it But I think it was called Skip Back Sampling.

    From the Roland Manual:

    “As on the Roland Fantom, there's also Skip Back Sampling, in which the sampler constantly records in chunks of up to 40 seconds. So if you play something of interest, hit the glowing blue button. You can then assign the resulting sample to a pad, to the keyboard, or just save it for later.”

    In my idea, you can do this with Midi instead of audio since midi is lighter on disk space.

    So a user predetermined time would work. It’s perfect for those times when you played something and really wished you had recorded it. Well, if this system was recorded in the background, it would have caught it. Of course, it will overwrite itself at the predetermined time boundary.

    Hope this explains it better.

    @GeertBevin said:

    @GeertBevin What do you think?

    Thanks for the kind words and the feedback. How long would you want this to record for? I might add an auto max duration type of thing, but I don't think it makes sense to not have to enable record enable to be able to record. You will have to instantiate the plugin anyway, route the midi anyway, and might have other things already recorded that you don't want to erase. So the only real thing it seems you're asking for is a maximum length that it keeps while continuing to record new things.

    I think what you are describing is like Ableton's capture midi, or Loopy's audio retrospective looping where there is a circular buffer capturing what you play and it only gets saved/rendered/printed (whatever you want to call it) when you tell it to after the fact.

  • @Tones4Christ I understood your intent, my point is that when you have it built into your keyboard all the connections are already made and it knows what it has to record. MIDI Tape Recorder needs to be setup to receive all your MIDI and you need to consciously connect it to a synth, so it's not like it disappears into the background. It seems to be if you would still have the current recording features but only preserve the last x minutes of the recording as it continues recording, like the circular buffer @espiegel123 describes, you would get a similar enough feature. Is that correct?

  • @GeertBevin Yeah you’re right. That makes sense. I wonder if there was way to add logic in the app where once a connection is made midi wise, it would trigger that background midi recording. And make it available if one needed it. If not it would just continue listening in that midi connection recording and overwriting. Honestly, I have no clue how to even begin to understand how difficult it is to program such a thing.

  • @Tones4Christ said:
    @GeertBevin Yeah you’re right. That makes sense. I wonder if there was way to add logic in the app where once a connection is made midi wise, it would trigger that background midi recording. And make it available if one needed it. If not it would just continue listening in that midi connection recording and overwriting. Honestly, I have no clue how to even begin to understand how difficult it is to program such a thing.

    Here's what I think could work, currently the record arming state is not saved in the AUv3 state but that would be easy to do. If I do that, you can set MTR with the record enabled tracks you're interested in, arm the recording and save that as your session. Any time you load that session, MTR will start auto recording at the first message it receives (it already does that). If I add a maximum buffer duration to that, I think we'd have the flow you're looking for while still staying true to what's already there. Thoughts?

  • Oh wow! That would be so awesome! I just wanna make sure it is something that can be user defined perhaps an option? I don’t want something imposed on everyone without having the option to enable or disable. Hope it makes sense. But from what I gather, it will be dependent on whether the user saves it in such a way right?

  • @Tones4Christ said:
    Oh wow! That would be so awesome! I just wanna make sure it is something that can be user defined perhaps an option? I don’t want something imposed on everyone without having the option to enable or disable. Hope it makes sense. But from what I gather, it will be dependent on whether the user saves it in such a way right?

    Yes it would totally be dependent on how you set it up and save the session.

  • One of the (v.minor) issues I have at the moment is that the playhead is reset once you stop a recording. What I would like to do is record for a bit then stop recording for a while, then hit record to arm and carry on playing. At the moment when the second recording session starts then it overwrites the start of the buffer but I would like it if there was an option to carry on recording from where the playhead was when it was last “stopped”, something like “Reset playhead between recordings” which defaults to ON as it is now.

    I can manually tap the end of the buffer to force the playhead to start recording from there (which is why this is a small gripe!) but having an option to make this the default would help. Even a button to skip to the end of the recording would be better than nothing so that when the project is reloaded I can quickly manually update the playhead without needing to scroll. Cheers Geert!

  • edited January 2022

    @MisplacedDevelopment said:
    One of the (v.minor) issues I have at the moment is that the playhead is reset once you stop a recording. What I would like to do is record for a bit then stop recording for a while, then hit record to arm and carry on playing. At the moment when the second recording session starts then it overwrites the start of the buffer but I would like it if there was an option to carry on recording from where the playhead was when it was last “stopped”, something like “Reset playhead between recordings” which defaults to ON as it is now.

    I can manually tap the end of the buffer to force the playhead to start recording from there (which is why this is a small gripe!) but having an option to make this the default would help. Even a button to skip to the end of the recording would be better than nothing so that when the project is reloaded I can quickly manually update the playhead without needing to scroll. Cheers Geert!

    Thanks for telling me about this use case, yes I can add such a setting in the next version. I put it on the list!

  • edited January 2022

    I just released a TestFlight beta of v1.0.4 with the following changes:

    • Added setting to allow disabling auto rewind after record.
    • Added setting to only start playing at the next host beat, even when not following the host transport. This is useful when using MTR as a clip launcher.
    • Record arm is now preserved in the AUv3 saved state.
    • Added Music Effect AUv3 alongside the MIDI Processor AUv3, note that the majority of hosts don't support MIDI output from Music Effect AUv3s but recording is possible.
    • Workaround for Logic Pro X issue that prevented MIDI Tape Recording from working. MTR now fully works on macOS Intel and Apple Silicon in Logic Pro X.
    • MIDI passthrough LED indicator in now disabled when the host doesn't support AUv3 MIDI output.
    • Shortened MIDI port output names.
    • Reworked settings UI dialog.
    • Fixed auto-trim recording when overdub duration is longer than original recording.
    • Fixed UI max duration calculation when auto-trim changes length.
    • Fixes to recording with host transport from a blank session.
    • Fix that properly clears recording state when invalidating or clearing a recording.

    I appreciate any testing that can be done as additional validation before a public release.

  • Wow! This is awesome! Can’t wait. Thanks for all your great work!

  • edited January 2022

    Based on feedback, I pushed out another beta 1.0.4 build 19:

    • Added Instrument AUv3 alongside the MIDI Processor AUv3, note that while this will allow recording any MIDI in a host's track, it usually prevents having another instrument on the same track so it might be impossible to hear sound.
    • Restored MIDI output names to previous version in order to not break existing projects.
  • so good, thank you

  • edited January 2022

    Beta testing revealing some more things I could improve for this release. Pushed out beta version 1.4.0 build 20:

    • Fix for MIDI file export sometimes containing an invalid end of track marker.
    • Workaround for Logic Pro X sending an out of range beat position at the start of transport, resulting into the MTR recording duration being too long until the recording catches up.
  • Oh well, and another quick fix with version 1.4.0 build 21. I think I'm getting close to another App Store release. Please let me know what you find during testing!

    Changes in 1.0.4 build 21:

    • Fix for auto recording at first message sometimes missing some of the messages that are immediately following.
  • Looking forward to the update, this is a great tool for capturing performances and has definitely filled a much needed gap in recording MPE properly :)
    Just a couple of thoughts: It would be great to be able to name the tracks so you can more easily see what you've recorded later. Also being able to more easily assign the crop brackets without having to scroll all the way to the ends of the track would be useful.

  • @Carnbot said:
    Looking forward to the update, this is a great tool for capturing performances and has definitely filled a much needed gap in recording MPE properly :)
    Just a couple of thoughts: It would be great to be able to name the tracks so you can more easily see what you've recorded later. Also being able to more easily assign the crop brackets without having to scroll all the way to the ends of the track would be useful.

    How would you imagine the crop brackets to work that is easier?

  • @GeertBevin said:

    @Carnbot said:
    Looking forward to the update, this is a great tool for capturing performances and has definitely filled a much needed gap in recording MPE properly :)
    Just a couple of thoughts: It would be great to be able to name the tracks so you can more easily see what you've recorded later. Also being able to more easily assign the crop brackets without having to scroll all the way to the ends of the track would be useful.

    How would you imagine the crop brackets to work that is easier?

    Just making sure that you know about double tapping the crop locators, that make them snap to the beginning or end of the session.

  • Also looking forward to this next release, particularly the ability to carry on recording after stopping.

    Some spitballing follows:

    There are those “that was cool” moments while using MTR as a black box recorder when it would be useful to be able to set markers but not interrupt the flow. Kind of like where you would write down the little number you would have on an old tape multitrack recorder in order to be able to navigate back through a recording after the fact.

    One way I would envisage it working would be that you would assign (MIDI learn?) a marker to a MIDI message. When you send that message during recording, for example by hitting a foot pedal or a drum pad on your controller, then a marker is recorded at that data point. At the moment I am doing a basic version of this by playing the top or bottom note on the keyboard as a way of visually picking out a section later on when reviewing a longer recording.

    After recording you could then access a simple list of these markers and navigate directly to points of interest.

    Over time this could be developed to support multiple marker types, e.g. marker type x for verse idea, y for idea for chorus. You could also use the markers to crop data in different ways, e.g. copy/export MIDI between marker 2 and 4, or copy/export n whole bars of MIDI before/after marker to implement a basic retrospective recording type of functionality.

  • edited January 2022

    @GeertBevin said:

    @GeertBevin said:

    @Carnbot said:
    Looking forward to the update, this is a great tool for capturing performances and has definitely filled a much needed gap in recording MPE properly :)
    Just a couple of thoughts: It would be great to be able to name the tracks so you can more easily see what you've recorded later. Also being able to more easily assign the crop brackets without having to scroll all the way to the ends of the track would be useful.

    How would you imagine the crop brackets to work that is easier?

    Just making sure that you know about double tapping the crop locators, that make them snap to the beginning or end of the session.

    I thought something like double tapping in the time zone could bring the left crop locator in from the beginning to that point, then another double tap could bring in the right one or something similar to that... :)
    Or another way is to have an in/out icon control in the menu bar.

  • @Carnbot @MisplacedDevelopment both great ideas, put them on the list to think about for future improvements. Thanks a lot!

Sign In or Register to comment.