Takt

That’d be amazing. Takt is almost everything I could wish for in a sequencer (Elektron on a grid, how cool is that?), but the clock issues prevent me from using it in any meaningful way.

I am in a very similar position, I’m a complete novice in Norns scripting but happy to learn and to spend some time on it. If you’re up for it we could sync up, learn together and make this happen.

3 Likes

Would me amazing if you’d start this process! I’d bet there are a lot of people interested in a stable version of Takt, I would for sure!

@chmanie two brains are better than one!

Happy to see something is moving at least…
Finger crossed here, already!

3 Likes

Cool. Let’s have a go.

I might not have much bandwidth until the weekend but if nobody else gets there first, I’ll post a fork where people can collaborate.

Also, full credit to @its_your_bedtime for creating this amazing script. If we get global clock updates working then maybe this could fold back into the main branch. Whatever is most supportive all round.

5 Likes

feel free to share your fork once you get started
i’ll take a look and might be able to test the updated version

3 Likes

Glad to see this isn’t dead! I love my Digitakt, but prefer the Grid interface to Elektron’s. Would be thrilled to see this updated.

4 Likes

In case it’s helpful I started work on a parameter locking step sequencer inspired by takt but with some differences (a custom sc engine, new clock, swing and a 64 grid interface). I haven’t “released” it yet, but if it’s useful for anyone as a jumping off point I’d be happy to help.

12 Likes

@chmanie @chailight : I don’t even have a Norns yet, but I do have an Octatrack and am going to buy a Norns very soon. I am a programmer by trade and will be interested in helping with this once I get my Norns and learn what I need to know. :slightly_smiling_face:

I’ve been meaning to make a lines account for years, but just now got to it. Other than the obvious, finally having a Lines account, I made the account today to make this comment (and future comments).

9 Likes

welcome!

this could be an interesting project for you to help with…we’d love to see what you can add

2 Likes

My coding skills are virtually nil but I fully support the endeavor to get this script up to date and would be most appreciative!!

One thought I had for people who really love this script and want to see it progress but don’t feel comfortable wading into the code side of thing could be to help capture some detail around a list of feature(s) you’d like to see, with some detail as to how those features work (where a button could go on the screen, what the grid interface looks like, etc.)

EDIT: maybe the issue most people care about is purely the global clock thing

4 Likes

+1 on Global Clock but will also meditate on some other feature requests/feedback.

hi all,

I’ve had an initial foray into updating takt to use the global clock

you can find the code here:

The repository probably needs a better name, since the original script was already at version 2. Suggestions welcome.

Note that if you install this with Takt already installed, you might get a duplicate engine warning.

This is very much alpha stage, so please don’t go removing your old takt install or losing presets etc that you want to keep - maybe just rename the duplicate engine temporarily.

The original code uses metro counters and uses beatclock midi sync. I’ve explored a couple of strategies for switching to global clock, so there are are currently two branches in this repo.

The master branch has my attempt at switching takt away from being based on metros to being based directly on the global clock,.

I’ve got that somewhat working, but there are some issues.

Current issues in master branch:

  • unlike the original script, I needed to load the script with the sequencer running
  • stop will work once, but won’t restart
  • you need to run a command like “sq=clock.run(sequencer)” from maiden to get it starting again

I think this is an issue with how co-routines work, but I’m not sure.

  • the tempo seems to be too fast - not sure I have the clock.sync argument correct
    I’ve left the original tempo setting code for the metro on line 934
    The sequencer uses a clock.sync(1/128) which, but I think this is to fast - I started with 1/8 and that was way too slow so I just multiplied up until it seemed about right, but think there are some assumptions in the code that I don’t understand which are throwing things off. In particular, the code in the function seqrun (around lines 530 - 531) might be based on assumptions of a pulses per quarter note setting that I don’t understand.

  • midi integration is untested
    but theoretically, because it is global clock, then it should work, however midi stop and start messages still need to be added

  • link integration appears to work
    I tested this briefly with Ableton - I could vary the speed from ableton and takt would follow suite when the clock was set to link. At the moment, the tempo display doesn’t reflect actual clock tempo when clock is not internal - maybe that value just needs to be updated as part of the redraw loop whenever the clock source is not internal

I’m very much a novice with lua and norns, so I’m sure that there are things I’ve not understood and ways of making the changes cleaner.

On the development branch, I’ve tried a more basic approach of just leaving the metros in place and setting the tempo of the metro from the global clock at the right places and vice versa

This solves the problem of stop and start controls not working. Link tempo changes work well and link stop and start works. Midi sync is still untested.

However the clock drifts after a while - maybe after 16 or 32 bars or I’m not quite sure.

I think that solving the issues in the master branch is probably the way to go rather than trying to fix the sync issues. But there is still other timing issues in the master branch. I will need to explore a bit but if there are smarter heads out there who can spot issues, I’d be much obliged.

13 Likes

if it’s not too much copy & paste rework for you, it’s better to start by forking the original script on github, then downloading with github desktop & making modifications, that way it’s only one click for the original author to accept a pull request with the updates if they chose to : )

7 Likes

Never tried this script but it seems so powerful.

Is there any more documentation available beyond the two .png I found on GitHub (doc.png & takt.png)?

Does anyone know what these on the top bar do?


its per-track sidechain amount and step tempo divider

also, should mention that new clock system was not implemented because i find upper limit (300bpm) too restricting :sweat_smile:

7 Likes

maybe we should raise the limit

12 Likes

thank you!

step tempo divider

@its_your_bedtime I’m a bit confused at that one. it seems like the thing immediately to the left that says – right now is the track tempo divider. I change that one and I see the speed of the cursor on the grid for that track change. I can’t figure out how to get the one I highlighted above to do anything.

there are per-track and per-step dividers, iirc you can access latter by holding step key

2 Likes

Interesting. It shows up in the track edit (hold k1), not step edit menu (hold grid key for step). I’m not sure how a per step tempo modifier would work though…I guess go through the step faster or slower? It doesn’t seem to do that