Rytm timestretch with this Max for Live device!

I really wanted timestretch on the Rytm so I made a Max for Live device that can do that!

Feel free to try it out and make changes if you think you can improve it. The layout and buttons could need a more user friendly interface :slight_smile:

  1. Drop the Max for Live device next to the Rytm VST
  2. Click the black arrow on the Rytm VST and then hit ā€œconfigureā€.
  3. Configure/drag/click the parameters ā€œsample tuneā€ and ā€œsample fine tuneā€ on a specific track. Only one track at the time is possible.
  4. Close the RYTM VST window
  5. Highlight sample tune in the configured list so that it has corners in a black thin line.
  6. Click the first button in the Max for Live device with the text ā€œpath live_set view selected_parameterā€
  7. Now do the same for fine tune, highlight fine tune in the Rytm VST configured list so it has black corners then click the second button in the Max for Live device with the same text as above.
  8. Set the tempo of the loop on the sample track on the Rytm by using the two lower round buttons. You need to know the tempo of the specific loop. I name my loops with their tempo so I can easily set it.
  9. The two upper round buttons are for setting the project tempo. You can change this and the sample loop will remain in sync!

Sry for the crude design, but the device is working very well! I have the four round buttons mapped to a midi controller so I can step the tempo of the song and loop easily.

Feel free to ask questions or give feedback. Hope you can enjoy the device as much as I do :slight_smile:

The device:
https://www.elektronauts.com/files/595

8 Likes

Definitely gonna try this out, nice!

I have a max patch that detects the RYTM tempo, not sure if it works with m4L but Iā€™ll see if I can make it workā€¦

Edit: Care to explain the maths?

I googled the algorithm for pitch-shifting and applied it to this case. Iā€™m not smart enough to explain it though :laughing: I canā€™t find the link I used but here is another example:
https://rachelnertia.github.io/programming/2018/02/02/pitch-to-bpm/

Iā€™m more interested in how you split the semitones and the fine-tuning part, I think its the regexp bit?

Yes thatā€™s correct. A number with decimals is calculated and from that the whole number sets the tune and the decimal the fine tune.

Ah nice so that regexp literally just splits integers and decimals, good to know!

Regexp can be used for many things but in this case I use use it to format the calculated number eg 1.1764, which is the new pitch for a project tempo of 137 and a sample loop in 128bpm. Regexp formats it to ā€œ1 1764ā€ and the next function ā€œzl slice 1ā€ splits that expression into two numbers 1 and .1764

1 Like

Thanks for explaining :slight_smile: