How to create a click train file?

I am using Windows Audacity 3.0.2

I would like to create a stereo track that is 1 second long consisting of a 95 Hz click train. I would like the individual clicks to consist of a 1000 Hz tone that lasts for 50 ms (10 ms rise and 40 ms fall time).
I can generate a tone, but don’t know how to specify the rise & fall time.
Once I generate the single click/tone, how do I get it to repeat 95 times per second? The “repeat” function under the Effect menu just loops the file, but doesn’t constrain it to 1 second in length. I want to create a file that inserts the clicks/tones evenly throughout the 1 second interval to create a 95 Hz click/tone train.
Any suggestions would be truly appreciated!
(In case you’re curious why I want to do this, the file will be used as a stimulus for an auditory entrainment EEG paradigm in a psychology experiment)

Do you mean that you want the “clicks” to occur 95 times per second?
That would mean that the start of each click would occur each 1/95 seconds = 10.53 ms. (approx)

So each “click” overlaps its neighbour by 39.47 ms?

This code can be run in the Nyquist Prompt effect (

Note that each “note” is 5 ms long (1ms rise, 4ms fall) so that they don’t overlap at 95 Hz.

;type generate

(setf duration 1.0)
(setf rise-time 0.001)  ; 1ms
(setf fall-time 0.004)  ; 4ms
(setf hz 1000)
(setf train-hz 95)
(setf level 0.8)  ; peak level of each 'note'.

(defun env-note(hz rise fall gain)
  ;;; Returns one 'note'.
  (mult gain
        (hzosc hz)
        (pwlvr 0 rise 1 fall)))

(let ((out (s-rest duration))
      (p (/ (float train-hz)))  ; repeat period
      (note (env-note hz rise-time fall-time level))
      (tn (- duration (+ rise-time fall-time))))  ; final start time
  (do ((t0 0 (+ t0 p)))
      ((> t0 tn) out)
    (setf out (sim out
                   (at t0 (cue note))))))

Thank you so much - this code worked great!