How to timestretch without changing pitch?

Hi! Beat stretching without pitch shifting
(Time_warp seems to be different and unrelated command for async blocks)

Changing rate adjusts pitch, but I couldn’t see anything specifically for increasing the rate but not the pitch (not sure on vice versa yet, as a few untested commands)

Is there a particular command (or set of commands).or any recommended “best” method, or do we just adjust the pitch as required after it’s adjusted by the rate adjustment?!

So if you want the same song to be twice as fast (but same rate) you set the ratechange eg 2, and then pitch/ratechange ?

Is that “the right way”?
Or am I overcomplicating?

Many thanks!!

1 Like

Hi! Just saw this message—did you try the pitch_stretch option on the sample? It’s described in the documentation for the sample function, in the “Lang” tab of the documentation browser:

pitch_stretch:
Stretch (or shrink) the sample to last for exactly the specified number of beats. This attempts to keep the pitch constant using the pitch: opt. Note, it’s very likely you’ll need to experiment with the window_size:, pitch_dis: and time_dis: opts depending on the sample and the amount you’d like to stretch/shrink from original size.

Here’s a quick example:

live_loop :test do
  sample :guit_e_fifths, pitch_stretch: 3, pitch: ring(0, 2, -3).tick
  sleep 2
end

Hi, I’ve been meaning to update this with results, including discovery of beat_stretch and others, but no I’d missed this! Many Thanks :+1:

1 Like