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.

Streaming audio over Wifi/Bluetooth.

2»

Comments

  • @CracklePot

    Just tried it out. Can’t play complex chords in realtime as it’s too confined a space. But AUM's keyboard has a lock function ;) Even managed to get it zoomed so on-screen controls are visible. Also easy to scroll keyboard out of view if I want to'type' in my chords without looking at the reference.
    So, an altogether workable solution, with some bonuses :)

    Thanks 🙏

  • @wim said:

    @CracklePot said:
    I have an old iPad2 that I try to utilize occasionally. It’s so old that none of the wireless methods of connecting audio to my main iPad worked for me.
    It is really simple to run a cable from the HP jack into a budget USB audio device like the Behringer UCA 222. It’s how I have been connecting the 2 devices.

    That's a use for my UCA202 that I hadn't thought of. I couldn't resist it at $9.99 during a sale. It's still sitting unopened in the box.

    I was surprised this device is bus powered even over lightning. I bought a new mixer and picked one up at a stupid price (like15$ new) for the lulz. Now it sits on the master send/return of said mixer running turnado on a ancient ipad mini.
    I dunno why I didnt think of doing this before instead of putting actual hardware on those send.... :/

  • @AlmostAnonymous said:

    @wim said:

    @CracklePot said:
    I have an old iPad2 that I try to utilize occasionally. It’s so old that none of the wireless methods of connecting audio to my main iPad worked for me.
    It is really simple to run a cable from the HP jack into a budget USB audio device like the Behringer UCA 222. It’s how I have been connecting the 2 devices.

    That's a use for my UCA202 that I hadn't thought of. I couldn't resist it at $9.99 during a sale. It's still sitting unopened in the box.

    I was surprised this device is bus powered even over lightning. I bought a new mixer and picked one up at a stupid price (like15$ new) for the lulz. Now it sits on the master send/return of said mixer running turnado on a ancient ipad mini.
    I dunno why I didnt think of doing this before instead of putting actual hardware on those send.... :/

    Can I ask what the latency is like, when using it as a standard interface (for over-dubbing), or in your case, external live effects?

    Cheers :smile:

  • @el_bo said:

    @AlmostAnonymous said:

    @wim said:

    @CracklePot said:
    I have an old iPad2 that I try to utilize occasionally. It’s so old that none of the wireless methods of connecting audio to my main iPad worked for me.
    It is really simple to run a cable from the HP jack into a budget USB audio device like the Behringer UCA 222. It’s how I have been connecting the 2 devices.

    That's a use for my UCA202 that I hadn't thought of. I couldn't resist it at $9.99 during a sale. It's still sitting unopened in the box.

    I was surprised this device is bus powered even over lightning. I bought a new mixer and picked one up at a stupid price (like15$ new) for the lulz. Now it sits on the master send/return of said mixer running turnado on a ancient ipad mini.
    I dunno why I didnt think of doing this before instead of putting actual hardware on those send.... :/

    Can I ask what the latency is like, when using it as a standard interface (for over-dubbing), or in your case, external live effects?

    Cheers :smile:

    i havent done any measurements. I'll try and do a round trip for you tonight.

  • @AlmostAnonymous said:

    @el_bo said:

    @AlmostAnonymous said:

    @wim said:

    @CracklePot said:
    I have an old iPad2 that I try to utilize occasionally. It’s so old that none of the wireless methods of connecting audio to my main iPad worked for me.
    It is really simple to run a cable from the HP jack into a budget USB audio device like the Behringer UCA 222. It’s how I have been connecting the 2 devices.

    That's a use for my UCA202 that I hadn't thought of. I couldn't resist it at $9.99 during a sale. It's still sitting unopened in the box.

    I was surprised this device is bus powered even over lightning. I bought a new mixer and picked one up at a stupid price (like15$ new) for the lulz. Now it sits on the master send/return of said mixer running turnado on a ancient ipad mini.
    I dunno why I didnt think of doing this before instead of putting actual hardware on those send.... :/

    Can I ask what the latency is like, when using it as a standard interface (for over-dubbing), or in your case, external live effects?

    Cheers :smile:

    i havent done any measurements. I'll try and do a round trip for you tonight.

    Many thanks 🙏

  • @Paulo164 said:
    I think you could try « Wireless Audio AUv3 » app.

    I bought this app and it mentions I will need to open ports on my WiFi router and points to their website for details.
    I went to their website and they have disowned this app in their catalog.

    What port needs to be opened for this app to work?

  • wimwim
    edited March 2023

    @McD said:

    @Paulo164 said:
    I think you could try « Wireless Audio AUv3 » app.

    I bought this app and it mentions I will need to open ports on my WiFi router and points to their website for details.
    I went to their website and they have disowned this app in their catalog.

    What port needs to be opened for this app to work?

    None, unless you're trying to make it work over the internet.

    If you were trying to do that, you'd also need a fixed IP address for your device and need to forward that port in the router. Advanced stuff, that.

  • wimwim
    edited March 2023
  • McDMcD
    edited March 2023

    @McD said:

    @Paulo164 said:
    I think you could try « Wireless Audio AUv3 » app.

    I bought this app and it mentions I will need to open ports on my WiFi router and points to their website for details.
    I went to their website and they have disowned this app in their catalog.

    What port needs to be opened for this app to work?

    Secret Base Design left instrumentions here on another thread. I need to open this port on my WiFi Gateway:

    The protocol and mechanism is brain-dead simple. It's just a regular TCP/IP port, 8675. The transmitter opens the port, and listens for connections (it's a minimal web server, in some respects). The receiver connects to that port, and sends "GET /.stream\r\n", and then the transmitter recognizes the connection, and starts pouring the audio data out.

    Packets are sent using a 4-byte integer for the packet length, with a length under 2048 being interpreted as audio data. If it's an audio packet, the rest of the bytes are 16-bit signed integers, generated by scaling the audio data by 8000. It's a little bit of compression, letting me pack a stereo 256 sample chunk of audio into a packet that is under most router fragmentation limits, while making good use of the network bandwidth (each packet still has the headers, checksum, and all that jazz).

    A packet that has a length over 2048 is a data packet where I can send additional info. I'm using 4096 as the "fake length" to mark data, and then the next 4 bytes are the real length of the remaining packet. Currently, I'm sending the transmitter sample rate at the start of the connection, but I may add other things in later.

    The receiver actively manages the amount of audio buffered; TCP will get all of the packets there sooner or later (and in order), and the WiFi traffic will cause pauses and bursts. I've got a minimum buffer size before audio gets delivered for receiver playback, and a maximum buffer size to keep latency from getting too high. This is what the 1/2/3/4/5 buffering control is up to; if the network is clear, you can keep the buffer small and get low latency. If there's a lot of noise, a bigger buffer will help avoid drop-outs (but at the expense of more latency).

    The network code and protocol is really pretty simple. If you're into it, go for it -- open up a TCP/IP connection, make the request, and you'll get a firehose of packets. Let me know if you have more questions!

    I opened port 8675 on my router:

    The Transmitt/receive devices still won’t connect. Anyone have any ideas?

  • wimwim
    edited March 2023

    @McD said:

    @McD said:

    @Paulo164 said:
    I think you could try « Wireless Audio AUv3 » app.

    I bought this app and it mentions I will need to open ports on my WiFi router and points to their website for details.
    I went to their website and they have disowned this app in their catalog.

    What port needs to be opened for this app to work?

    Secret Base Design left instrumentions here on another thread. I need to open this port on my WiFi Gateway:

    The protocol and mechanism is brain-dead simple. It's just a regular TCP/IP port, 8675. The transmitter opens the port, and listens for connections (it's a minimal web server, in some respects). The receiver connects to that port, and sends "GET /.stream\r\n", and then the transmitter recognizes the connection, and starts pouring the audio data out.

    Packets are sent using a 4-byte integer for the packet length, with a length under 2048 being interpreted as audio data. If it's an audio packet, the rest of the bytes are 16-bit signed integers, generated by scaling the audio data by 8000. It's a little bit of compression, letting me pack a stereo 256 sample chunk of audio into a packet that is under most router fragmentation limits, while making good use of the network bandwidth (each packet still has the headers, checksum, and all that jazz).

    A packet that has a length over 2048 is a data packet where I can send additional info. I'm using 4096 as the "fake length" to mark data, and then the next 4 bytes are the real length of the remaining packet. Currently, I'm sending the transmitter sample rate at the start of the connection, but I may add other things in later.

    The receiver actively manages the amount of audio buffered; TCP will get all of the packets there sooner or later (and in order), and the WiFi traffic will cause pauses and bursts. I've got a minimum buffer size before audio gets delivered for receiver playback, and a maximum buffer size to keep latency from getting too high. This is what the 1/2/3/4/5 buffering control is up to; if the network is clear, you can keep the buffer small and get low latency. If there's a lot of noise, a bigger buffer will help avoid drop-outs (but at the expense of more latency).

    The network code and protocol is really pretty simple. If you're into it, go for it -- open up a TCP/IP connection, make the request, and you'll get a firehose of packets. Let me know if you have more questions!

    Again, you do not need to do that unless you're trying to work across the internet. Trust me.

    BTW, there's nothing in the instructions above that says you need to do that. You're misreading it if that's where you drew that conclusion from.

  • wimwim
    edited March 2023

    Be sure to open the standalone app once first, especially if you didn't see it ask for network permissions the first time you ran it. The app has to have Local Network permissions in iOS. You can check if it does in iOS Settings > Wireless Audio AUv3.

    Some very restrictive networks might conceivably block that port internally, but that would be extremely rare.

  • @McD said:

    @Paulo164 said:
    I think you could try « Wireless Audio AUv3 » app.

    I bought this app and it mentions I will need to open ports on my WiFi router and points to their website for details.
    I went to their website and they have disowned this app in their catalog.

    What port needs to be opened for this app to work?

    No idea. The video demo just shows him hit a connect button and he was good to go. Maybe you need to put in the IP address of the other iPad manually if it doesn’t automatically see it on the same Wi-Fi network?

    Anyway, if you do Twitter or Facebook you may be able to reach the dev there.

  • @wim said:
    Be sure to open the standalone app once first, especially if you didn't see it ask for network permissions the first time you ran it. The app has to have Local Network permissions in iOS. You can check if it does in iOS Settings > Wireless Audio AUv3.

    Some very restrictive networks might conceivably block that port internally, but that would be extremely rare.

    I checked and iPads show Local Network toggle so I just tried 2 iPad and it’s not connecting. The iPhone doesn’t show this Local Network toggle. Is there an IOS Portmapper app?

    It may be that the app needs an update… I’m on 16.4.

  • wimwim
    edited March 2023

    Describe your setup. Screenshots if possible. I can't test on iOS 16, but it's probably something else.

    You can also try on a local setup between two hosts rather than between devices first.

  • wimwim
    edited March 2023

    I'm not getting it to work anymore either.
    @SecretBaseDesign ?
    (Also, trying to change the buffer crashes the AUv3 in AUM).

    I can only make it connect locally on the same device. I know it's not my router because that hasn't changed since I had it working before.

  • Are you using the AUv3?
    A new required permission to access the network has been introduced by Apple not too long ago, so if the AUv3 hasn't been updated that would block its network access in recent iOS versions.

  • wimwim
    edited March 2023

    @rs2000 said:
    Are you using the AUv3?
    A new required permission to access the network has been introduced by Apple not too long ago, so if the AUv3 hasn't been updated that would block its network access in recent iOS versions.

    We already went through that before the official release. it's been updated for those permissions. I'm going to try uninstall and reinstall though just in case.

    [edit] Nope. Reinstalled on both devices. Doesn't work.

  • Thanks for the support guys. Now can someone do the hard part and see if it can be updated?

  • Hi -- jumping in -- I'll take a look and see if I can figure out what's up. I'm on the road over the next few days, but will do my best to track it down.

  • @SecretBaseDesign said:
    Hi -- jumping in -- I'll take a look and see if I can figure out what's up. I'm on the road over the next few days, but will do my best to track it down.

    Thanks for checking in. Looking forward to finding uses for streaming between devices.

  • @wim said:

    @McD said:

    @Paulo164 said:
    I think you could try « Wireless Audio AUv3 » app.

    I bought this app and it mentions I will need to open ports on my WiFi router and points to their website for details.
    I went to their website and they have disowned this app in their catalog.

    What port needs to be opened for this app to work?

    None, unless you're trying to make it work over the internet.

    If you were trying to do that, you'd also need a fixed IP address for your device and need to forward that port in the router. Advanced stuff, that.

    Not disowned in any sense -- just have not had a chance to plug all the info into the web site (I'm a one-man operation, and the app stuff is just me tinkering in my spare time).

    What versions of iOS on the devices, btw? There are various port blocking things that have happened with iOS versions, and my guess is some sort of permissions on the devices or the router is causing trouble. The data transfer should happen on port 8675, which is usually allowed through (and not blocked by other services).

  • McDMcD
    edited March 2023

    Are any of the typical network tests useful? Like:

    Telnet 192.168.1.120:8675

    Would that create a connection and maybe some protocol text string? I can run this from laptops and IOS using the A-Shell app.

    The IOS versions I have used for TX/RX are:

    16.4 iPad Pro
    16.2 iPad Pro
    15.5 2018 iPad 9.7”

    I should think of a good way to connect to a Mac or Linux instance that can wire shark incoming and see if the connection request on port 8675 is getting through the WiFi or even out of the Receiver device. That should keep me busy remembering things I have almost replaced with MIDI trivia.

    This display of the IP address in IOS 16.4 “beta” is annoying. The app displays the whole IP address on 16.2 and 15.5. The work around is to open Settings -> Wi-Fi -> circled I information widget on the selected Wi-Fi network… 214 in this case.

  • Hiya @SecretBaseDesign - it's great to hear from you again.

    I'm on iOS 15.7.3 on iPad Air 2 and iPhone 7s. So that means iOS 16 isn't the culprit. Sorry, I can't remember the version I was on when it last worked.

    I can tell you though that nothing has changed at all on my home WiFi. If it will help, I can try ethernet connect with no router.

    This is nothing urgent for me, but I'm available for testing or troubleshooting if it'll help.

  • @Wim is right that the WiFi gateway does not seem to be involved in blocking.

    Wireshark on a Mac shows the receivers incoming connection packet with these stats:

    Transmission Control Protocol, Src Port: 51120, Dst Port: 8675, Seq: 0, Len: 0

    I know the Mac doesn't run the Transmitter but I wanted to see the details of a connection
    request.

    It looks like patience for @SecretBaseDesign to look into the side is needed. No real urgency for me by the way. Just another capability worth having for future needs.

  • Hmm. Just tested out with various devices, all seems ok with things up to my newest iPad, with 16.3.1. I should build in some better troubleshooting code, to help folks sort out what's going on when things don't work.

    The app has a built in web server (that's enabled when you turn on transmit). A thing to try would be starting the transmit, and then trying to access it from the other device using Safari.
    http://x.x.x.x:8675/wa.html

    The x.x.x.x is whatever IP address the app shows you. I have Bonjour built in as well, but it seems like iOS is blocking Bonjour on AUv3s (and they've really tightened it up in newer versions of iOS).

    The app should respond (with slightly different HTML data, depending on if it's the main stand-alone app, or the AUv3 transmit plug-in).

  • Nice troubleshooting feature with the web server on port 8675.

Sign In or Register to comment.