Repeat every X Seconds Y Times?

Hi, everyone!

I am looking for a plugin, or ways to make one where you take an audio track, split the track into (this is just an example) 2-second intervals, then repeat those intervals 8 times each. I apologize how this next part will look on the forum, but the following textual example proves what I’m aiming to do with Nyquist.

From…

Hello Audacity

…into…

HeHeHeHeHeHeHeHellllllllllllllllo o o o o o o o AuAuAuAuAuAuAuAudadadadadadadadacicicicicicicicitytytytytytytyty

If there is already a post please point me there. Thanks!

There are are granulator/granulizer plug-ins which will do something similar,
but the intervals are usually less than a second.

https://freesound.org/search/?q=granular+stretched

PaulStretch in Audacity will also stretch sound, as long as you like,
without changing pitch, but with lots of temporal blur.

Try running this code in the Nyquist Prompt effect (https://manual.audacityteam.org/man/nyquist_prompt.html).
The effect will be quite slow, and probably use a lot of RAM, so avoid running it on long selections.

;type process
;control dur "Interval duration" float "seconds" 0.2 0.1 5
;control rep "Repeats" int "" 3 1 10

(setf step (truncate (* dur *sound-srate*)))
(setf segments (truncate (/ len step)))

(defun repeat (sig)
  (let ((out (s-rest 0))
        (time 0))
    (dotimes (i segments out)
      (setf ar (snd-fetch-array sig step step))
      (dotimes (j rep)
        (setf out
          (sim out
            (at-abs time
              (cue (snd-from-array 0 *sound-srate* ar)))))
        (setf time (+ time dur))))))

(multichan-expand #'repeat *track*)