Looper on patch.Init()

I’ve successfully uploaded and run several patch_sm examples on my patch.Init(), but cannot seem to get the looper example to work.

  1. Does it require an SD card to work? If so, what formatting is needed?

  2. The module is totally silent - I’m not sure what could be the issue. Any ideas?

I just tested it on my end. Admittedly the readme doesn’t explain how the module works very well.
Basically CV_1 is the volume of your incoming audio.
CV_2 is the volume of your loop.
Pressing the button toggles recording on and off. The first time you record a loop sets the loop’s length.
After that it will record new audio over top of the old (sound on sound).
Long pressing the button will clear the loop.

So to test the basic functionality of the patch you should:
patch some audio into IN_L and patch OUT_L to your speakers.
Set both top knobs to noon. Press and release the button, wait a bit, press and release again.
You should hear the looping audio playing alongside your currently running audio.

Hope that helps! Let me know if it still doesn’t work, we can try some other troubleshooting steps.

1 Like

Hello, and my apologies for the bump on this older topic. I’m trying to work out how to assign pitch control of the stored audio buffer to a patchsm/patch_init knob control, using the Daisy Examples Looper patch, as well as toggling playback direction of the buffer using the patch.init() toggle switch.

I’ve looked at various examples (I have very little cpp experience and am amazed at what more experienced users have come up with and went looking there for help) of working with the Daisy audio buffer, playback speed, etc and can see that it’s likely possible to do what I want, I’m just very lost as to how to graft these features into the example code :frowning:

Loving my patch.init() though!

Thank you

1 Like

Hi haruhatu!

No worries about bumping the topic :slight_smile:

It is possible to modify the looper code and add a variable playback speed feature.
That said, it’s a bit of work if you’re just getting started with cpp. You’ll need a floating point position and then a variable playback speed. For example, you would need something like a pos += speed where speed might be 1.5. Then, you’ll need to interpolate your output sample, for example, with a lerp. And you’ll have to do some interpolation for the record onto the buffer as well when record is turned on.

This was brought up to me recently in a DM too, so I think that it would be totally worth making a tutorial or at least an example code. Thank you for bringing it up.

1 Like

Thank you for replying! I definitely appreciate your insight and guidance. I was initially looking to work extensively in PD (where I’m a bit less at a loss!) and port, but have had some problems compiling (there’s something amiss in my self-made PD patch.int() template, where I started by trying to extrapolate all the PD objects and values for the Eurorack hardware) leading to inexplicably silent patches - hence me jumping to cpp.

I’ll go back to the documentation again, continue learning and try something different for now - perhaps inserting an effect in-line in the looper buffer input - as this will all be good practice.

Thank you again, you have given me encouragement when I most needed it.

Feel free to share more about the Pure Data patch in a different thread. I would be more than happy to have a look!

Learning cpp for Daisy is recommended too. It is certainly a great idea to look through the example codes (like effects)! And we’re currently working on a more solid cpp tutorials.

And any time you have questions, please do reach out!

Just got my patch init() and got the basic looper looping and I love it. Of course, I too would like examples and tutorials re. how to add more functionality. Pitch control and playback direction (as haruhatu mentioned) would be great.

Here is an example in which O.Z. Hall has added clocking and a clock divider. I will be flashing this next.

1 Like