Generate > Chirp > ADD # of Reverse Repeats

For the Generate > Chirp, would be nice to have an option to cycle the defined parameters back and forth.
If defined a 1 minute chirp, and entered 20 for # of Reverse Repeats, one would get a 20 minute chirp with x10, 2 minute chirp cycles.
As is, one has to copy chirp, effect >reverse, end, paste, effect >repair, and repeat…
And get so so results with the repair.
Please let me know if an easier way.
Thanks
Also,
On the Links to Feature Request pages in the Wiki
The Wiki Feature Requests link
http://audacityteam.org/wiki/index.php?title=Feature_Requests
is now a page not found.
Now = https://wiki.audacityteam.org/wiki/Feature_Requests
Nothing related on Wiki Feature Requests
Nothing related on Wiki Pending Feature Requests.

It is not practical for Audacity to provide an infinite variety of generators, but it does provide a scripting language (called “Nyquist”) which allows users to create their own generators.

More about Nyquist here: Nyquist - Audacity Manual

Here’s an example script to create a repeating “chirp” that can be run in the Nyquist Prompt effect:

;type generator
;version 4

(setf high-hz 440)
(setf low-hz 220)
(setf duration 20)  ; total seconds
(setf repeats 4)
(setf amp0 0.8)   ;start of cycle amplitude
(setf amp1 0.1)   ;end of cycle amplitude

(setf cycle-dur (/ (float duration) repeats))
(setf hz-diff (- high-hz low-hz))

;; Create breakpoint list for FM modulation.
(setf breakpoints ())
(let ((tn cycle-dur)
      (mod-hz 0))
  (dotimes (i repeats)
    (push mod-hz breakpoints)
    (push tn breakpoints)
    (setf tn (+ tn cycle-dur))
    (if (= mod-hz 0)
        (setf mod-hz hz-diff)
        (setf mod-hz 0)))
  (push mod-hz breakpoints))
(setf mod-breakpoints (reverse breakpoints))

;; Create breakpoint list for volume envelope
(setf breakpoints ())
(let ((tn cycle-dur)
      (amp amp0))
  (dotimes (i repeats)
    (push amp breakpoints)
    (push tn breakpoints)
    (setf tn (+ tn cycle-dur))
    (if (= amp amp0)
        (setf amp amp1)
        (setf amp amp0)))
  (push amp breakpoints))
(setf env-breakpoints (reverse breakpoints))

(mult (pwlv-list env-breakpoints)
      (fmosc (hz-to-step low-hz) (pwlv-list mod-breakpoints)))

These lines near the top of the script allow you to customize the Chirp characteristics:

(setf high-hz 440)
(setf low-hz 220)
(setf duration 20)  ; total seconds
(setf repeats 4)
(setf amp0 0.8)   ;start of cycle amplitude
(setf amp1 0.1)   ;end of cycle amplitude

Thank you for the links and example scripts.
Will check it out.

dbkhdbkh wrote:

Thank you for the links and example scripts.
Will check it out.
…Awesome ! ! THANKS