Touchosc live looper



I finally had some time to go over my ‘Live Looper’ application for ‘touchosc’. You can find the project at Github:

I am happy for any input and feedback on that.



Hi Martin…

You and Robin really need to join forces and converge your ‘touchosc’ apps.

Just an opinion.



Hi @Eli,

well, sort of we do :wink: : I do learn a lot from @robin.newman and he saw the first draft and made some improvements. But he is much more an expert on these issues than me.

However, I think it’s great that people start to explore the possiblities of extending Sonic Pi and use it in different directions.

One more technical remark:

I am not sure about how an average machine will cope with these applications. I do plan to use this for live coding - so there will be going on more than just the ‘Live Looper’. Right now it is not yet bulletproof or ‘production ready’, see my ‘known issues’ section:

  • I had some difficulties to synchronise the recording and the playback. It sometimes happens, that e. g. you have a 4-beat- and a 8-beat-loop. After playing around with the Live Looper some time the 8-bar-loop recording will start playing 4 beats too early. I have no idea why this is happening. Any hints are highly appreciated.
  • As Sonic Pi records faithfully you will have to have a good timing while playing live sound to achieve the wanted results. Nevertheless I think there are some latency issues involved. This might be due to hardware limitations; I would highly appreciate if I could simplify the code as much as possible to reduce hardware load. Also here any tips are highly appreciated. Maybe it is a bug …

I do hope that someone (maybe Robin) who has a better grasp of coding than me takes a closer look, because right now I am at my wits’ end about these issues.

Thanks for your comment!



just in case someone is interested in my progress :wink: .

I found out, that looping sounds is a quite tricky thing if you have loops of different lengths such as a 4-bar-loop and an 8-bar-loop. Depending on when you start the recording it could be, that suddenly your 8-bar-loop it out of synchronisation in that way, that the play started 4 bars to early. This was due to the fact, that the playback loops kept on running while the recording loop of the 8-bar-loop started 4 beats to early. A bit complicated to explain (easier to show) but in the end totally logical.

So I changed the implementation: Now the playback loops sync the recording loops and the metronome is triggered by the playback. This has two consequences:

  1. The individual loops are always in sync with themselves (the 8-bar-loop always records and plays back after 8 bars aso.)
  2. The metronome will start once you select a track and gives an audible hint. It can thus be, that you just recorded a 4-bar-loop, switch to the next 8-bar-track and will have to wait until the next cycle of these 8 bars have started until you hear the metronome. This is somehow not intuive at fist sight but consistant with the musical or rather timing logic.

I pushed these changes to the repository. I will also update the documentation.

Anyhow, feedback welcome if you happen to be interested to try it out.

It is not an easy to use tool due to the fact, that you have no time corrections and will have to play in time to achieve satisfying results. Should not be problem for an experienced musician (as I lack the exercise my timing is pretty bad). Nevertheless I made the tool for myself mainly to play together with other musicians.


Just to give you an impression: Here is an outtake of a session I did with a friend who was playing the Digeridoo while I was operating Sonic Pi. This is very early stage stuff but we had some fun and it illustrates how to work with the live looper: