I've made a multitap looper which is available as function.
User can use unlimited number of taps. All taps are synchronized.
But the length doesn't have to be the same for all taps.
It can be even fractional which is useful for creation of
weird beats.

Here it is in action: https://www.youtube.com/watch?v=cQQt9bu_x-A
It was performed at 21 june. At the meeting of the Moscow Haskell group.

In the video I use

3 taps for pianos
2 taps for violins
2 taps for violins that are pitched to sound like a cello
2 taps for drums
2 taps for ambient synths

User can insert pre/post loop effects and control the mix.
Also there is a delay button for erasing a wrong take on
the given tap.

You can find a screenshot of the widget in the attachment.
The first row is a row of taps. If we click on the tap
it becomes ready to record.
The second row is for faders. we can create a fader
which silences or activates a given list of taps.
It can be useful to silence all drums in the certain moment
of the song.

There is a doc page for the looper:
http://hackage.haskell.org/package/csound-expression-4.8.1/docs/Csound-Air-Looper.html

And the example (danger: Haskell inside):
https://github.com/spell-music/csound-bits/blob/master/scene/TestLooper.hs

The example uses soundfonts stored on my disk. You need
to provide your own paths if you want to use it.
The looper is not limited to soundfonts you can insert
any stereo signal input you like.

Enjoy,
Anton

-- 

Read the whole topic here: Haskell Art:
http://lurk.org/r/topic/11HChEDcUzjaD1DsWLZXhn

To leave Haskell Art, email [email protected] with the following email 
subject: unsubscribe

Reply via email to