Using Audulus for real-time DSP
  • Hello. I just joined the forum at Mark's encouragement after posting a screenshot of one of my patches on the /r/audulus subreddit, and I'd like to get your comments/suggestions for some stuff I've created.

    I'm a bass clarinet player in the southwestern US, and I've been using Audulus to synthesize a 'pedalboard' on my iPad for live gigs for about a month now, in conjunction with a Steinberg interface for I/O. Basically, I'm repurposing your modular synth to manipulate my own live performance with bands. The latency on some other "pedalboard emulator" programs is too long to be usable when playing fast, and honestly I'd rather have the level of control that this program provides! Plus this interface makes a lot of sense to me, while also looking fully obfuscated to other horn players who check out my rig over my shoulder (:

    Attached is the patch I created, which is basically a control surface with 5 effects, and also the drum section from one of the demos.

    Of course I gave the patches silly names to amuse my wife -

    OctaMeowz is somewhere between an octave pedal and an electroharmonix POG - I use pitch shifters to generate -1 octave, -2 octave, and also a "+chord" knob that adds a 5th and 6th on top of the note for a "cluster of harmon mute trumpets" effect. Also, I add in major 2nd and 3rd at 75% volume on a different toggle called "Legs" to give it some beef.

    Triad Generator uses pitch shifters to generate one of 8 triads based on the frequency of the input. For example, if I play a C, it will generate 2 other notes to form C maj, C min, F ma, F min, Ab ma, A min, Ab+, or Adim, with my input as top note of voicing. In other words, I'm adding a note approx a 3rd-4th down, and another about a 5th-6th down. This triad is chosen at random by demuxing rand*8, with a sample&hold on a clock to trigger the chord change. I also added buttons "Drop 2" which takes the inner voice and multiplies the shift by 1/2 to send it down an octave (a drop 2 voicing), and "Up" which takes the lower harmony voice and raises it an octave.

    ** Side Note: There's a subpatch within OctaMeowz and Triad Generator called "Meow" that adds a trigger input to PitchShift to zero out the input. I couldn't think of a better way to disable the PitchShift module when I wasn't using it - but it seems that sending 0 to PitchShift doesn't keep it from doing some math and hogging up some CPU.

    Low Paws Filter is a simple low pass with an LFO to change the frequency, nothing novel there.

    FurFuzz again, nothing too interesting, just a way to control the Distortion module.

    MeowVerb is just using the preexisting Analog Delay and Spring Reverb to give me some delay.

    DrumDemo is just on there to give me a way to test output, and to use as a metronome to practice with. I thought the idea of using a 1/0 Probability trigger to randomize the kick drum was just way too cool so I had to include it -- I added a knob called "Restraint" to modulate the probability of a kick on any given 16th.

    So in summary, I'm certain I'm missing a bunch of programming conventions here to make things make more sense, and I'm probably doing some things awkwardly/haphazardly. But this is what I've come up with after a couple weeks messing with the tool and I'm using it on gigs. Please let me know what I should change/do differently, especially what I can do to save some CPU as it runs at about 45% as it is.

    I'll try to take a video of me playing with the rig sometime soon so you can get an idea of the sounds I'm getting.

    Thanks for reading!
    1a Look at this math!.audulus
    1280 x 720 - 207K
  • Neat patch. I've done something similar for an electric mountain dulcimer (also use it with guitar). I'm using a Bias BT4 bluetooth foot pedal to control the patch. The BT4 has 4 switches which sends MIDI signals to an app running on the iPad. It sends CC or PC MIDI messages and is fully configurable. It also supports multiple banks of signals. Audulus knobs will respond to CC messages and can be controlled with the BT4 you can also plug in an optional foot pedal for an additional channel. At this point triggers only respond to MIDI notes, but I'm hoping Mark will add CC to trigger functionality at some point.
  • This is cool. I'd love to learn more about how you interact with the patch:

    - do you interact directly with the screen?
    - do you interact during a song/piece?
    - how is the stability?
    - do you find the connection to the audio interface fairly stable?

    I would definitely love to see video if you get a chance.
  • The pitch shifters are the real CPU drain. Rather than switch shifters in and out, it would be better to use only as many shifters as the number of simultaneous pitches require and switch the pitch input to the shifters. As you have discovered, the shifters use CPU even when there is no input. For example if the triad generator outputs the input and two additional pitches you should only require two shifters. Use the mux to switch the pitch input rather than the shifter.
  • Sweet! Can't wait to see a video of you using this setup live @SheaMarshall. Welcome to the forum!

    @stschoen I've been thinking of getting a solid bluetooth pedal like that for controlling Audulus separately while playing bass (as accompaniment rather than bass fx however).
  • I've been pretty happy with the BT4. It's very rugged and works well. My only complaints are that, although it communicates via bluetooth and sends MIDI signals, it's not actually a Bluetooth MIDI device. It uses an iOS app to generate the MIDI signals which must be running in order for the pedal to function, so it wonk work with my iMac or a PC etc. Also the foot-switches, while very solid are a bit noisy for an acoustic environment. Other than that I love it.
  • Thank you all for your comments and support!!

    @stschoen YES!! I knew I overlooked something! Of course I'll only need 2 pitch shift modules. THANK YOU!

    Also, I'm ordering that BT4 right now -- which is silly because PositiveGrid's BiasFX was the reason I got into this, but their octave effect tracks so slow/has enough latency it's unusable for me live, so that sent me down the audulus rabbit hole.

    @RileyGuy - Here's a link to a video I just posted of me demo-ing the rig.

    Go ahead and follow/friend me on FB if you want, I'm not shy and I do a lot of strange music stuff.

    @jjthrash - I've answered your questions below
    - do you interact directly with the screen?

    Yes, for now. Ordering a bluetooth pedal controller now.....

    - do you interact during a song/piece?

    Of course. I'm working with bands that play improvised music, so I use it the same way a guitar player would switch pedals on/off during a tune or a solo.

    - how is the stability? / do you find the connection to the audio interface fairly stable?

    I haven't had any problems at all using this rig live, with the exception of cables getting unplugged while the band's on break/I'm not watching. I don't have a kill switch on the patch so if you unplug the interface, the iPad mic and speakers become active by default and feed back. It's a "someone tripped over your rig" alarm!
  • The BT-4 works well with BiasFX as you would expect. Like you I didn't think much of the octave doublers in BiasFX or for that matter, the one in Tonestack. I think Audulus does a much better job. Still it's nice to know you can use the pedal with both. I actually set up BiasFX to Audulus to BiasAmp using AUM just to see if it worked. I wouldn't want to run a CPU intensive patch but it can be done. (The latency on my iPad Air 2 would make using all three questionable for live performance)
  • @SheaMarshall Very nice, thanks for sharing the video and answering questions.
  • I've actually been wondering about picking up the Looperverse pedal by Retronyms, available to view here:

    "Because the Looperverse pedal supports the Bluetooth (BTLE) MIDI standard, it’s compatible with virtually any software on any device. "

    Based on this quote, it sounds like it wouldn't need a specific app running in the background and would support anything that can use the BTLE standard where you could then map the individual MIDI triggers.
    Will check that video out as soon as I get home from work @SheaMarshall, thanks!
  • @SheaMarshall the bass clarinet sounds great through Audulus! I didn't catch the "bass" part of your first message, but I am such a fan of the bass clarinet (love me some Eric Dolphy bass clarinet solos). Can't believe how great it is tracking on that thing. Keep it up man!

    @stschoen Did you get a chance to check out the retronyms pedal or have you seen that before? What are your thoughts on that one?
  • I like the idea of a native bluetooth unit vs. the BT-4, however you do need to have a bluetooth LE enabled device. I believe that would be iPad 3 or above. Not sure on Macs when bluetooth LE became standard. I couldn't find a manual so I'm not sure exactly how you configure it or exactly which MIDI messages it supports, but it certainly looks like a winner. More expensive, but 6 switches vs. 4 and the ability to use it with any bluetooth MIDI unit might make it worth the price. I certainly would have considered this instead if it had been available when I bought the BT-4
  • Yeah, I have an iPad Pro I would use it with. Probably going to pull the trigger on that one soon.
  • Let me know how you like it.
  • I stripped everything off and isolated the OctaMeowz to use with my homemade fretless acoustic bass. Almost sounds like a synth piano. :) Awsome.