This file is indexed.

/usr/share/audacity/plug-ins/rissetdrum.ny is in audacity-data 2.0.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
;nyquist plug-in

;version 3

;type generate

;categories "http://lv2plug.in/ns/lv2core#GeneratorPlugin"

;name "Risset Drum..."

;action "Generating Risset Drum..."

;info "Risset Drum generator by Steven Jones, after Jean Claude Risset\nReleased under terms of the GNU General Public License version 2\nProduces a realistic drum sound consisting of three components;\na sine wave ring-modulated by narrow band noise, an enharmonic\ntone, and a relatively strong sine wave at the fundamental"



;control frq "Frequency [Hz]" real "" 100 50 2000

;control decay "Decay [seconds]" real "" 2 0.125 10

;control cf "Center frequency of noise [Hz]" real "" 500 100 5000

;control bw "Width of noise band [Hz]" real "" 400 10 1000

;control noise "Amount of noise in mix [percent]" real "" 50 0 100



(if (not (boundp '*rdrum-wtabsize*))

    (progn

      (setq *rdrum-wtabsize*  2048)

      (setq *rdrum-wtab* 

     (list (sum

          (scale 1.00 (build-harmonic 10 *rdrum-wtabsize*))

          (scale 1.50 (build-harmonic 16 *rdrum-wtabsize*))

          (scale 2.00 (build-harmonic 22 *rdrum-wtabsize*))

          (scale 1.50 (build-harmonic 23 *rdrum-wtabsize*)))

             (hz-to-step 1) t))))





(defun log2 (n)

  (/ (log (float n))(log 2.0)))





(defun percussion (decay)

  (let* ((half-life (expt 2.0 (- (log2 decay) 3))))

    (exp-dec 0 half-life decay)))





(defun pink (dur cutoff)

  (lowpass6 (noise dur) cutoff))

  



(defun risset-drum (frq decay cf bw noise)

  (let* ((decay2 (* decay 0.50))

      (pitch1 (hz-to-step frq))

      (pitch2 (hz-to-step (* frq 0.10)))

      (noise-mix  (float (min (max (/ noise 100) 0) 1)))

      (tone-mix   (- 1 noise-mix)))

    (sum (mult 

       (sum (scale noise-mix 

               (mult (sine (hz-to-step cf) decay2)

                     (pink decay2 bw)))

            (scale (* tone-mix 0.17)

                      (osc pitch2 decay2 *rdrum-wtab*)))

       (percussion decay2))

      (mult (scale tone-mix (sine pitch1 decay))

               (percussion decay)))))

      



;; Generate signal and normalize.

;; ISSUE: Is there any way to normalize signal without 

;; generating it twice?

;;

(setf peakval (peak (risset-drum frq decay cf bw (/ noise 100))

ny:all))

(scale (/ 0.8 peakval)(risset-drum frq decay cf bw (/ noise 100)))