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.

Raspberry Pi systems

I have a Raspberry Pi 3B (not the +) and I'm trying to figure out what, if any, synths or music stuff (besides the USB-to-MIDI converter script) can run on this without any extra hardware. I want to get the Norns Shield eventually, but I need to also get the 3B+ board. I do have a few class-compliant soundcards and MIDI interfaces that I can use with it, but I haven't been able to find any patches/programs/whatever that don't need extra specialized hardware (PiSound, Zynthian, etc.).

Anyone have any ideas?

Comments

  • I think you can run the list of synths on this page
    https://zynthian.org/engines#synthesizer
    they don't need specific hardware ,well a Pi is needed :D

  • edited July 2021

    I can't think of any music stuff that doesn't require extra hardware unfortunately.. but if you can't find anything else to do with it, I highly recommend using it for one of Andrei Jay's video synths like Waaave Pool or Spectral Mesh!

    https://andreijaycreativecoding.com/WAAAVE_POOL
    https://andreijaycreativecoding.com/SPECTRAL_MESH
    https://andreijaycreativecoding.com/VSERPI-hardware-and-images

    He sells them as pre-built kits, but you can DIY by flashing the images to an SD card and getting a few cheap (£10) USB-HDMI adapters. There are mappings available to download for Nanokontrol 1/2, but you can create your own template for another midi controller with the same CC values.

  • What are you thinking of using for a display for the 3B?
    (I’ve also got a couple of nonplussed 3B Pis, which I have fitted with the Pi High Quality cam, each, and have some type-c lenses fitted to them and MotionOS installed)

  • @u0421793 said:
    What are you thinking of using for a display for the 3B?
    (I’ve also got a couple of nonplussed 3B Pis, which I have fitted with the Pi High Quality cam, each, and have some type-c lenses fitted to them and MotionOS installed)

    No display as of now. If I can use an android tablet as a display, maybe that.

  • @Korakios said:
    I think you can run the list of synths on this page
    https://zynthian.org/engines#synthesizer
    they don't need specific hardware ,well a Pi is needed :D

    Oh word. I had no idea. I'll look into that.

  • @slicetwo said:

    @u0421793 said:
    What are you thinking of using for a display for the 3B?
    (I’ve also got a couple of nonplussed 3B Pis, which I have fitted with the Pi High Quality cam, each, and have some type-c lenses fitted to them and MotionOS installed)

    No display as of now. If I can use an android tablet as a display, maybe that.

    I assume there is an X Windows server available for Android. So, that should work. I almost always use my RasPi's headless and connect to them with a terminal and X Windows.

  • @NeonSilicon said:

    @slicetwo said:

    @u0421793 said:
    What are you thinking of using for a display for the 3B?
    (I’ve also got a couple of nonplussed 3B Pis, which I have fitted with the Pi High Quality cam, each, and have some type-c lenses fitted to them and MotionOS installed)

    No display as of now. If I can use an android tablet as a display, maybe that.

    I assume there is an X Windows server available for Android. So, that should work. I almost always use my RasPi's headless and connect to them with a terminal and X Windows.

    Yes, terminal is one way but an idea that I like even better is to build a custom http or even UDP packet based protocol that gets eaten by Javascript on any mobile browser, so the Raspberry's GPU remains free for other things. I've just found a lib that does FFT and iFFT about 10 times as fast compared to the Pi Zero's own CPU, by calculating it on the GPU.
    If you're asking what this could be good for then think about convolution reverbs 😊

  • Oh and btw:

  • The user and all related content has been deleted.
  • @rs2000 said:

    @NeonSilicon said:

    @slicetwo said:

    @u0421793 said:
    What are you thinking of using for a display for the 3B?
    (I’ve also got a couple of nonplussed 3B Pis, which I have fitted with the Pi High Quality cam, each, and have some type-c lenses fitted to them and MotionOS installed)

    No display as of now. If I can use an android tablet as a display, maybe that.

    I assume there is an X Windows server available for Android. So, that should work. I almost always use my RasPi's headless and connect to them with a terminal and X Windows.

    Yes, terminal is one way but an idea that I like even better is to build a custom http or even UDP packet based protocol that gets eaten by Javascript on any mobile browser, so the Raspberry's GPU remains free for other things. I've just found a lib that does FFT and iFFT about 10 times as fast compared to the Pi Zero's own CPU, by calculating it on the GPU.
    If you're asking what this could be good for then think about convolution reverbs 😊

    Running the X server on the Android device should free up the Pi's GPU almost completely.

    I don't know about using the Pi's GPU specifically, but there are a couple of problems in general with using a GPU for audio processing. The first is that the round trip latency is too high for most audio work. The second is that GPU's are generally optimized for smaller bit depth floats. Going to a 64-bit float really impacts the performance of most GPU's. Actually there's a lot of optimization around using 16-bit floats in GPU's because this is often enough for graphics.

    It's definitely worth looking into doing, but there could be issues.

  • I've had good success accessing VNC Server on Raspberry Pi from VNC Viewer on iOS (or Mac or ... anything else) for the rare occasions that I want a GUI. Good performance, and free.

  • I just bought one to do this with it:

    https://schollz.com/raspberrypi/monotron/

  • edited July 2021

    @NeonSilicon True, these are typical issues but it's actually not that bad.
    First, you can send batches of data blocks to be processed on the GPU and fetch them without too much latency and second, even the single FP presicion doesn't introduce too much noise, we're talking about precision in the lower ppm range.
    Surely not enough for studio work requiring high dynamic range but certainly good for great sounding gadgets.
    On a Pi Zero W, ten FFTs with 65536 points each take around 850ms on average, including the transfers CPU > GPU > CPU with a relative RMS error below 1E-6 at a total power consumption below 200mA with both BT and WiFi enabled already. 😊

  • edited July 2021

    @slicetwo and friends consider the Blokas PiSound

    https://blokas.io/pisound/

    FROM the Site:

    Pisound is an ultra-low latency high-quality sound card and MIDI interface specially designed for Raspberry Pi pocket computers.

    use Pisound and Raspberry Pi in headless mode - without an external monitor, keyboard or mouse.

    As it turns out, one button is all you need to achieve this and we call it The Button.

    Its functionality can be customized according to your needs. By default using The Button you can open patches straight from a USB thumb drive, safely close them, shut down the Raspberry Pi and even launch “Pisound” Wi-Fi hotspot, so that you can connect to the device via SSH, VNC or send WiFi-MIDI messages directly to your Pi using smart phone or tablet.

    Our favorite use-case for it - you can run your Pure Data patches, without any need to connect a display, keyboard or mouse, just by plugging in a USB drive containing “main.pd”, any optional MIDI controller / keyboard, click The Button once and Voilà!

    Pisound mounts directly onto Raspberry Pi, no additional power adapter or soldering is required.

    You can use our Patchbox OS distribution or just install Pisound drivers by entering the following command in a terminal window:

    one curl command and it's done.

    ALSO the Pi can be run by battery

    https://www.tindie.com/products/pisugar/pisugar-s-pro-battery-for-raspberry-pi-3b3b4b/

    Pisugar S pro: Battery for Raspberry Pi 3B/3B+/4B
    PiSugar S Pro is a complete UPS with a continuous output capability of 5V3A.

  • Costs more than the Pi itself. :|

  • @rs2000 said:
    @NeonSilicon True, these are typical issues but it's actually not that bad.
    First, you can send batches of data blocks to be processed on the GPU and fetch them without too much latency and second, even the single FP presicion doesn't introduce too much noise, we're talking about precision in the lower ppm range.
    Surely not enough for studio work requiring high dynamic range but certainly good for great sounding gadgets.
    On a Pi Zero W, ten FFTs with 65536 points each take around 850ms on average, including the transfers CPU > GPU > CPU with a relative RMS error below 1E-6 at a total power consumption below 200mA with both BT and WiFi enabled already. 😊

    I'm mainly concerned with using double precision floats when it's a stability issue. So, anything with lots of non-linearity or feedback -- 64-bit floats can really help with the stability of some IIR type filters for example. But, yeah, 32-bit is fine in many situations.

    For a reverb, some of the added latency going to the GPU might be able to be absorbed into the pre-delay.

    If you end up doing any of this on the RPi-4, it might be really beneficial to look at doing the convolutions in the NEON instructions. The 32-bit SIMD unit got a big boost on the 4.

    I'm definitely interested in hearing more about how this goes. I've got a couple of Zero's waiting for new tasks to do. I was going to use them for more CV controller based things, but I've decided to go the MCU path with those projects.

  • @wim said:
    Costs more than the Pi itself. :|

    They do look to be pretty good quality components though. I wonder if this could be used with the Elk Audio stuff. That could be interesting.

  • There are several threads in the forum about the Raspberry Pi and music. It comes up here and there. Try to use a search on the forum and you’ll get more information.

    I’ve done a few and most of the time it ends up being a lot of work and just using an iOS app is more fun and more useful for me. If you like to fiddle and spend a lot of time with issues after issue then it’s worth doing. Just know the ratio of tinkering to music making is frequently higher toward tinkering.

    https://www.samplerbox.org/ Is one you can check out.

    I’ve used SunVox successfully, but it’s the same as on any other device and you have to be logged in to the normal OS and it’s not quite standalone.

    I’m currently using my Pi zero to convert a USB MIDI keyboard to Bluetooth MIDI to send to my iPad. It’s been very stable and I’ve had it set up for months. There is a thread on that on the Audiobus Forum as well. It was pretty easy to set up.

  • @NeonSilicon said:

    @rs2000 said:
    @NeonSilicon True, these are typical issues but it's actually not that bad.
    First, you can send batches of data blocks to be processed on the GPU and fetch them without too much latency and second, even the single FP presicion doesn't introduce too much noise, we're talking about precision in the lower ppm range.
    Surely not enough for studio work requiring high dynamic range but certainly good for great sounding gadgets.
    On a Pi Zero W, ten FFTs with 65536 points each take around 850ms on average, including the transfers CPU > GPU > CPU with a relative RMS error below 1E-6 at a total power consumption below 200mA with both BT and WiFi enabled already. 😊

    I'm mainly concerned with using double precision floats when it's a stability issue. So, anything with lots of non-linearity or feedback -- 64-bit floats can really help with the stability of some IIR type filters for example. But, yeah, 32-bit is fine in many situations.

    Indeed, IIR filters are probably not the best use case.

    For a reverb, some of the added latency going to the GPU might be able to be absorbed into the pre-delay.

    Yes, latency for 2x 8192pt FTT on stereo audio seems to be around 25ms but I would have to try that with actual code. The demo under /opt/vc/src/hello_pi/hello_fft/ suggests that the time required for shuffling data between cpu and gpu must be more in the 100ms range than 100us...

    If you end up doing any of this on the RPi-4, it might be really beneficial to look at doing the convolutions in the NEON instructions. The 32-bit SIMD unit got a big boost on the 4.

    Definitely!

    I'm definitely interested in hearing more about how this goes. I've got a couple of Zero's waiting for new tasks to do. I was going to use them for more CV controller based things, but I've decided to go the MCU path with those projects.

    Exactly what I have here. A Pi Zero W that I'm curious about what it can do on battery power 😊

  • @DMan said:
    I’ve used SunVox successfully, but it’s the same as on any other device and you have to be logged in to the normal OS and it’s not quite standalone.

    I came to recommend sunvox. Maybe you can setup your system to boot into it directly. :wink:

    I didn't try it yet, but there's Non, a really lightweight (43k if I recall correctly) DAW for the PI
    https://non.tuxfamily.org/

    There's also Milktracker, SonicPI and if i'm not wrong, you could run LMMS too

  • You can have a look at ORAC (https://github.com/TheTechnobear/Orac). It is the software behind Organelle. You should use the Patchbox OS (https://blokas.io/patchbox-os/). It is a realtime os for the PI. You can access it using Lemur/OSC via WIFI (setup currently only available for Lemur :-( ).

    Since PiSound was too expensive for me, I am using this here: https://www.amazon.de/dp/B00MDW602K/ (only audio out).

  • @os68ng said:
    You can have a look at ORAC (https://github.com/TheTechnobear/Orac). It is the software behind Organelle. You should use the Patchbox OS (https://blokas.io/patchbox-os/). It is a realtime os for the PI. You can access it using Lemur/OSC via WIFI (setup currently only available for Lemur :-( ).

    Since PiSound was too expensive for me, I am using this here: https://www.amazon.de/dp/B00MDW602K/ (only audio out).

    Is it compatible with organelle or any files on patchstorage.com?

Sign In or Register to comment.