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.

Show 'n Tell: Raspberry Pi BLE Midi Bridge Thingy

135678

Comments

  • @rs2000 said:
    @hes: That looks very good!

    @wim: ANSI UI over SSH? 😅

    Yep!

  • I knew this would happen! Let me guess: You already got past sequencing software.
    Why not edit the raw MIDI file directly and inject it into the playback buffer of the midi player process 😂

  • wimwim
    edited November 2020

    Well, tbh, aside from the novelty factor, running Orca in a terminal emulator isn't any more useful than just running it on the Mac desktop. (I did manage to run it in a terminal emulator in slide over mode in AUM, but that wasn't much fun.)

    What is needed is an AUv3 terminal emulator, or better an AUv3 port of Orca. That is above my pay-grade, unfortunately. :D

  • @wim Let me think ... I believe to remember that one of the more fun and exotic features of Streambyter is to be able to define macros and subroutines (and value aliases), e.g. to simplify SysEx message handling.

    While this is certainly not the original idea, I don't see why that couldn't be used to degine your own language to some extent, including note and CC generators.

  • I’m back from vacation and digging through adapters trying to find the ones I need to get this thing up and running. At least I found the Pi already in a case.

    I’m hoping I can get this to broadcast my non class complaint Roland PC-300 as bluetooth MIDI. ALSA has the drivers for it. The keyboard has enough room inside I could potentially build the Pi inside of it permanently, though I’m not a very confident DIY modder. Strapping it to the outside could always work if I’m lazy, potentially even with a battery pack to power both the keyboard and Pi. I’m sure I can find other uses for it as well or just keep it handy. I’ll post if it worked out or not.

  • @DMan said:
    I’m back from vacation and digging through adapters trying to find the ones I need to get this thing up and running. At least I found the Pi already in a case.

    I’m hoping I can get this to broadcast my non class complaint Roland PC-300 as bluetooth MIDI. ALSA has the drivers for it. The keyboard has enough room inside I could potentially build the Pi inside of it permanently, though I’m not a very confident DIY modder. Strapping it to the outside could always work if I’m lazy, potentially even with a battery pack to power both the keyboard and Pi. I’m sure I can find other uses for it as well or just keep it handy. I’ll post if it worked out or not.

    I'll be interested to hear!

  • @rs2000 said:
    @wim Let me think ... I believe to remember that one of the more fun and exotic features of Streambyter is to be able to define macros and subroutines (and value aliases), e.g. to simplify SysEx message handling.

    While this is certainly not the original idea, I don't see why that couldn't be used to degine your own language to some extent, including note and CC generators.

    Funny you should mention that. I woke up early this morning with the idea in my head of using Sysex to pass along commands to python scripts running on the Pi. This would make it easy to create Mozaic or Streambyter scripts to do things in Python on the Pi. The only killer limitation is not having string handling in Mozaic and Streambyter.

    Still, I successfully learned today how to record AUM output to midi file on the Pi and how to play it back. This is a pretty good first step toward making a midi recorder/looper using the pi.

  • @wim said:

    @rs2000 said:
    @wim Let me think ... I believe to remember that one of the more fun and exotic features of Streambyter is to be able to define macros and subroutines (and value aliases), e.g. to simplify SysEx message handling.

    While this is certainly not the original idea, I don't see why that couldn't be used to degine your own language to some extent, including note and CC generators.

    Funny you should mention that. I woke up early this morning with the idea in my head of using Sysex to pass along commands to python scripts running on the Pi. This would make it easy to create Mozaic or Streambyter scripts to do things in Python on the Pi. The only killer limitation is not having string handling in Mozaic and Streambyter.

    Still, I successfully learned today how to record AUM output to midi file on the Pi and how to play it back. This is a pretty good first step toward making a midi recorder/looper using the pi.

    Sounds like a really useful project!
    The MIDI loopers from Bastl Instruments and Future Artist look great though they're all but cheap and not customizable.

    If you need tighter loop/sleep timing in Python then here's a little trick to improve its timing and fix its potential drift over time:
    https://stackoverflow.com/questions/42565297/precise-loop-timing-in-python

    (Although it may be a better idea to use time.time() in general).

  • Actually, I’ve just thought. It’d be interesting to do the opposite of what some have described here. Take Bluetooth from a keyboard that is only Bluetooth and emit 5-pin DIN midi. Then I could use the Korg Microkey Air on one of my Matrix 1000 units. (Or my NTS-1, through the midi jack).

  • @u0421793 said:
    Actually, I’ve just thought. It’d be interesting to do the opposite of what some have described here. Take Bluetooth from a keyboard that is only Bluetooth and emit 5-pin DIN midi. Then I could use the Korg Microkey Air on one of my Matrix 1000 units. (Or my NTS-1, through the midi jack).

    I think that might be possible. I’ll try later today.

  • @wim said:

    @u0421793 said:
    Actually, I’ve just thought. It’d be interesting to do the opposite of what some have described here. Take Bluetooth from a keyboard that is only Bluetooth and emit 5-pin DIN midi. Then I could use the Korg Microkey Air on one of my Matrix 1000 units. (Or my NTS-1, through the midi jack).

    I think that might be possible. I’ll try later today.

    I am pretty sure that would work. The thing from Neuma will automatically route any connected MIDI devices to each other. With a little scripting, you can configure it to do custom routing.

  • @espiegel123 said:

    @wim said:

    @u0421793 said:
    Actually, I’ve just thought. It’d be interesting to do the opposite of what some have described here. Take Bluetooth from a keyboard that is only Bluetooth and emit 5-pin DIN midi. Then I could use the Korg Microkey Air on one of my Matrix 1000 units. (Or my NTS-1, through the midi jack).

    I think that might be possible. I’ll try later today.

    I am pretty sure that would work. The thing from Neuma will automatically route any connected MIDI devices to each other. With a little scripting, you can configure it to do custom routing.

    I've tested with a NanoKEY Studio connected via Bluetooth to AUM on the iPad, then out to the MIDI bridge. Midi from the NKS is received on devices connected to the Bridge through USB.

    Routing through an iOS device is needed because the MIDI bridge can only connect to a "Central" device. There's no mechanism for connecting to a "Peripheral" device. In other words, I don't see a way to connect the NKS (or MicroKey in @u0421793 's case) directly to the bridge via Bluetooth.

  • Hi Wim, thank you very much! Got a pi0w waiting for something like this. I tried, but was not tenacious enough. To many other fun toys...
    I also thought the first project was kind of moot since I want my iPad as the midi host.
    But option 2 is exactly what I wanted to do with my pi0, to get a bluetooth connection for my windows machine.

    One question can you use the sd from project one also for project two, or does that make conflicts? So maybe better just recompile the bluetooth stack on a fresh image of buster light?

    A nice feature in ,I think, the blokas distro is that the wifi, if it does not find the home router automaticly switches to wifi host mode. This would be great for on the go ableton link use.

    On the pi4 you can use the usb-c port for gadget mode. I guess you would need a powered usb-c hub inbetween to give it enough amps though.

    Cheers

  • heshes
    edited November 2020

    @wim said:

    I've tested with a NanoKEY Studio connected via Bluetooth to AUM on the iPad, then out to the MIDI bridge. Midi from the NKS is received on devices connected to the Bridge through USB.

    Routing through an iOS device is needed because the MIDI bridge can only connect to a "Central" device. There's no mechanism for connecting to a "Peripheral" device. In other words, I don't see a way to connect the NKS (or MicroKey in @u0421793 's case) directly to the bridge via Bluetooth.

    I assume when you say "can only connect to a 'central' device" you're talking about bluetooth only. E.g., you can plug keyboards directly in via usb and have the work, right?

    I think the problem may just be in getting the bluetooth connection between the Pi and the bluetooth peripheral created. I'm pretty sure I've done this before using the bluez utility 'bluetoothctl', which gives a command line interface for managing bluetooth connections from the Pi. You can probe for available bluetooth peripherals, pair them, and initiate the connection from there. If I'm remembering correctly.

  • @wim said:

    @espiegel123 said:

    @wim said:

    @u0421793 said:
    Actually, I’ve just thought. It’d be interesting to do the opposite of what some have described here. Take Bluetooth from a keyboard that is only Bluetooth and emit 5-pin DIN midi. Then I could use the Korg Microkey Air on one of my Matrix 1000 units. (Or my NTS-1, through the midi jack).

    I think that might be possible. I’ll try later today.

    I am pretty sure that would work. The thing from Neuma will automatically route any connected MIDI devices to each other. With a little scripting, you can configure it to do custom routing.

    I've tested with a NanoKEY Studio connected via Bluetooth to AUM on the iPad, then out to the MIDI bridge. Midi from the NKS is received on devices connected to the Bridge through USB.

    Routing through an iOS device is needed because the MIDI bridge can only connect to a "Central" device. There's no mechanism for connecting to a "Peripheral" device. In other words, I don't see a way to connect the NKS (or MicroKey in @u0421793 's case) directly to the bridge via Bluetooth.

    Right. I forgot one needs to pair the Bluetooth device with the Pi. When I was getting my current setup debugged, I recall reading something about how to do that but since it didn’t apply to my use case, I didn’t retain any details.

  • wimwim
    edited November 2020

    @hes said:

    @wim said:

    I've tested with a NanoKEY Studio connected via Bluetooth to AUM on the iPad, then out to the MIDI bridge. Midi from the NKS is received on devices connected to the Bridge through USB.

    Routing through an iOS device is needed because the MIDI bridge can only connect to a "Central" device. There's no mechanism for connecting to a "Peripheral" device. In other words, I don't see a way to connect the NKS (or MicroKey in @u0421793 's case) directly to the bridge via Bluetooth.

    I assume when you say "can only connect to a 'central' device" you're talking about bluetooth only. E.g., you can plug keyboards directly in via usb and have the work, right?

    Correct. To be specific, I was referring only to BLE Midi connections.

    I think the problem may just be in getting the bluetooth connection between the Pi and the bluetooth peripheral created. I'm pretty sure I've done this before using the bluez utility 'bluetoothctl', which gives a command line interface for managing bluetooth connections from the Pi. You can probe for available bluetooth peripherals, pair them, and initiate the connection from there. If I'm remembering correctly.

    I was able to pair devices using bluetoothctl, but BLE Midi is a different story. You don't actually "pair" the device at all for BLE Midi. I gave up trying to figure out how to make that work.

  • @espiegel123 said:

    @wim said:

    @espiegel123 said:

    @wim said:

    @u0421793 said:
    Actually, I’ve just thought. It’d be interesting to do the opposite of what some have described here. Take Bluetooth from a keyboard that is only Bluetooth and emit 5-pin DIN midi. Then I could use the Korg Microkey Air on one of my Matrix 1000 units. (Or my NTS-1, through the midi jack).

    I think that might be possible. I’ll try later today.

    I am pretty sure that would work. The thing from Neuma will automatically route any connected MIDI devices to each other. With a little scripting, you can configure it to do custom routing.

    I've tested with a NanoKEY Studio connected via Bluetooth to AUM on the iPad, then out to the MIDI bridge. Midi from the NKS is received on devices connected to the Bridge through USB.

    Routing through an iOS device is needed because the MIDI bridge can only connect to a "Central" device. There's no mechanism for connecting to a "Peripheral" device. In other words, I don't see a way to connect the NKS (or MicroKey in @u0421793 's case) directly to the bridge via Bluetooth.

    Right. I forgot one needs to pair the Bluetooth device with the Pi. When I was getting my current setup debugged, I recall reading something about how to do that but since it didn’t apply to my use case, I didn’t retain any details.

    Not exactly "pair" in a bluetooth sense. But yes.

  • @wim said:
    I was able to pair devices using bluetoothctl, but BLE Midi is a different story. You don't actually "pair" the device at all for BLE Midi. I gave up trying to figure out how to make that work.

    Doesn't this discussion seem to indicate it's possible? https://github.com/ftonello/bluez/issues/1

  • @Alfred said:
    Hi Wim, thank you very much! Got a pi0w waiting for something like this. I tried, but was not tenacious enough. To many other fun toys...
    I also thought the first project was kind of moot since I want my iPad as the midi host.
    But option 2 is exactly what I wanted to do with my pi0, to get a bluetooth connection for my windows machine.

    Interesting idea. I think I'll give it a try.

    One question can you use the sd from project one also for project two, or does that make conflicts? So maybe better just recompile the bluetooth stack on a fresh image of buster light?

    I'll find out. Fortunately the changes are very easy to undo. Just remove the edits from the two files in the boot partition.

  • @hes said:

    @wim said:
    I was able to pair devices using bluetoothctl, but BLE Midi is a different story. You don't actually "pair" the device at all for BLE Midi. I gave up trying to figure out how to make that work.

    Doesn't this discussion seem to indicate it's possible? https://github.com/ftonello/bluez/issues/1

    Maybe, I'm not sure. I think I ran across that one but didn't get it working at the time. I'm sure it's possible some way, but beyond me at this point.

  • heshes
    edited November 2020

    @wim said:

    Maybe, I'm not sure. I think I ran across that one but didn't get it working at the time. I'm sure it's possible some way, but beyond me at this point.

    Poking around on the interwebs a bit, I think I remember getting BLE Midi going on my Pi using this info, which involved using a gui utility, but can't remember whether the gui part was actually a used part of the setup . . . . https://mclarenlabs.com/blog/2019/01/15/korg-microkey-air-37-bluetooth-midi-keyboard-with-raspberry-pi/

    I expect there's a simple way to do the same thing using only command line, which I'll try to check into this week. In short, I think status is: (1) Not surprising it doesn't work with the midi bridge pi-zero right now, because it was never set up to work with ble midi peripherals, (2) there is definitely some way to make it work, probably quite easy, but we don't know what it is right now because this is relatively little-used scenario and ble-midi in linux is fairly new and not easy to get help with how it works, and (3) nobody here is an expert on this, yet.

  • @wim said:

    @Alfred said:
    Hi Wim, thank you very much! Got a pi0w waiting for something like this. I tried, but was not tenacious enough. To many other fun toys...
    I also thought the first project was kind of moot since I want my iPad as the midi host.
    But option 2 is exactly what I wanted to do with my pi0, to get a bluetooth connection for my windows machine.

    Interesting idea. I think I'll give it a try.

    One question can you use the sd from project one also for project two, or does that make conflicts? So maybe better just recompile the bluetooth stack on a fresh image of buster light?

    I'll find out. Fortunately the changes are very easy to undo. Just remove the edits from the two files in the boot partition.

    Nope. It didn't boot. It got stuck trying to enable the serial device.

    I haven't tried enabling BLE Midi on the "Gadget" device. I'll give that a try.

  • @hes said:

    @wim said:

    Maybe, I'm not sure. I think I ran across that one but didn't get it working at the time. I'm sure it's possible some way, but beyond me at this point.

    Poking around on the interwebs a bit, I think I remember getting BLE Midi going on my Pi using this info, which involved using a gui utility, but can't remember whether the gui part was actually a used part of the setup . . . . https://mclarenlabs.com/blog/2019/01/15/korg-microkey-air-37-bluetooth-midi-keyboard-with-raspberry-pi/

    I expect there's a simple way to do the same thing using only command line, which I'll try to check into this week. In short, I think status is: (1) Not surprising it doesn't work with the midi bridge pi-zero right now, because it was never set up to work with ble midi peripherals, (2) there is definitely some way to make it work, probably quite easy, but we don't know what it is right now because this is relatively little-used scenario and ble-midi in linux is fairly new and not easy to get help with how it works, and (3) nobody here is an expert on this, yet.

    Good find. The "pairing mode" was the missing piece! And yes, it should be fairly easy doing the pairing from the command line using bluetoothctl.

  • There is a new Raspberry Pi announced it’s basically the Pi built into a keyboard. it’s called the Raspberry Pi 400. It’s basically a 4 but with a slightly better processor and built into a standard Pi keyboard. I might get one. I think it would be good for testing out projects, though not necessarily good for finial projects unless they need a typing keyboard.

    I got my Zero W set up and I have all kinds of dongles/adapters everywhere because I don’t have SSH set up yet. I spent most of last night looking for the adapters and making sure it turns on. So, I really just got the OS booted and checked the raspi-config and will have to work on it more later.

  • wimwim
    edited November 2020

    @wim said:

    @wim said:

    @Alfred said:
    Hi Wim, thank you very much! Got a pi0w waiting for something like this. I tried, but was not tenacious enough. To many other fun toys...
    I also thought the first project was kind of moot since I want my iPad as the midi host.
    But option 2 is exactly what I wanted to do with my pi0, to get a bluetooth connection for my windows machine.

    Interesting idea. I think I'll give it a try.

    One question can you use the sd from project one also for project two, or does that make conflicts? So maybe better just recompile the bluetooth stack on a fresh image of buster light?

    I'll find out. Fortunately the changes are very easy to undo. Just remove the edits from the two files in the boot partition.

    Nope. It didn't boot. It got stuck trying to enable the serial device.

    I haven't tried enabling BLE Midi on the "Gadget" device. I'll give that a try.

    @Alfred - It works! I was able to enable the BLE Midi on the "MIDI Gadget", plug that into a Windows PC, connect to it via Bluetooth in AUM, and send midi from AUM to the PC.

    You just need to stop before the steps under "Configure MIDI connection at system boot:"

    1. Edit the cmdline.txt and config.txt in /boot, as described earlier.
    2. Follow all steps in the Neuma Studio Article up to just before "Configure MIDI connection at system boot:"
    3. Skip to "MIDI BLUETOOTH SETUP"
      Hint: you may want to provide a different name for the BT server in /lib/systemd/system/btmidi.service

    I was able to power the Pi Zero W directly off of the USB on the PC, but you might want to provide power separately during testing.

  • This is encouraging. Now one keyboard can control an iPad, over the air (well, the Bluetooth type of air), and also control (via that black box when it is formalised) a synth that has a usb MIDI input, and (via that black box plus some MIDI socketry) any original MIDI synth.

    It’s always been a problem that a keyboard that has USB MIDI out can’t simply be plugged directly into a synth that has USB MIDI in, and with keyboards that offer Bluetooth MIDI this represents a simpler way (it’s still got a computer as an intermediary, but a computer that fits in a raspberry pi zero case.

  • wimwim
    edited November 2020

    @u0421793 said:
    This is encouraging. Now one keyboard can control an iPad, over the air (well, the Bluetooth type of air), and also control (via that black box when it is formalised) a synth that has a usb MIDI input, and (via that black box plus some MIDI socketry) any original MIDI synth.

    Can you clarify what you’re an by “formalized”? Not sure I understand.

    It’s always been a problem that a keyboard that has USB MIDI out can’t simply be plugged directly into a synth that has USB MIDI in, and with keyboards that offer Bluetooth MIDI this represents a simpler way (it’s still got a computer as an intermediary, but a computer that fits in a raspberry pi zero case.

    Exactamundo. Anything connected can talk to anything else. That’s the biggest benefit. The BT Bridge is a nice side bonus.

  • I found an old Apple USB-30pin camera connection kit. I plugged the "MIDI Gadget/Bluetooth" version in to my iPad 2, which doesn't support BLE Midi ... and could connect to it from my iPad Air 2. B)

    I had always wanted to find a way to use BLE Midi with that device, so this is really cool.

    However, unfortunately that Apple camera connection kit doesn't allow charging while connected, and the battery on that poor old thing is pretty worthless at this point. Oh well, it's still fun to overcome a seemingly unbeatable problem.

  • Hi Wim, so I tried building an image. I have some problems though.

    The name of the bluetooth connection did not become what I chose.
    I get some long number instead. I tried again:
    Sudo btmidi-server -v -n "RPi Bluetooth"

    When I connect to it with Aum and send some notes I see messages coming in in the terminal.
    But in reaper the new midi device is named "MIDI function" and it does not send or receive anything.

    When making the build my only problem was when giving that btmidi-server command.
    I did not see a way to get back to the command prompt, so I ended the ssh session and logged back in to finish the last few steps...

    Do you have an idea how to fix this?

    If you could make some prebuild images for your pi zero midi projects the average user would be greatly helped...

  • @wim said:
    I found an old Apple USB-30pin camera connection kit. I plugged the "MIDI Gadget/Bluetooth" version in to my iPad 2, which doesn't support BLE Midi ... and could connect to it from my iPad Air 2. B)

    I had always wanted to find a way to use BLE Midi with that device, so this is really cool.

    However, unfortunately that Apple camera connection kit doesn't allow charging while connected, and the battery on that poor old thing is pretty worthless at this point. Oh well, it's still fun to overcome a seemingly unbeatable problem.

    That is really cool!

Sign In or Register to comment.