Cantor: 8-track synchronised looper

Jonatan Krogh's icon

EDIT (2023): Over three years has passed since i first shared this here and a lot have happened! There's now 30+ built in effects, 3 custom synth engines, a drum machine, and lots of other new features. The basic looping and synchronisation system has also been revamped to just "round" loop sizes instead of quantising the recording points, and to include "retrospective looping" where you can instantly catch sound from a running buffer.

Video showing the current (2023) state of the project

Website

Latest version

Still a lot i need to get done! Updating the documentation is probably my highest priority right now. Happy to hear any feedback, questions or suggestions from other Max users here!

--------------------
Hi everyone!


I'd like to share with you a project Ive been working on for the last 4 months. Cantor is an 8-track polyrhythmic looper with a whole bunch of juicy features, that i plan to release as a freeware standalone to unlock the full music potential in all the poor bastards out there who can't afford an RC-505 but happen to have a computer.

My goal is to create a real alternative to professional hardware loopers that is:
- Free
- Powerful
- Requires no technical know-how to set up.

OBS! This is an early beta, so be ready to run in to some bugs.


[edit: updated to v. 0.52]

>>> DOWNLOAD <<<
(includes a readme.txt with instructions)


---- FEATURES ----

+++ 8 tracks, that can run independent or synchronised to any of the other tracks.
+++ All sync - settings specified with fractions for full polyrhythmic freedom!
+++ Speed up or slow down to +/- 1000 and beyond, and come back down still in perfect sync.
+++ Independent speed control for each track, all relative to the master speed.
+++ Paste in a blank loop of any specified division / length to not have to rely on punch-in/out timing.
+++ Dynamically change which track leads to change between rhythms during your performance.
+++ Unlimited undo/redo for each track!
+++ Instant divide and instant multiply at any time, with no upper limit to the loop size.
+++ Scratch your loops live like vinyls! Correct and change the alignment as if you had 8 dj decks.
+++ Powerful effect processing system. Customise a chain of 4 effects for the input and 4 effects for the output, each chosen from a growing palette of built in effects.
+++ Two separate send channels to choose which tracks go through the output effects. Lowpass some tracks, highpass some, and leave some untouched.
+++ New "dynamic feedback" function that ducks your loops relative to the incoming sound and lets you layer on forever without overloading your tracks.
+++ Customisable visual feedback

+++ A lot more planned for the future.

--- WHERE ITS AT ---

So this is my first time sharing this, so there will for sure be some bugs in there. I will set up a proper bug tracing system on github at some point, but i don't know how that works yet, so for now It would be of amazing help just to hear how its running in general. Mainly:
- Does it start?
- Does it crash?
- Are all the basic functions working?
- What settings do you need for a lag-free sound?

I also have some questions about how/where to place credits and licences for externals and code used in the project. If anyone has a good article or thread on that topic that would be great!

Some know issues to have patience with for now:
- moving & resizing window is wonky.
- remembering settings, filepaths and such when closing app not working properly.
- On startup, its sending some midi to the built in synth, resulting in some unexpected bleeps.. and i really cant figure out how to fix this.
- Graphics seem to be eating a lot of CPU. If your computer gets tired, making the window smaller can lighten the load. (looking for better solutions to this)


Edit: Moved the instructions into a readme file included in the download

Jonatan Krogh's icon

So i edited the original post and removed the infinite wall of text (i basically ended up writing a manual). I noticed that the app sometimes doesn't start, and sometimes takes waay longer then just starting max and opening the patch itself,. But can't find any pattern to it, so it would be great if some people could just try to run it and let me know how far you get!

Jonatan Krogh's icon

New version:

- Fix: some buffer channel mismatch problems that was probably behind a lot of crashes (realised that the "setsize" message needs a second channel argument, or it will default to 1)

- Fix: Track pan was not working, and tracks where playing back in mono.

- New: "Record session" will now make a new file on each new record, name it MaxRec + the current date and time (like this: MaxRec_d23m7y2020_h7m59s48), and place it in the same folder as the app.


You can download the new version from the link in original post, or from here.

Andrew's icon

Thanks for sharing :)

Martin Muñoz's icon

hi! i would really like to try your proyect! could you send it pls? i cant find it in your posted links :c

Jonatan Krogh's icon

I have a website now :) www.cantorlooper.com

The version currently available for download is quite outdated by now. I'll try to upload the latest version soon and let you know when i get around to it!

Volker Schmidt's icon

Hi,
do you have a bug tracker or equivalent to communicate issues with your project?

Jonatan Krogh's icon

No proper system in place for that yet I'm afraid.. if anyone have suggestions on the best way to set that up I'd be happy to hear them!