Forums > Max For Live

Job: Would pay 100€ for programming a (simple) M4L device

Apr 19 2013 | 9:14 pm

My project and issue/question:
(So as you can see in facts it’s "only" about shifting the waves in milliseconds forward or backward – but synced. The pitch shifter in the thread was just an example. The created m4l device could be "latency killer" alternative.)

Important is following:

* short fade-in / -outs between all recorded wave parts to avoid crackling noises
* a knob with values between -200ms and +200ms (with midilearn functionality)
* usable for MacOSX with Ableton 9 x86 (x64 is optional/desirable)

Payment will be through Paypal.

But first, is it possible or just a stupid idea?

Apr 20 2013 | 3:48 pm

How does the pitch shifter that you’re using work? Is it based upon gizmo or a variable delay line? All pitch shifters encounter degradation when you shift more than few semitones and it’s very difficult to entirely overcome but that doesn’t mean that your pitch shifter couldn’t be improved possibly.

Apr 20 2013 | 6:18 pm

As I understand it, the OP wants a modified version of Ableton’s Looper device with adjustable timing to compensate for the latency that may be introduced by other devices later in the chain (where Pitch Shifter is just an example). If so, it looks like a lot of work.

Apr 20 2013 | 8:23 pm

I don’t know this leo pitch shifter’s algorithm but most of the realtime pitch shifting techniques adds some latency, so if you music the dry and wet signal together you can hear the latency, the idea would be to delay the dry signal to sync it with the wet one…
maybe I did not understood the question correctly.

Apr 20 2013 | 10:02 pm

the way I understood it OP doesn’t want to remove latency (it probably can’t be removed enough), but a Looper-alike device that can take the latency and chop it off the front and stick it to the back of a recording – so when it is played back it will be shifted back in time.

… is that about it?

Apr 21 2013 | 11:48 am

Hi all,

thanks for your attention.

(Btw: my hardware at the moment: MacBook Pro Retina 2,7GHz / 16 GB RAM / 512 GB SDD + RME Fireface UCX)

@Cphas: Not sure what are the details of the pitch shifter. It’s free to download here:

@broc: An alternative looper device with included time stretcher / pitch shifter functionality would be the M4L device "time stretch looper", which is free too:

And yes, this device works very nice. The only problem is the crackling noise after push the buttons. I recorded with my Sony PCM D-50 a test example. The Ableton Live Set is running three instances of its device through Ableton Live. You can check my Set if wanted: (zipped .als-file)

The record is available here: (zipped wave-file, raw record with)

I thought it’s a not available fade-in / fade-out. So i wrote to the programmer of this looper (Jesse Engel) by mailing. He answered:

"Thanks for the detailed information. This is actually a known bug at the moment It seems not to be coming out of the device output(there is already a fade in/out), but from the computer sound processor itself. To see this, loop something on one track and just press clear a bunch of times on a device in another track, it should make weird clipping noises (does on my computer). I think this is because many actions happen upon a clear and sometimes that messes up Live’s sound engine."

@bertrandfraysse: Your idea could be possible unless I can play/rec/overdub in realtime without getting audible evil latencies.

@Wetterberg: Absolutely! This is the concrete issue.

Apr 21 2013 | 10:19 pm

@psyndrome :::dont know if it helps you anything but i have written this looper some time ago:
and i made up a solution for shifting/moving sound inside a buffer in realtime…
but i would need more precise information..(too bad we cant meet,its hard enough to get the point writing and the language barrier makes it even harder)

Jan 16 2014 | 3:09 pm

Hi Psyndrome,

a simple idea (but functional) would be to use Bome´s MIDI translator to delay the action of the press to the same delay you´re getting with the Ableton Live Looper.

For example, if you guess your latency time when you use the pitchshifting is 20ms, you could create an action in BOMEs for that when you press the pedal, the response is 20ms later, to synchronize with your performance.

I hope it helps.

Jan 16 2014 | 6:56 pm

Hi Psyndrome, might be a silly question, but have you tried changing the latency buffer on your soundcard? Looper seems to have latency problems when m4l devices are added to the chain.

When I changed the buffer, it allowed me to get an acceptable latency and if youve only got a few things going on in your set, you might be able to get quite a decent buffer setting.

In my case im recording a one bar loop from a track and then mixing the loop back in with the dry signal of the track. I tried all kinds of different workarounds, like sending the audio around live using different "buffer" objects in max and then delaying the dry signal to mix it in with the wet loop, and in the end I didnt need all of this, it turned out to be the buffer settings on my soundcard.

Jan 18 2014 | 5:26 am

Just had a thought that this may be due to the delay compensation property if the M4L device your using not being set properly, meaning Live can’t compensate for the latency inherent in the device. Would be worth checking out.

Viewing 10 posts - 1 through 10 (of 10 total)

Forums > Max For Live