1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-04 06:29:07 +02:00

Rewrites of all the .ny files for internationalization

This commit is contained in:
Paul Licameli 2018-03-02 15:27:35 -05:00
commit 36ab6c7334
27 changed files with 452 additions and 385 deletions

View File

@ -2,20 +2,23 @@
;version 1 ;version 1
;type analyze ;type analyze
;categories "http://lv2plug.in/ns/lv2core#AnalyserPlugin" ;categories "http://lv2plug.in/ns/lv2core#AnalyserPlugin"
;name "Silence Finder..." $name (_"Silence Finder")
;manpage "Silence_Finder" ;manpage "Silence_Finder"
;action "Finding silence..." $action (_"Finding silence...")
;info "Adds point labels in areas of silence according to the specified\nlevel and duration of silence. If too many silences are detected,\nincrease the silence level and duration; if too few are detected,\nreduce the level and duration." $info (_"Adds point labels in areas of silence according to the specified
;author "Alex S. Brown" level and duration of silence. If too many silences are detected,
;copyright "Released under terms of the GNU General Public License version 2" increase the silence level and duration; if too few are detected,
reduce the level and duration.")
$author (_"Alex S. Brown")
$copyright (_"Released under terms of the GNU General Public License version 2")
;; by Alex S. Brown, PMP (http://www.alexsbrown.com) ;; by Alex S. Brown, PMP (http://www.alexsbrown.com)
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
;control sil-lev "Treat audio below this level as silence [ -dB]" real "" 26 0 100 $control sil-lev (_"Treat audio below this level as silence [ -dB]") real "" 26 0 100
;control sil-dur "Minimum duration of silence [seconds]" real "" 1.0 0.1 5.0 $control sil-dur (_"Minimum duration of silence [seconds]") real "" 1.0 0.1 5.0
;control labelbeforedur "Label placement [seconds before silence ends]" real "" 0.3 0.0 1.0 $control labelbeforedur (_"Label placement [seconds before silence ends]") real "" 0.3 0.0 1.0
;Create a function to make the sum the two channels if they are stereo ;Create a function to make the sum the two channels if they are stereo
(defun mono-s (s-in) (if (arrayp s-in) (snd-add (aref s-in 0) (aref s-in 1)) (defun mono-s (s-in) (if (arrayp s-in) (snd-add (aref s-in 0) (aref s-in 1))
@ -88,6 +91,7 @@ s-in))
(if (and (> v thres) (> sil-c sil-length)) (if (and (> v thres) (> sil-c sil-length))
;Mark the user-set number of seconds BEFORE this point to avoid clipping the start ;Mark the user-set number of seconds BEFORE this point to avoid clipping the start
;of the material. ;of the material.
; Should "S" be translated or become a control value?
(add-label (- (/ n s1-srate) labelbeforedur) "S") (add-label (- (/ n s1-srate) labelbeforedur) "S")
) )
;If this sample is NOT silent, then reset the silence counter ;If this sample is NOT silent, then reset the silence counter
@ -110,6 +114,6 @@ s-in))
;If no silence markers were found, return a message ;If no silence markers were found, return a message
(if (null l) (if (null l)
(setq l "No silences found. Try reducing the silence\nlevel and minimum silence duration.") (setq l (format nil (_"No silences found. Try reducing the silence~%level and minimum silence duration.")))
) )
l l

View File

@ -2,23 +2,26 @@
;version 1 ;version 1
;type analyze ;type analyze
;categories "http://lv2plug.in/ns/lv2core#AnalyserPlugin" ;categories "http://lv2plug.in/ns/lv2core#AnalyserPlugin"
;name "Sound Finder..." $name (_"Sound Finder")
;manpage "Sound_Finder" ;manpage "Sound_Finder"
;action "Finding sound..." $action (_"Finding sound...")
;info "Adds region labels for areas of sound according to the specified level\nand duration of surrounding silence. If too many labels are produced,\nincrease the silence level and duration; if too few are produced,\nreduce the level and duration." $info (_"Adds region labels for areas of sound according to the specified level
;author "Jeremy R. Brown" and duration of surrounding silence. If too many labels are produced,
;copyright "Released under terms of the GNU General Public License version 2" increase the silence level and duration; if too few are produced,
reduce the level and duration.")
$author (_"Jeremy R. Brown")
$copyright (_"Released under terms of the GNU General Public License version 2")
;; by Jeremy R. Brown (http://www.jeremy-brown.com/) ;; by Jeremy R. Brown (http://www.jeremy-brown.com/)
;; based on the Silence Finder script by Alex S. Brown (http://www.alexsbrown.com) ;; based on the Silence Finder script by Alex S. Brown (http://www.alexsbrown.com)
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
;control sil-lev "Treat audio below this level as silence [ -dB]" real "" 26 0 100 $control sil-lev (_"Treat audio below this level as silence [ -dB]") real "" 26 0 100
;control sil-dur "Minimum duration of silence between sounds [seconds]" real "" 1.0 0.1 5.0 $control sil-dur (_"Minimum duration of silence between sounds [seconds]") real "" 1.0 0.1 5.0
;control labelbeforedur "Label starting point [seconds before sound starts]" real "" 0.1 0.0 1.0 $control labelbeforedur (_"Label starting point [seconds before sound starts]") real "" 0.1 0.0 1.0
;control labelafterdur "Label ending point [seconds after sound ends]" real "" 0.1 0.0 1.0 $control labelafterdur (_"Label ending point [seconds after sound ends]") real "" 0.1 0.0 1.0
;control finallabel "Add a label at the end of the track? [No=0, Yes=1]" int "" 0 0 1 $control finallabel (_"Add a label at the end of the track? [No=0, Yes=1]") int "" 0 0 1
;30Dec09: couple of changes made to default control values by Gale Andrews ;30Dec09: couple of changes made to default control values by Gale Andrews
@ -149,7 +152,7 @@ s-in))
;If no sound markers were found, return a message ;If no sound markers were found, return a message
;Otherwise, if some sounds were found, also optionally place a label at the end of the file. ;Otherwise, if some sounds were found, also optionally place a label at the end of the file.
(if (null l) (if (null l)
(setq l "No sounds found. Try reducing the silence\nlevel and minimum silence duration.") (setq l (format nil (_"No sounds found. Try reducing the silence~%level and minimum silence duration.")))
(if (= finallabel 1) (add-label (/ s1-length s1-srate) (/ s1-length s1-srate) "[End]")) (if (= finallabel 1) (add-label (/ s1-length s1-srate) (/ s1-length s1-srate) (_"[End]")))
) )
l l

View File

@ -1,11 +1,11 @@
;nyquist plug-in ;nyquist plug-in
;version 4 ;version 4
;type process spectral ;type process spectral
;name "Spectral edit multi tool" $name (_"Spectral edit multi tool")
;manpage "Spectral_edit_multi_tool" ;manpage "Spectral_edit_multi_tool"
;action "Filtering..." $action (_"Filtering...")
;author "Paul Licameli" $author (_"Paul Licameli")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; SpectralEditMulti.ny by Paul Licameli, November 2014. ;; SpectralEditMulti.ny by Paul Licameli, November 2014.
;; Updated by Steve Daulton 2014 / 2015. ;; Updated by Steve Daulton 2014 / 2015.
@ -33,20 +33,21 @@
(env (snd-pwl 0.0 rate breakpoints))) (env (snd-pwl 0.0 rate breakpoints)))
(cond (cond
((not (or f0 f1)) ; This should never happen for a 'spectral' effect. ((not (or f0 f1)) ; This should never happen for a 'spectral' effect.
(throw 'error-message "Please select frequencies.")) (throw 'error-message
(format nil (_"~aPlease select frequencies.") p-err)))
((and f0 f1 (= f0 f1)) ((and f0 f1 (= f0 f1))
(throw 'error-message (throw 'error-message
(format nil "~aBandwidth is zero (the upper and lower~%~ (format nil (_"~aBandwidth is zero (the upper and lower~%~
frequencies are both ~a Hz).~%~ frequencies are both ~a Hz).~%~
Please select a frequency range." Please select a frequency range.")
p-err f0))) p-err f0)))
;; Biqud filter fails if centre frequency is very low and bandwidth very high. ;; Biqud filter fails if centre frequency is very low and bandwidth very high.
;; 'Magic numbers' 10 Hz and 10 octaves are experimental. ;; 'Magic numbers' 10 Hz and 10 octaves are experimental.
((and f0 (< f0 10) (or (not bw)(> bw 10))) ((and f0 (< f0 10) (or (not bw)(> bw 10)))
(throw 'error-message (throw 'error-message
(format nil "~aNotch filter parameters cannot be applied.~%~ (format nil (_"~aNotch filter parameters cannot be applied.~%~
Try increasing the low frequency bound~%~ Try increasing the low frequency bound~%~
or reduce the filter 'Width'." or reduce the filter 'Width'.")
p-err))) p-err)))
;; low pass frequency is above Nyquist so do nothing ;; low pass frequency is above Nyquist so do nothing
((and (not f1) (>= f0 (/ *sound-srate* 2.0))) ((and (not f1) (>= f0 (/ *sound-srate* 2.0)))
@ -61,5 +62,5 @@
(prod (diff 1.0 env) sig)))))) (prod (diff 1.0 env) sig))))))
(catch 'error-message (catch 'error-message
(setf p-err "Error.\n") (setf p-err (format nil (_"Error.~%")))
(multichan-expand #'result *track*)) (multichan-expand #'result *track*))

View File

@ -2,18 +2,18 @@
;version 4 ;version 4
;type process spectral ;type process spectral
;preview linear ;preview linear
;name "Spectral edit parametric EQ..." $name (_"Spectral edit parametric EQ")
;manpage "Spectral_edit_parametric_EQ" ;manpage "Spectral_edit_parametric_EQ"
;action "Filtering..." $action (_"Filtering...")
;author "Paul Licameli" $author (_"Paul Licameli")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; SpectralEditParametricEQ.ny by Paul Licameli, November 2014. ;; SpectralEditParametricEQ.ny by Paul Licameli, November 2014.
;; Updated by Steve Daulton 2014 / 2015. ;; Updated by Steve Daulton 2014 / 2015.
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
;control control-gain "Gain (dB)" real "" 0 -24 24 $control control-gain (_"Gain (dB)") real "" 0 -24 24
(defun wet (sig gain fc bw) (defun wet (sig gain fc bw)
(eq-band sig fc gain (/ bw 2))) (eq-band sig fc gain (/ bw 2)))
@ -33,24 +33,24 @@
(env (snd-pwl 0.0 rate breakpoints))) (env (snd-pwl 0.0 rate breakpoints)))
(cond (cond
((not (or f0 f1)) ; This should never happen for a 'spectral' effect. ((not (or f0 f1)) ; This should never happen for a 'spectral' effect.
(throw 'error-message (format nil "~aPlease select frequencies." p-err))) (throw 'error-message (format nil (_"~aPlease select frequencies.") p-err)))
((not f0) ((not f0)
(throw 'error-message (format nil "~aLow frequency is undefined." p-err))) (throw 'error-message (format nil (_"~aLow frequency is undefined.") p-err)))
((not f1) ((not f1)
(throw 'error-message (format nil "~aHigh frequency is undefined." p-err))) (throw 'error-message (format nil (_"~aHigh frequency is undefined.") p-err)))
((and fc (= fc 0)) ((and fc (= fc 0))
(throw 'error-message (format nil "~aCenter frequency must be above 0 Hz." p-err))) (throw 'error-message (format nil (_"~aCenter frequency must be above 0 Hz.") p-err)))
((and f1 (> f1 (/ *sound-srate* 2))) ((and f1 (> f1 (/ *sound-srate* 2)))
(throw 'error-message (throw 'error-message
(format nil "~aFrequency selection is too high for track sample rate. (format nil (_"~aFrequency selection is too high for track sample rate.~%~
For the current track, the high frequency setting cannot~%~ For the current track, the high frequency setting cannot~%~
be greater than ~a Hz" be greater than ~a Hz")
p-err (/ *sound-srate* 2)))) p-err (/ *sound-srate* 2))))
((and bw (= bw 0)) ((and bw (= bw 0))
(throw 'error-message (throw 'error-message
(format nil "~aBandwidth is zero (the upper and lower~%~ (format nil (_"~aBandwidth is zero (the upper and lower~%~
frequencies are both ~a Hz).~%~ frequencies are both ~a Hz).~%~
Please select a frequency range." Please select a frequency range.")
p-err f0))) p-err f0)))
;; If centre frequency band is above Nyquist, do nothing. ;; If centre frequency band is above Nyquist, do nothing.
((and fc (>= fc (/ *sound-srate* 2.0))) ((and fc (>= fc (/ *sound-srate* 2.0)))
@ -59,7 +59,7 @@
(prod (diff 1.0 env) sig)))))) (prod (diff 1.0 env) sig))))))
(catch 'error-message (catch 'error-message
(setf p-err "Error.\n") (setf p-err (format nil (_"Error.~%")))
(if (= control-gain 0) (if (= control-gain 0)
nil ; Do nothing nil ; Do nothing
(multichan-expand #'result *track*))) (multichan-expand #'result *track*)))

View File

@ -2,11 +2,11 @@
;version 4 ;version 4
;type process spectral ;type process spectral
;preview linear ;preview linear
;name "Spectral edit shelves..." $name (_"Spectral edit shelves")
;manpage "Spectral_edit_shelves" ;manpage "Spectral_edit_shelves"
;action "Filtering..." $action (_"Filtering...")
;author "Paul Licameli" $author (_"Paul Licameli")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; SpectralEditShelves.ny by Paul Licameli, November 2014. ;; SpectralEditShelves.ny by Paul Licameli, November 2014.
@ -14,7 +14,7 @@
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
;control control-gain "Gain (dB)" real "" 0 -24 24 $control control-gain (_"Gain (dB)") real "" 0 -24 24
(defmacro validate (hz) (defmacro validate (hz)
"If frequency is above Nyquist, don't use it" "If frequency is above Nyquist, don't use it"
@ -49,15 +49,15 @@
(env (snd-pwl 0.0 rate breakpoints))) (env (snd-pwl 0.0 rate breakpoints)))
(cond (cond
((not (or f0 f1)) ; This should never happen for a 'spectral' effect. ((not (or f0 f1)) ; This should never happen for a 'spectral' effect.
(throw 'error-message (format nil "~aPlease select frequencies." p-err))) (throw 'error-message (format nil (_"~aPlease select frequencies.") p-err)))
((and f0 (>= f0 (/ *sound-srate* 2.0))) ((and f0 (>= f0 (/ *sound-srate* 2.0)))
; Shelf is above Nyquist frequency so do nothing. ; Shelf is above Nyquist frequency so do nothing.
nil) nil)
((and f0 f1 (= f0 f1)) ((and f0 f1 (= f0 f1))
(throw 'error-message (throw 'error-message
(format nil "~aBandwidth is zero (the upper and lower~%~ (format nil (_"~aBandwidth is zero (the upper and lower~%~
frequencies are both ~a Hz).~%~ frequencies are both ~a Hz).~%~
Please select a frequency range." Please select a frequency range.")
p-err f0))) p-err f0)))
(T (if f0 (validate f0)) (T (if f0 (validate f0))
(if f1 (validate f1)) (if f1 (validate f1))
@ -67,7 +67,7 @@
(prod (diff 1.0 env) sig))))))) (prod (diff 1.0 env) sig)))))))
(catch 'error-message (catch 'error-message
(setf p-err "Error.\n") (setf p-err (format nil (_"Error.~%")))
(if (= control-gain 0) (if (= control-gain 0)
nil ; Do nothing nil ; Do nothing
(multichan-expand #'result *track*))) (multichan-expand #'result *track*)))

View File

@ -2,11 +2,11 @@
;version 1 ;version 1
;type process ;type process
;categories "http://lv2plug.in/ns/lv2core#MixerPlugin" ;categories "http://lv2plug.in/ns/lv2core#MixerPlugin"
;name "Studio Fade Out" $name (_"Studio Fade Out")
;manpage "Fades#studio_fadeout" ;manpage "Fades#studio_fadeout"
;action "Applying Fade..." $action (_"Applying Fade...")
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; StudioFadeOut.ny by Steve Daulton December 2012. ;; StudioFadeOut.ny by Steve Daulton December 2012.
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
@ -39,7 +39,7 @@
(let ((dur (get-duration 1))) (let ((dur (get-duration 1)))
(cond (cond
((< len 3) "Selection too short.\nIt must be more than 2 samples.") ((< len 3) (format nil (_"Selection too short.~%It must be more than 2 samples.")))
((< dur 0.2) (mult s (r-cos dur))) ((< dur 0.2) (mult s (r-cos dur)))
(t (mult (filter s dur)(r-cos dur))))) (t (mult (filter s dur)(r-cos dur)))))

View File

@ -4,12 +4,12 @@
;preview linear ;preview linear
;preview selection ;preview selection
;categories "http://lv2plug.in/ns/lv2core#MixerPlugin" ;categories "http://lv2plug.in/ns/lv2core#MixerPlugin"
;name "Adjustable Fade..." $name (_"Adjustable Fade")
;manpage "Adjustable_Fade" ;manpage "Adjustable_Fade"
;debugbutton false ;debugbutton false
;action "Applying Fade..." $action (_"Applying Fade...")
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; adjustable-fade.ny by Steve Daulton Dec 2012 ;; adjustable-fade.ny by Steve Daulton Dec 2012
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
@ -18,12 +18,21 @@
;; For information about writing and modifying Nyquist plug-ins: ;; For information about writing and modifying Nyquist plug-ins:
;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference ;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference
;control type "Fade Type" choice "Fade Up,Fade Down,S-Curve Up,S-Curve Down" 0 $control type (_"Fade Type") choice ((_"Fade Up") (_"Fade Down") (_"S-Curve Up") (_"S-Curve Down")) 0
;control curve "Mid-fade Adjust (%)" real "" 0 -100 100 $control curve (_"Mid-fade Adjust (%)") real "" 0 -100 100
;control units "Start/End as" choice "% of Original,dB Gain" 0 $control units (_"Start/End as") choice ((_"% of Original") (_"dB Gain")) 0
;control gain0 "Start (or end)" float-text "" 0 nil nil $control gain0 (_"Start (or end)") float-text "" 0 nil nil
;control gain1 "End (or start)" float-text "" 100 nil nil $control gain1 (_"End (or start)") float-text "" 100 nil nil
;control preset " Handy Presets\n(override controls)" choice "None Selected,Linear In,Linear Out,Exponential In,Exponential Out,Logarithmic In,Logarithmic Out,Rounded In,Rounded Out,Cosine In,Cosine Out,S-Curve In,S-Curve Out" 0 $control preset (_" Handy Presets
(override controls)") choice (
(_"None Selected")
(_"Linear In") (_"Linear Out")
(_"Exponential In") (_"Exponential Out")
(_"Logarithmic In") (_"Logarithmic Out")
(_"Rounded In") (_"Rounded Out")
(_"Cosine In") (_"Cosine Out")
(_"S-Curve In") (_"S-Curve Out")
) 0
(defun get-input (sig) (defun get-input (sig)
@ -45,14 +54,14 @@ selection length, but preview only needs to process preview length."
(if (= units 0) ;percentage values (if (= units 0) ;percentage values
(cond (cond
((or (< x 0)(< y 0)) ((or (< x 0)(< y 0))
(throw 'err (format nil "~aPercentage values cannot be negative." err))) (throw 'err (format nil (_"~aPercentage values cannot be negative.") err)))
((or (> x 1000)(> y 1000)) ((or (> x 1000)(> y 1000))
(throw 'err (format nil "~aPercentage values cannot be more than 1000 %." err)))) (throw 'err (format nil (_"~aPercentage values cannot be more than 1000 %.") err))))
(cond ;dB values (cond ;dB values
((or (> x 100)(> y 100)) ((or (> x 100)(> y 100))
(throw 'err (format nil "~adB values cannot be more than +100 dB.~%~%~ (throw 'err (format nil (_"~adB values cannot be more than +100 dB.~%~%~
Hint: 6 dB doubles the amplitude~%~ Hint: 6 dB doubles the amplitude~%~
\t-6 dB halves the amplitude." err)))))) \t-6 dB halves the amplitude." err)))))))
;;; select and apply fade ;;; select and apply fade
(defun fade (sig type curve g0 g1) (defun fade (sig type curve g0 g1)
@ -184,7 +193,7 @@ selection length, but preview only needs to process preview length."
(setf curve (/ curve 100.0)) (setf curve (/ curve 100.0))
(setf gain0 (gainscale gain0 units)) (setf gain0 (gainscale gain0 units))
(setf gain1 (gainscale gain1 units)) (setf gain1 (gainscale gain1 units))
(setf err "Error\n\n") (setf err (format nil (_"Error~%~%")))
(catch 'err (fade *track* type curve gain0 gain1)) (catch 'err (fade *track* type curve gain0 gain1))

View File

@ -2,22 +2,23 @@
;version 1 ;version 1
;type analyze ;type analyze
;categories "https://audacityteam.org/namespace#OnsetDetector" ;categories "https://audacityteam.org/namespace#OnsetDetector"
;name "Beat Finder..." $name (_"Beat Finder")
;manpage "Beat_Finder" ;manpage "Beat_Finder"
;action "Finding beats..." $action (_"Finding beats...")
;author "Audacity" $author (_"Audacity")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
;control thresval "Threshold Percentage" int "" 65 5 100 $control thresval (_"Threshold Percentage") int "" 65 5 100
(setf s1 (if (arrayp s) (snd-add (aref s 0) (aref s 1)) s)) (setf s1 (if (arrayp s) (snd-add (aref s 0) (aref s 1)) s))
(defun signal () (force-srate 1000 (lp (snd-follow (lp s1 50) 0.001 0.01 0.1 512) 10))) (defun signal () (force-srate 1000 (lp (snd-follow (lp s1 50) 0.001 0.01 0.1 512) 10)))
(setq max (peak (signal) NY:ALL)) (setq max (peak (signal) NY:ALL))
(setq thres (* (/ thresval 100.0) max)) (setq thres (* (/ thresval 100.0) max))
(setq s2 (signal)) (setq s2 (signal))
(do ((c 0.0) (l NIL) (p T) (v (snd-fetch s2))) ((not v) l) (do ((c 0.0) (l NIL) (p T) (v (snd-fetch s2))) ((not v) l)
; "B" seems too short to put into the i18n catalog. Make it a control?
(if (and p (> v thres)) (setq l (cons (list c "B") l))) (if (and p (> v thres)) (setq l (cons (list c "B") l)))
(setq p (< v thres)) (setq p (< v thres))
(setq c (+ c 0.001)) (setq c (+ c 0.001))

View File

@ -2,11 +2,11 @@
;version 4 ;version 4
;type process ;type process
;preview enabled ;preview enabled
;name "Clip Fix..." $name (_"Clip Fix")
;manpage "Clip_Fix" ;manpage "Clip_Fix"
;action "Reconstructing clips..." $action (_"Reconstructing clips...")
;author "Benjamin Schwartz and Steve Daulton" $author (_"Benjamin Schwartz and Steve Daulton")
;copyright "Licensing confirmed under terms of the GNU General Public License version 2" $copyright (_"Licensing confirmed under terms of the GNU General Public License version 2")
;; Algorithm by Benjamin Schwartz ;; Algorithm by Benjamin Schwartz
;; Clip Fix is a simple, stupid (but not blind) digital-clipping-corrector ;; Clip Fix is a simple, stupid (but not blind) digital-clipping-corrector
@ -16,8 +16,8 @@
;; 3. Do a cubic spline interpolation. ;; 3. Do a cubic spline interpolation.
;; 4. Go to next region ;; 4. Go to next region
;control threshold "Threshold of Clipping (%)" float "" 95 0 100 $control threshold (_"Threshold of Clipping (%)") float "" 95 0 100
;control gain "Reduce amplitude to allow for restored peaks (dB)" float "" -9 -30 0 $control gain (_"Reduce amplitude to allow for restored peaks (dB)") float "" -9 -30 0
(setf threshold (/ threshold 100)) (setf threshold (/ threshold 100))
(setf gain (db-to-linear gain)) (setf gain (db-to-linear gain))

View File

@ -3,11 +3,11 @@
;type process ;type process
;mergeclips 1 ;mergeclips 1
;restoresplits 0 ;restoresplits 0
;name "Crossfade Clips" $name (_"Crossfade Clips")
;manpage "Crossfade_Clips" ;manpage "Crossfade_Clips"
;action "Crossfading..." $action (_"Crossfading...")
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; crossfadeclips.ny by Steve Daulton Dec 2014. ;; crossfadeclips.ny by Steve Daulton Dec 2014.
@ -37,8 +37,8 @@
;; 2) The selection may not start or end in white-space. ;; 2) The selection may not start or end in white-space.
(setf err1 "Error.\nInvalid selection.\nMore than 2 audio clips selected.") (setf err1 (format nil (_"Error.~%Invalid selection.~%More than 2 audio clips selected.")))
(setf err2 "Error.\nInvalid selection.\nEmpty space at start/ end of the selection.") (setf err2 (format nil (_"Error.~%Invalid selection.~%Empty space at start/ end of the selection.")))
(defun find-ends (T0 T1 clips) (defun find-ends (T0 T1 clips)
@ -128,4 +128,4 @@
(get '*selection* 'start) (get '*selection* 'start)
(get '*selection* 'end) (get '*selection* 'end)
(get '*track* 'clips))) (get '*track* 'clips)))
"Error.\nCrossfade Clips may only be applied to one track.") (format nil (_"Error.~%Crossfade Clips may only be applied to one track.")))

View File

@ -1,21 +1,21 @@
;nyquist plug-in ;nyquist plug-in
;version 4 ;version 4
;type process ;type process
;name "Crossfade Tracks..." $name (_"Crossfade Tracks")
;manpage "Crossfade_Tracks" ;manpage "Crossfade_Tracks"
;debugbutton disabled ;debugbutton disabled
;action "Crossfading..." $action (_"Crossfading...")
;preview selection ;preview selection
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; crossfadetracks.ny by Steve Daulton Nov 2014 / Sep 2015 ;; crossfadetracks.ny by Steve Daulton Nov 2014 / Sep 2015
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html . ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html .
;control type "Fade type" choice "Constant Gain,Constant Power 1,Constant Power 2,Custom Curve" 0 $control type (_"Fade type") choice ((_"Constant Gain") (_"Constant Power 1") (_"Constant Power 2") (_"Custom Curve")) 0
;control curve "Custom curve" real "" 0 0 1 $control curve (_"Custom curve") real "" 0 0 1
;control direction "Fade direction" choice "Automatic,Alternating Out / In,Alternating In / Out" 0 $control direction (_"Fade direction") choice ((_"Automatic") (_"Alternating Out / In") (_"Alternating In / Out")) 0
(defun crossfade (type dir curve) (defun crossfade (type dir curve)
@ -72,5 +72,5 @@ audio clip, fade in, otherwise fade out."
(if (< in-dist out-dist) 'in 'out))) (if (< in-dist out-dist) 'in 'out)))
(if (< (length (get '*selection* 'tracks)) 2) (if (< (length (get '*selection* 'tracks)) 2)
"Error.\nSelect 2 (or more) tracks to crossfade." (format nil (_"Error.~%Select 2 (or more) tracks to crossfade."))
(crossfade type direction curve)) (crossfade type direction curve))

View File

@ -3,11 +3,11 @@
;type process ;type process
;preview linear ;preview linear
;categories "http://lv2plug.in/ns/lv2core#DelayPlugin" ;categories "http://lv2plug.in/ns/lv2core#DelayPlugin"
;name "Delay..." $name (_"Delay")
;manpage "Delay" ;manpage "Delay"
;action "Applying Delay Effect..." $action (_"Applying Delay Effect...")
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; by Steve Daulton, July 2012. ;; by Steve Daulton, July 2012.
;; based on 'Delay' by David R. Sky ;; based on 'Delay' by David R. Sky
@ -17,13 +17,13 @@
;; For information about writing and modifying Nyquist plug-ins: ;; For information about writing and modifying Nyquist plug-ins:
;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference ;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference
;control delay-type "Delay type" choice "regular,bouncing ball,reverse bouncing ball" 0 $control delay-type (_"Delay type") choice ((_"regular") (_"bouncing ball") (_"reverse bouncing ball")) 0
;control dgain "Delay level per echo (dB)" real "" -6 -30 1 $control dgain (_"Delay level per echo (dB)") real "" -6 -30 1
;control delay "Delay time (seconds)" real "" 0.3 0 5 $control delay (_"Delay time (seconds)") real "" 0.3 0 5
;control pitch-type "Pitch change effect" choice "Pitch/Tempo,LQ Pitch Shift" 0 $control pitch-type (_"Pitch change effect") choice ((_"Pitch/Tempo") (_"LQ Pitch Shift")) 0
;control shift "Pitch change per echo (semitones)" real "" 0 -2 2 $control shift (_"Pitch change per echo (semitones)") real "" 0 -2 2
;control number "Number of echoes" int "" 5 1 30 $control number (_"Number of echoes") int "" 5 1 30
;control constrain "Allow duration to change" choice "Yes,No" 0 $control constrain (_"Allow duration to change") choice ((_"Yes") (_"No")) 0
;; The default pitch shift effect is a simple resampling, ;; The default pitch shift effect is a simple resampling,
@ -42,19 +42,19 @@
T nil)) T nil))
(when (err-chk number 1 50)(setq err (format nil (when (err-chk number 1 50)(setq err (format nil
"Number of echoes '~a' outside valid range 1 to 50.~%~a" (_"Number of echoes '~a' outside valid range 1 to 50.~%~a")
number err))) number err)))
(when (err-chk shift -12 12)(setq err (format nil (when (err-chk shift -12 12)(setq err (format nil
"Pitch change '~a' outside valid range -12 to +12 semitones.~%~a" (_"Pitch change '~a' outside valid range -12 to +12 semitones.~%~a")
shift err))) shift err)))
(when (err-chk delay 0 10)(setq err (format nil (when (err-chk delay 0 10)(setq err (format nil
"Delay time '~a' outside valid range 0 to 10 seconds.~%~a" (_"Delay time '~a' outside valid range 0 to 10 seconds.~%~a")
delay err))) delay err)))
(when (err-chk dgain -30 6)(setq err (format nil (when (err-chk dgain -30 6)(setq err (format nil
"Delay level '~a' outside valid range -30 to +6 dB.~%~a" (_"Delay level '~a' outside valid range -30 to +6 dB.~%~a")
dgain err))) dgain err)))
@ -121,7 +121,7 @@
;;; return errors or process ;;; return errors or process
(if (> (length err) 0) (if (> (length err) 0)
(format nil "Error.~%~a" err) ; return error (format nil (_"Error.~%~a") err) ; return error
(let* ((delay (if (= delay-type 0) delay (/ delay number))) (let* ((delay (if (= delay-type 0) delay (/ delay number)))
(output (output
(multichan-expand #'delays (multichan-expand #'delays

View File

@ -1,11 +1,11 @@
;nyquist plug-in ;nyquist plug-in
;version 4 ;version 4
;type analyze ;type analyze
;name "Regular Interval Labels..." $name (_"Regular Interval Labels")
;manpage "Regular_Interval_Labels" ;manpage "Regular_Interval_Labels"
;action "Adding equally-spaced labels to the label track..." $action (_"Adding equally-spaced labels to the label track...")
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
@ -15,13 +15,17 @@
;; Alex S.Brown, Dominic Mazzoni, Pierre M.I., Gale Andrews, Steve Daulton. ;; Alex S.Brown, Dominic Mazzoni, Pierre M.I., Gale Andrews, Steve Daulton.
;; This version by Steve Daulton (http://easyspacepro.com) 2016 ;; This version by Steve Daulton (http://easyspacepro.com) 2016
;control mode "Use 'Number of labels' OR 'Label interval'" choice "Number of labels,Label interval" 0 $control mode (_"Use 'Number of labels' OR 'Label interval'") choice ((_"Number of labels") (_"Label interval")) 0
;control totalnum "Number of labels" int-text "" 10 1 1000 $control totalnum (_"Number of labels") int-text "" 10 1 1000
;control interval "Label interval (seconds)" float-text "" 60 0.001 3600 $control interval (_"Label interval (seconds)") float-text "" 60 0.001 3600
;control adjust "Adjust label interval to fit length" choice "No,Yes" 0 $control adjust (_"Adjust label interval to fit length") choice ((_"No") (_"Yes")) 0
;control labeltext "Label text" string "" "Label" "" $control labeltext (_"Label text") string "" (_"Label")
;control zeros "Minimum number of digits in label" choice "None - text only,1 (before label),2 (before label),3 (before label),1 (after label),2 (after label),3 (after label)" 2 $control zeros (_"Minimum number of digits in label") choice (
;control firstnum "Begin numbering from" int-text "" 1 0 nil (_"None - text only")
(_"1 (before label)") (_"2 (before label)") (_"3 (before label)")
(_"1 (after label)") (_"2 (after label)") (_"3 (after label)")
) 2
$control firstnum (_"Begin numbering from") int-text "" 1 0 nil
(defun make-labels () (defun make-labels ()
@ -45,12 +49,12 @@
"Throw error if excessive number of labels ('Interval' mode only)" "Throw error if excessive number of labels ('Interval' mode only)"
(when (> totalnum 1000) (when (> totalnum 1000)
(throw 'err (throw 'err
(format nil "Too many labels.~%~%~ (format nil ("Too many labels.~%~%~
Selection length is ~a seconds and~%~ Selection length is ~a seconds and~%~
Label interval is ~a seconds~%~ Label interval is ~a seconds~%~
giving a total of ~a labels.~%~ giving a total of ~a labels.~%~
Maximum number of labels from this effect is 1000.~%~ Maximum number of labels from this effect is 1000.~%~
Please use a shorter selection, or a longer Label interval." Please use a shorter selection, or a longer Label interval.")
(formatgg (get-duration 1)) (formatgg (get-duration 1))
(formatgg interval) (formatgg interval)
(if (= adjust 1) (if (= adjust 1)

View File

@ -2,12 +2,12 @@
;version 4 ;version 4
;type process ;type process
;preview linear ;preview linear
;name "High Pass Filter..." $name (_"High Pass Filter")
;manpage "High_Pass_Filter" ;manpage "High_Pass_Filter"
;debugbutton disabled ;debugbutton disabled
;action "Performing High Pass Filter..." $action (_"Performing High Pass Filter...")
;author "Dominic Mazzoni" $author (_"Dominic Mazzoni")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; highpass.ny by Dominic Mazzoni ;; highpass.ny by Dominic Mazzoni
;; Last updated August 2015 ;; Last updated August 2015
@ -15,16 +15,16 @@
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html . ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html .
;control frequency "Frequency (Hz)" float-text "" 1000 0 nil $control frequency (_"Frequency (Hz)") float-text "" 1000 0 nil
;control rolloff "Rolloff (dB per octave)" choice " 6 dB,12 dB,24 dB,36 dB,48 dB" 0 $control rolloff (_"Rolloff (dB per octave)") choice ((_"6 dB") (_"12 dB") (_"24 dB") (_"36 dB") (_"48 dB")) 0
(cond (cond
((< frequency 0.1) "Frequency must be at least 0.1 Hz.") ((< frequency 0.1) (_"Frequency must be at least 0.1 Hz."))
((>= frequency (/ *sound-srate* 2.0)) ((>= frequency (/ *sound-srate* 2.0))
(format nil "Error:~%~%Frequency (~a Hz) is too high for track sample rate.~%~%~ (format nil (_"Error:~%~%Frequency (~a Hz) is too high for track sample rate.~%~%~
Track sample rate is ~a Hz~%~ Track sample rate is ~a Hz~%~
Frequency must be less than ~a Hz." Frequency must be less than ~a Hz.")
frequency frequency
*sound-srate* *sound-srate*
(/ *sound-srate* 2.0))) (/ *sound-srate* 2.0)))

View File

@ -2,13 +2,13 @@
;version 4 ;version 4
;type process ;type process
;categories "http://lv2plug.in/ns/lv2core/#DynamicsPlugin" ;categories "http://lv2plug.in/ns/lv2core/#DynamicsPlugin"
;name "Limiter..." $name (_"Limiter")
;manpage "Limiter" ;manpage "Limiter"
;debugbutton false ;debugbutton false
;action "Limiting..." $action (_"Limiting...")
;preview enabled ;preview enabled
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; limiter.ny by Steve Daulton November 2011, updated May 2015. ;; limiter.ny by Steve Daulton November 2011, updated May 2015.
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
@ -17,12 +17,14 @@
;; For information about writing and modifying Nyquist plug-ins: ;; For information about writing and modifying Nyquist plug-ins:
;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference ;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference
;control type "Type" choice "Soft Limit,Hard Limit,Soft Clip,Hard Clip" 0 $control type (_"Type") choice ((_"Soft Limit") (_"Hard Limit") (_"Soft Clip") (_"Hard Clip")) 0
;control gain-L "Input Gain (dB)\nmono/Left" real "" 0 0 10 $control gain-L (_"Input Gain (dB)
;control gain-R "Input Gain (dB)\nRight channel" real "" 0 0 10 mono/Left") real "" 0 0 10
;control thresh "Limit to (dB)" real "" -3 -10 0 $control gain-R (_"Input Gain (dB)
;control hold "Hold (ms)" real "" 10 1 50 Right channel") real "" 0 0 10
;control makeup "Apply Make-up Gain" choice "No,Yes" 0 $control thresh (_"Limit to (dB)") real "" -3 -10 0
$control hold (_"Hold (ms)") real "" 10 1 50
$control makeup (_"Apply Make-up Gain") choice ((_"No") (_"Yes")) 0
(if (not (boundp 'type)) (if (not (boundp 'type))
(setf type 0)) (setf type 0))

View File

@ -2,12 +2,12 @@
;version 4 ;version 4
;type process ;type process
;preview linear ;preview linear
;name "Low Pass Filter..." $name (_"Low Pass Filter")
;manpage "Low_Pass_Filter" ;manpage "Low_Pass_Filter"
;debugbutton disabled ;debugbutton disabled
;action "Performing Low Pass Filter..." $action (_"Performing Low Pass Filter...")
;author "Dominic Mazzoni" $author (_"Dominic Mazzoni")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; lowpass.ny by Dominic Mazzoni ;; lowpass.ny by Dominic Mazzoni
;; Last updated August 2015 ;; Last updated August 2015
@ -15,16 +15,16 @@
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html . ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html .
;control frequency "Frequency (Hz)" float-text "" 1000 0 nil $control frequency (_"Frequency (Hz)") float-text "" 1000 0 nil
;control rolloff "Rolloff (dB per octave)" choice " 6 dB,12 dB,24 dB,36 dB,48 dB" 0 $control rolloff (_"Rolloff (dB per octave)") choice ((_"6 dB") (_"12 dB") (_"24 dB") (_"36 dB") (_"48 dB")) 0
(cond (cond
((< frequency 0.1) "Frequency must be at least 0.1 Hz.") ((< frequency 0.1) (_"Frequency must be at least 0.1 Hz."))
((>= frequency (/ *sound-srate* 2.0)) ((>= frequency (/ *sound-srate* 2.0))
(format nil "Error:~%~%Frequency (~a Hz) is too high for track sample rate.~%~%~ (format nil (_"Error:~%~%Frequency (~a Hz) is too high for track sample rate.~%~%~
Track sample rate is ~a Hz~%~ Track sample rate is ~a Hz~%~
Frequency must be less than ~a Hz." Frequency must be less than ~a Hz.")
frequency frequency
*sound-srate* *sound-srate*
(/ *sound-srate* 2.0))) (/ *sound-srate* 2.0)))

View File

@ -2,27 +2,27 @@
;version 4 ;version 4
;type process ;type process
;preview linear ;preview linear
;name "Notch Filter..." $name (_"Notch Filter")
;manpage "Notch_Filter" ;manpage "Notch_Filter"
;debugbutton false ;debugbutton false
;action "Applying Notch Filter..." $action (_"Applying Notch Filter...")
;author "Steve Daulton and Bill Wharrie" $author (_"Steve Daulton and Bill Wharrie")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; notch.ny by Steve Daulton and Bill Wharrie ;; notch.ny by Steve Daulton and Bill Wharrie
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html . ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html .
;control frequency "Frequency (Hz)" float-text "" 60 0 nil $control frequency (_"Frequency (Hz)") float-text "" 60 0 nil
;control q "Q (higher value reduces width)" float-text "" 1 0.1 1000 $control q (_"Q (higher value reduces width)") float-text "" 1 0.1 1000
(cond (cond
((< frequency 0.1) "Frequency must be at least 0.1 Hz.") ((< frequency 0.1) (_"Frequency must be at least 0.1 Hz."))
((>= frequency (/ *sound-srate* 2.0)) ((>= frequency (/ *sound-srate* 2.0))
(format nil "Error:~%~%Frequency (~a Hz) is too high for track sample rate.~%~%~ (format nil (_"Error:~%~%Frequency (~a Hz) is too high for track sample rate.~%~%~
Track sample rate is ~a Hz.~%~ Track sample rate is ~a Hz.~%~
Frequency must be less than ~a Hz." Frequency must be less than ~a Hz.")
frequency frequency
*sound-srate* *sound-srate*
(/ *sound-srate* 2.0))) (/ *sound-srate* 2.0)))

View File

@ -2,21 +2,21 @@
;version 4 ;version 4
;type generate ;type generate
;categories "http://lv2plug.in/ns/lv2core#GeneratorPlugin" ;categories "http://lv2plug.in/ns/lv2core#GeneratorPlugin"
;name "Pluck..." $name (_"Pluck")
;manpage "Pluck" ;manpage "Pluck"
;debugbutton false ;debugbutton false
;preview linear ;preview linear
;action "Generating pluck sound..." $action (_"Generating pluck sound...")
;info "MIDI values for C notes: 36, 48, 60 [middle C], 72, 84, 96." $info (_"MIDI values for C notes: 36, 48, 60 [middle C], 72, 84, 96.")
;author "David R.Sky" $author (_"David R.Sky")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html . ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html .
;control pitch "Pluck MIDI pitch" int "" 60 1 120 $control pitch (_"Pluck MIDI pitch") int "" 60 1 120
;control fade "Fade-out type" choice "abrupt,gradual" 0 $control fade (_"Fade-out type") choice ((_"abrupt") (_"gradual")) 0
;control dur "Duration [seconds]" real "" 1 0.1 30 $control dur (_"Duration [seconds]") real "" 1 0.1 30
; original pluck.ny modified by David R.Sky October 2007 ; original pluck.ny modified by David R.Sky October 2007
; [vastly simplified later] ; [vastly simplified later]

View File

@ -2,12 +2,12 @@
;version 4 ;version 4
;type generate ;type generate
;categories "http://lv2plug.in/ns/lv2core#GeneratorPlugin" ;categories "http://lv2plug.in/ns/lv2core#GeneratorPlugin"
;name "Rhythm Track..." $name (_"Rhythm Track")
;manpage "Rhythm_Track" ;manpage "Rhythm_Track"
;preview linear ;preview linear
;action "Generating Rhythm..." $action (_"Generating Rhythm...")
;author "Dominic Mazzoni" $author (_"Dominic Mazzoni")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; by Dominic Mazzoni, David R. Sky and Steve Daulton. ;; by Dominic Mazzoni, David R. Sky and Steve Daulton.
;; Drip sound generator by Paul Beach ;; Drip sound generator by Paul Beach
@ -15,22 +15,24 @@
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html . ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html .
;control action "Action choice" choice "Generate track, Help screen 1, Help screen 2" 0 $control action (_"Action choice") choice ((_"Generate track") (_"Help screen 1") (_"Help screen 2")) 0
;control tempo "Tempo (beats per minute)" real "30 - 300 beats/minute" 120 30 300 $control tempo (_"Tempo (beats per minute)") real (_"30 - 300 beats/minute") 120 30 300
;control timesig "Beats per measure (bar)" int "1 - 20 beats/measure" 4 1 20 $control timesig (_"Beats per measure (bar)") int (_"1 - 20 beats/measure") 4 1 20
;control swing "Swing amount" float "+/- 1" 0 -1 1 $control swing (_"Swing amount") float (_"+/- 1") 0 -1 1
;control measures "Number of measures (bars)" int "1 - 1000 bars" 16 1 1000 $control measures (_"Number of measures (bars)") int (_"1 - 1000 bars") 16 1 1000
;control click-track-dur "Optional rhythm track duration (minutes seconds)" string "Whole numbers only" "" $control click-track-dur (_"Optional rhythm track duration (minutes seconds)") string (_"Whole numbers only") ""
;;control ticklen "Individual beat duration (milliseconds)" int "1 - 100 ms" 10 1 100 ;;control ticklen "Individual beat duration (milliseconds)" int "1 - 100 ms" 10 1 100
;control offset "Start time offset (seconds)" real "0 - 30 seconds" 0 0 30 $control offset (_"Start time offset (seconds)") real (_"0 - 30 seconds") 0 0 30
;control click-type "Beat sound" choice "Metronome tick,Ping,Cowbell,Resonant noise,Noise click,Drip" 0 $control click-type (_"Beat sound") choice (
(_"Metronome tick") (_"Ping") (_"Cowbell") (_"Resonant noise") (_"Noise click") (_"Drip")
) 0
;;control q "Noise click resonance - discernable pitch (q)" int "1 - 20" 1 1 20 ;;control q "Noise click resonance - discernable pitch (q)" int "1 - 20" 1 1 20
;control high "MIDI pitch of strong beat" int "18 - 116" 84 18 116 $control high (_"MIDI pitch of strong beat") int (_"18 - 116") 84 18 116
;control low "MIDI pitch of weak beat" int "18 - 116" 80 18 116 $control low (_"MIDI pitch of weak beat") int (_"18 - 116") 80 18 116
;; allow q control to be commented out. ;; allow q control to be commented out.
(if (not (boundp 'q)) (if (not (boundp 'q))
@ -46,7 +48,7 @@
(defun help1 () (defun help1 ()
(format nil (format nil
"Rhythm Track Generator help - screen 1 of 2 (_"Rhythm Track Generator help - screen 1 of 2
Generates a rhythm track at the selected tempo, beats per Generates a rhythm track at the selected tempo, beats per
measure, and either number of measures or track duration, measure, and either number of measures or track duration,
@ -73,12 +75,12 @@ If you enter a value into this field, the 'number of measures'
value will be ignored. value will be ignored.
To generate rhythm track or view help screen 2, To generate rhythm track or view help screen 2,
restart Rhythm Track and select from 'Action choice'.")) ;end of help1 restart Rhythm Track and select from 'Action choice'."))) ;end of help1
(defun help2 () (defun help2 ()
(format nil (format nil
"Rhythm Track Generator help - screen 2 of 2 (_"Rhythm Track Generator help - screen 2 of 2
'Start time offset': makes the rhythm track start at a later 'Start time offset': makes the rhythm track start at a later
time than the very beginning (zero seconds), maximum time than the very beginning (zero seconds), maximum
@ -93,7 +95,7 @@ what pitch to use. C-notes are:
C# (C-sharp) above middle C is 61. C# (C-sharp) above middle C is 61.
To generate rhythm track or view help screen 1, To generate rhythm track or view help screen 1,
restart Rhythm Track and select from 'Action choice'.")) ;end of help 2 restart Rhythm Track and select from 'Action choice'."))) ;end of help 2
;Check function: returns 1 on error ;Check function: returns 1 on error
@ -154,44 +156,44 @@ restart Rhythm Track and select from 'Action choice'.")) ;end of help 2
; tempo ; tempo
(if (= (check tempo 30 300) 1) (if (= (check tempo 30 300) 1)
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"Tempo ~a outside valid range 30 to 300 bpm (_"Tempo ~a outside valid range 30 to 300 bpm
" tempo)))) ") tempo))))
;beats per measure ;beats per measure
(if (= (check timesig 1 20) 1) (if (= (check timesig 1 20) 1)
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"Beats per measure ~a outside valid range 1 to 20 (_"Beats per measure ~a outside valid range 1 to 20
" timesig)))) ") timesig))))
;number of measures ;number of measures
(if (= (check measures 1 1000) 1) (if (= (check measures 1 1000) 1)
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"Number of measures ~a outside valid range 1 to 1000 (_"Number of measures ~a outside valid range 1 to 1000
" measures)))) ") measures))))
;time start offset ;time start offset
(if (= (check offset 0 30) 1) (if (= (check offset 0 30) 1)
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"Time offset ~a outside valid range 0 to 30 seconds (_"Time offset ~a outside valid range 0 to 30 seconds
" offset)))) ") offset))))
; q ; q
(if (= (check q 1 20) 1) (if (= (check q 1 20) 1)
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"Filter quality q ~a outside valid range 1 to 20 (_"Filter quality q ~a outside valid range 1 to 20
" q)))) ") q))))
;high MIDI pitch ;high MIDI pitch
(if (= (check high 18 116) 1) (if (= (check high 18 116) 1)
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"High MIDI pitch ~a outside valid range 18 to 116 (_"High MIDI pitch ~a outside valid range 18 to 116
" high)))) ") high))))
;low MIDI pitch ;low MIDI pitch
(if (= (check low 18 116) 1) (if (= (check low 18 116) 1)
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"Low MIDI pitch ~a outside valid range 18 to 116 (_"Low MIDI pitch ~a outside valid range 18 to 116
" low)))) ") low))))
;validate string ;validate string
(if (> (length m-s) 0) ;if at least one item (if (> (length m-s) 0) ;if at least one item
@ -201,16 +203,16 @@ restart Rhythm Track and select from 'Action choice'.")) ;end of help 2
(not (integerp (first m-s))) ;first is not an integer or (not (integerp (first m-s))) ;first is not an integer or
(and (= (length m-s) 2)(not (integerp (second m-s))))) ;second is not an integer (and (= (length m-s) 2)(not (integerp (second m-s))))) ;second is not an integer
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"If used, 'Optional rhythm track duration' must be (_"If used, 'Optional rhythm track duration' must be
entered as either one number (seconds0, or two entered as either one number (seconds0, or two
numbers (minutes seconds) separated by a space. numbers (minutes seconds) separated by a space.
Use whole numbers only.~%")))) Use whole numbers only.~%")))))
;one or two integers ;one or two integers
((and ((and
(= (length m-s) 1) ;one integer and (= (length m-s) 1) ;one integer and
(= (check (first m-s) 0 3660) 1)) ;outside valid range (= (check (first m-s) 0 3660) 1)) ;outside valid range
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"~a seconds is outside valid range 0 to 3660~%" (first m-s))))) (_"~a seconds is outside valid range 0 to 3660~%") (first m-s)))))
;one or two integers ;one or two integers
((and ((and
(= (length m-s) 2) ;2 integers and (= (length m-s) 2) ;2 integers and
@ -218,7 +220,7 @@ Use whole numbers only.~%"))))
(= (check (first m-s) 0 60) 1) ;1st is outside valid range or (= (check (first m-s) 0 60) 1) ;1st is outside valid range or
(= (check (second m-s) 0 59) 1))) ;2nd is outside valid range or (= (check (second m-s) 0 59) 1))) ;2nd is outside valid range or
(setq error-msg (strcat error-msg (format nil (setq error-msg (strcat error-msg (format nil
"~a is outside valid range 0 to (60 59)~%" (_"~a is outside valid range 0 to (60 59)~%")
m-s))))))) ;end of error checking m-s))))))) ;end of error checking
(defun metronome-tick (hz peak) (defun metronome-tick (hz peak)
@ -364,4 +366,4 @@ Use whole numbers only.~%"))))
(make-click-track measures (* timesig beatlen)))) ;click track (make-click-track measures (* timesig beatlen)))) ;click track
;Else error message ;Else error message
(setq error-msg (strcat (format nil (setq error-msg (strcat (format nil
"Error.~%You have entered at least one invalid value:~%~%") error-msg))))) (_"Error.~%You have entered at least one invalid value:~%~%")) error-msg)))))

View File

@ -3,11 +3,12 @@
;type generate ;type generate
;categories "http://lv2plug.in/ns/lv2core#GeneratorPlugin" ;categories "http://lv2plug.in/ns/lv2core#GeneratorPlugin"
;preview linear ;preview linear
;name "Risset Drum..." ;i18n-hint named for Jean-Claude Risset (silent t)
$name (_"Risset Drum")
;manpage "Risset_Drum" ;manpage "Risset_Drum"
;action "Generating Risset Drum..." $action (_"Generating Risset Drum...")
;author "Steven Jones" $author (_"Steven Jones")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; rissetdrum.ny by Steven Jones, after Jean Claude Risset. ;; rissetdrum.ny by Steven Jones, after Jean Claude Risset.
;; Updated by Steve Daulton July 2012 and May 2015. ;; Updated by Steve Daulton July 2012 and May 2015.
@ -17,12 +18,12 @@
;; For information about writing and modifying Nyquist plug-ins: ;; For information about writing and modifying Nyquist plug-ins:
;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference ;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference
;control freq "Frequency (Hz)" real "" 100 50 2000 $control freq (_"Frequency (Hz)") real "" 100 50 2000
;control decay "Decay (seconds)" real "" 2 0.1 60 $control decay (_"Decay (seconds)") real "" 2 0.1 60
;control cf "Center frequency of noise (Hz)" real "" 500 100 5000 $control cf (_"Center frequency of noise (Hz)") real "" 500 100 5000
;control bw "Width of noise band (Hz)" real "" 400 10 1000 $control bw (_"Width of noise band (Hz)") real "" 400 10 1000
;control noise "Amount of noise in mix (percent)" real "" 25 0 100 $control noise (_"Amount of noise in mix (percent)") real "" 25 0 100
;control gain "Amplitude (0 - 1)" real "" 0.8 0 1 $control gain (_"Amplitude (0 - 1)") real "" 0.8 0 1
(defun sanitise (val minx maxx) (defun sanitise (val minx maxx)

View File

@ -1,13 +1,13 @@
;nyquist plug-in ;nyquist plug-in
;version 3 ;version 3
;type analyze ;type analyze
;name "Sample Data Export..." $name (_"Sample Data Export")
;manpage "Sample_Data_Export" ;manpage "Sample_Data_Export"
;action "Analyzing..." $action (_"Analyzing...")
;maxlen 1000001 ;maxlen 1000001
;categories "http://lv2plug.in/ns/lv2core#AnalyserPlugin" ;categories "http://lv2plug.in/ns/lv2core#AnalyserPlugin"
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; sample-data-export.ny by Steve Daulton June 2012. ;; sample-data-export.ny by Steve Daulton June 2012.
;; Updated July 16 2012. ;; Updated July 16 2012.
@ -17,16 +17,35 @@
;; For information about writing and modifying Nyquist plug-ins: ;; For information about writing and modifying Nyquist plug-ins:
;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference ;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference
;control number "Limit output to first" string "samples" "100" $control number (_"Limit output to first") string (_"samples") "100"
;control units "Measurement scale" choice "dB,Linear" 0 $control units (_"Measurement scale") choice ((_"dB") (_"Linear")) 0
;control fileformat "File data format" choice "Sample List (txt),Indexed List (txt),Time Indexed (txt),Data (csv),Web Page (html)" 0 $control fileformat (_"File data format") choice (
;control header "Include header information" choice "None,Minimal,Standard,All" 2 (_"Sample List (txt)")
;control optext "Optional header text" string "" (_"Indexed List (txt)")
;control chan "Channel layout for stereo" choice "L-R on Same Line,Alternate Lines,L Channel First" 0 (_"Time Indexed (txt)")
;control messages "Show messages" choice "Yes,Errors Only,None" 0 (_"Data (csv)")
;control filename "File name" string "" "sample-data" (_"Web Page (html)")
;control path "Output folder" string "" "Home directory" ) 0
;control owrite "Allow files to be overwritten" choice "No,Yes" 0 $control header (_"Include header information") choice (
(_"None")
(_"Minimal")
(_"Standard")
(_"All")
) 2
$control optext (_"Optional header text") string ""
$control chan (_"Channel layout for stereo") choice (
(_"L-R on Same Line")
(_"Alternate Lines")
(_"L Channel First")
) 0
$control messages (_"Show messages") choice (
(_"Yes")
(_"Errors Only")
(_"None")
) 0
$control filename (_"File name") string "" (_"sample-data")
$control path (_"Output folder") string "" (_"Home directory")
$control owrite (_"Allow files to be overwritten") choice ((_"No") (_"Yes")) 0
;; To enable L/R prefix before alternate L/R channels ;; To enable L/R prefix before alternate L/R channels
@ -36,7 +55,7 @@
(when (not (boundp 'LR-prefix))(setq LR-prefix nil)) (when (not (boundp 'LR-prefix))(setq LR-prefix nil))
(setq default-filename "sample-data") ; default filename (setq default-filename (_"sample-data")) ; default filename
(setq err "") ; initialise error mesaage (setq err "") ; initialise error mesaage
(setq *float-format* "%1.5f") ; 5 decimal places (setq *float-format* "%1.5f") ; 5 decimal places
@ -90,9 +109,9 @@
(defun checknumber () (defun checknumber ()
(setq number (min number len)) (setq number (min number len))
(if (< number 1) (if (< number 1)
(add-error "No samples selected.")) (add-error (_"No samples selected.")))
(if (> number 1000000) (if (> number 1000000)
(add-error "Cannot export more than 1 million samples.")) (add-error (_"Cannot export more than 1 million samples.")))
(setq number (truncate number))) (setq number (truncate number)))
@ -112,7 +131,8 @@
(setf ln10over20 (/ (log 10.0) 20)) (setf ln10over20 (/ (log 10.0) 20))
(defun lin-to-db (val) (defun lin-to-db (val)
(if (= val 0) (if (= val 0)
"[-inf]" ;i18n-hint abbreviates negative infinity
(_"[-inf]")
(/ (log val) ln10over20))) (/ (log val) ln10over20)))
@ -195,15 +215,15 @@
(if (and (arrayp s)(= chan 2)) (if (and (arrayp s)(= chan 2))
(progn (progn
(unless (= header 0) ; Don't print 'channel' if no header (unless (= header 0) ; Don't print 'channel' if no header
(format fp "Left Channel.~%~%")) (format fp (_"Left Channel.~%~%")))
(print-text (aref s 0)) (print-text (aref s 0))
(if (= header 0) ; Don't print 'channel' if no header (if (= header 0) ; Don't print 'channel' if no header
(format fp "~%") (format fp "~%")
(format fp "~%~%Right Channel.~%~%")) (format fp (_"~%~%Right Channel.~%~%")))
(print-text (aref s 1)) (print-text (aref s 1))
(close fp) (close fp)
(if (= messages 0) (if (= messages 0)
(format nil "~aData written to:~%~a~a~a" (format nil (_"~aData written to:~%~a~a~a")
(normhead) path fileseparator filename) (normhead) path fileseparator filename)
nil)) nil))
;; mono or alternate ;; mono or alternate
@ -211,7 +231,7 @@
(print-text s) (print-text s)
(close fp) (close fp)
(if (= messages 0) (if (= messages 0)
(format nil "~aData written to:~%~a~a~a" (format nil (_"~aData written to:~%~a~a~a")
(normhead) path fileseparator filename) (normhead) path fileseparator filename)
nil)))) nil))))
@ -240,7 +260,7 @@
(if (string-equal path "~/" :end1 2) (if (string-equal path "~/" :end1 2)
(setq path (strcat (home)(subseq path 1))))) (setq path (strcat (home)(subseq path 1)))))
;; If path not set use home directory ;; If path not set use home directory
(if (or (string-equal path "Home directory") (if (or (string-equal path (_"Home directory"))
(string-equal path "")) (string-equal path ""))
(setq path (home))) (setq path (home)))
;; if file name not set use default ;; if file name not set use default
@ -255,7 +275,7 @@
(string-equal path realdir))) (string-equal path realdir)))
;; makefilename or error ;; makefilename or error
(setq filename (makefilename filename FileExt)) (setq filename (makefilename filename FileExt))
(add-error (format nil "Output folder \"~a~a\" cannot be accessed." (add-error (format nil (_"Output folder \"~a~a\" cannot be accessed.")
path fileseparator)))) path fileseparator))))
;; check if file is writeable ;; check if file is writeable
(when (= (length err) 0) (when (= (length err) 0)
@ -263,7 +283,7 @@
(setq fp (open filename :direction :output)) (setq fp (open filename :direction :output))
;check file is writeable ;check file is writeable
(if (not fp) (if (not fp)
(add-error (format nil "\"~a~a~a\" cannot be written." (add-error (format nil (_"\"~a~a~a\" cannot be written.")
path fileseparator filename))))) path fileseparator filename)))))
@ -279,7 +299,7 @@
(defun minhead () (defun minhead ()
(format nil (format nil
"Sample Rate: ~a Hz. Sample values on ~a scale.~%~a~%~a" (_"Sample Rate: ~a Hz. Sample values on ~a scale.~%~a~%~a")
(get 'info 'srate) ; sample rate (get 'info 'srate) ; sample rate
(get 'info 'units) ; units (get 'info 'units) ; units
(get 'info 'chan-order) ; Channel Order (get 'info 'chan-order) ; Channel Order
@ -291,7 +311,7 @@
(defun normhead () (defun normhead ()
(if (= fileformat 4) ; html (if (= fileformat 4) ; html
(format nil (format nil
"~a ~a~%~aSample Rate: ~a Hz.~%Length processed: ~a samples ~a seconds.~a" (_"~a ~a~%~aSample Rate: ~a Hz.~%Length processed: ~a samples ~a seconds.~a")
filename ; file name filename ; file name
(get 'info 'channels) ; mono/stereo (get 'info 'channels) ; mono/stereo
(get 'info 'chan-order) ; Channel Order (get 'info 'chan-order) ; Channel Order
@ -302,8 +322,8 @@
(format nil "~%~a~%~%~%" optext) ; optional text (format nil "~%~a~%~%~%" optext) ; optional text
(format nil "~%~%~%"))) ; no optional text (format nil "~%~%~%"))) ; no optional text
(format nil (format nil
"~a ~a~%~aSample Rate: ~a Hz. Sample values on ~a scale.~%~ (_"~a ~a~%~aSample Rate: ~a Hz. Sample values on ~a scale.~%~
Length processed: ~a samples ~a seconds.~a" Length processed: ~a samples ~a seconds.~a")
filename ; file name filename ; file name
(get 'info 'channels) ; mono/stereo (get 'info 'channels) ; mono/stereo
(get 'info 'chan-order) ; Channel Order (get 'info 'chan-order) ; Channel Order
@ -318,9 +338,9 @@ Length processed: ~a samples ~a seconds.~a"
(defun fullhead () (defun fullhead ()
(format nil (format nil
"~a~%Sample Rate: ~a Hz. Sample values on ~a scale. ~a.~%~aLength processed: ~a ~ (_"~a~%Sample Rate: ~a Hz. Sample values on ~a scale. ~a.~%~aLength processed: ~a ~
samples, ~a seconds.~%Peak amplitude: ~a (lin) ~a dB. Unweighted RMS: ~a dB.~%~ samples, ~a seconds.~%Peak amplitude: ~a (lin) ~a dB. Unweighted RMS: ~a dB.~%~
DC offset: ~a~a" DC offset: ~a~a")
filename ; file name filename ; file name
(get 'info 'srate) ; sample rate (get 'info 'srate) ; sample rate
(get 'info 'units) ; units (get 'info 'units) ; units
@ -333,9 +353,9 @@ DC offset: ~a~a"
(srms s) ; rms (srms s) ; rms
(let ((vals (dc-off s))) ; DC offset (let ((vals (dc-off s))) ; DC offset
(if (= (length vals) 2) ; mono (if (= (length vals) 2) ; mono
(format nil "~a linear, ~a dB." (format nil (_"~a linear, ~a dB.")
(first vals)(second vals)) (first vals)(second vals))
(format nil "Left: ~a lin, ~a dB | Right: ~a lin, ~a dB." (format nil (_"Left: ~a lin, ~a dB | Right: ~a lin, ~a dB.")
(first vals)(second vals)(third vals)(fourth vals)))) (first vals)(second vals)(third vals)(fourth vals))))
(if (> (length optext)0) (if (> (length optext)0)
(format nil "~%~a~%~%~%" optext) ; optional text (format nil "~%~a~%~%~%" optext) ; optional text
@ -346,7 +366,7 @@ DC offset: ~a~a"
;; HTML Output ;; ;; HTML Output ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun html-head () (defun html-head () (strcat
"<!DOCTYPE html> "<!DOCTYPE html>
<html> <html>
<head> <head>
@ -427,26 +447,29 @@ ul {
color: blue; color: blue;
} }
</style> </style>
<title>Sample Data Export</title> <title>" (_"Sample Data Export") "</title>
</head> </head>
") "))
;;; document headings ;;; document headings
(defun doc-head () (defun doc-head ()
(format nil (format nil
"<body> (strcat "<body>
<h1>Sample Data Export - ~a</h1> <h1>" (_"Sample Data Export") " - ~a</h1>
~a ~a
<h4>~a. &nbsp;&nbsp;~a samples. &nbsp;&nbsp; ~a seconds.<br></h4> <h4>~a. &nbsp;&nbsp;" (_"~a samples.") " &nbsp;&nbsp; " (_"~a seconds.") "<br></h4>
<h3>Audio data analysis:</h3> <h3>" (_"Audio data analysis:") "</h3>
<ul> <ul>
<li><b>Sample Rate:</b> &nbsp;&nbsp;~a Hz.</li> <li>" (_"<b>Sample Rate:</b> &nbsp;&nbsp;~a Hz.") "</li>"
<li><b>Peak Amplitude:</b> &nbsp;&nbsp;~a (lin) &nbsp;&nbsp;~a dB.</li> ; i18n-hint: abbreviates "linear" and "decibels"
<li><b>RMS</b> (unweighted): &nbsp;&nbsp;~a dB.</li> "<li>" (_"<b>Peak Amplitude:</b> &nbsp;&nbsp;~a (lin) &nbsp;&nbsp;~a dB.") "</li>"
<li><b>DC Offset:</b> &nbsp;&nbsp;~a</li> ; i18n-hint: RMS abbreviates root-mean-square, a method of averaging a signal; there also "weighted" versions of it but this isn't that
"<li>" (_"<b>RMS</b> (unweighted): &nbsp;&nbsp;~a dB.") "</li>"
; i18n-hint: DC derives from "direct current" in electronics, really means the zero frequency component of a signal
"<li>" (_"<b>DC Offset:</b> &nbsp;&nbsp;~a") "</li>
</ul> </ul>
" ") ; end concatenated format string with inserted translations
(string-right-trim ".html" filename) (string-right-trim ".html" filename)
(format nil "<h2>~a</h2>" optext) ; Optional heading (format nil "<h2>~a</h2>" optext) ; Optional heading
(get 'info 'channels) ; mono/stereo (get 'info 'channels) ; mono/stereo
@ -458,44 +481,45 @@ ul {
(srms s) ; rms (srms s) ; rms
(let ((vals (dc-off s))) ; DC offset (let ((vals (dc-off s))) ; DC offset
(if (= (length vals) 2) ; mono (if (= (length vals) 2) ; mono
(format nil "~a linear, &nbsp;&nbsp;~a dB." (format nil (_"~a linear, &nbsp;&nbsp;~a dB.")
(first vals)(second vals)) (first vals)(second vals))
(format nil "Left: ~a lin, ~a dB | Right: ~a linear, &nbsp;&nbsp;~a dB." (format nil (_"Left: ~a lin, ~a dB | Right: ~a linear, &nbsp;&nbsp;~a dB.")
(first vals)(second vals)(third vals)(fourth vals)))))) (first vals)(second vals)(third vals)(fourth vals))))))
;;; table headings (mono) ;;; table headings (mono)
(defun table-head-mono () (defun table-head-mono ()
"<table title=\"sample data\"> (strcat "<table title=\"" (_"sample data") "\">
<tr> <tr>
<th>Sample #</th> <th>" (_"Sample #") "</th>
<th>Seconds</th> <th>" (_"Seconds") "</th>
<th>Value (linear)</th> <th>" (_"Value (linear)") "</th>
<th>Value (dB)</th> <th>" (_"Value (dB)") "</th>
</tr>") </tr>"))
;;; table headings (stereo) ;;; table headings (stereo)
(defun table-head-stereo () (defun table-head-stereo ()
"<table title=\"audio sample value analysis\"> (strcat "<table title=\"" (_"audio sample value analysis") "\">
<tr> <tr>
<th>Sample #</th> <th>" (_"Sample #") "</th>
<th>Seconds </th> <th>" (_"Seconds") "</th>
<th>Left (linear)</th> <th>" (_"Left (linear)") "</th>
<th>Right (linear)</th> <th>" (_"Right (linear)") "</th>
<th>Left (dB)</th> <th>" (_"Left (dB)") "</th>
<th>Right (dB)</th> <th>" (_"Right (dB)") "</th>
</tr>") </tr>"))
(defun html-foot () (defun html-foot ()
(format nil (strcat
"</table> "</table>
<p id=\"footer\">Produced with <span>Sample Data Export</span> for <p id=\"footer\">" (_"Produced with <span>Sample Data Export</span> for
<a href=\"https://www.audacityteam.org/\">Audacity</a> by Steve <a href=\"~a\">Audacity</a> by Steve
Daulton (<a href= Daulton") " (<a href=
\"http://www.easyspacepro.com\">www.easyspacepro.com</a>)</p> \"http://www.easyspacepro.com\">www.easyspacepro.com</a>)</p>
</body> </body>
</html>") </html>") "https://www.audacityteam.org/"))
;;; html generator ;;; html generator
@ -537,7 +561,7 @@ Daulton (<a href=
(format fp (html-foot)) (format fp (html-foot))
(close fp) (close fp)
(if (= messages 0) (if (= messages 0)
(format nil "~aData written to:~%~a~a~a" (format nil (_"~aData written to:~%~a~a~a")
(normhead) path fileseparator filename) (normhead) path fileseparator filename)
nil)) nil))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -548,25 +572,25 @@ Daulton (<a href=
;;; basic info for headers ;;; basic info for headers
(defun put-head-info () (defun put-head-info ()
(putprop 'info (truncate *sound-srate*) 'srate) (putprop 'info (truncate *sound-srate*) 'srate)
(putprop 'info (if (= units 0) "dB" "linear") 'units) (putprop 'info (if (= units 0) (_"dB") (_"linear")) 'units)
(putprop 'info (/ number *sound-srate*) 'duration) (putprop 'info (/ number *sound-srate*) 'duration)
(putprop 'info (putprop 'info
(if (arrayp s) (if (arrayp s)
"2 channels (stereo)""1 channel (mono)") (_"2 channels (stereo)") (_"1 channel (mono)"))
'channels) 'channels)
;; stereo sample order ;; stereo sample order
(putprop 'info (putprop 'info
(cond (cond
((and (= fileformat 3)(= chan 0)) ; csv, channel in column ((and (= fileformat 3)(= chan 0)) ; csv, channel in column
"One column per channel.\n") (format nil (_"One column per channel.~%")))
((and (= fileformat 3)(= chan 2)) ; csv, channel in row ((and (= fileformat 3)(= chan 2)) ; csv, channel in row
"One row per channel.\n") (format nil (_"One row per channel.~%")))
((or (soundp s)(= fileformat 4)) ; mono soundor HTML ((or (soundp s)(= fileformat 4)) ; mono soundor HTML
"") "")
((= chan 0) "Left channel then Right channel on same line.\n") ((= chan 0) (format nil (_"Left channel then Right channel on same line.~%")))
((= chan 1) "Left and right channels on alternate lines.\n") ((= chan 1) (format nil (_"Left and right channels on alternate lines.~%")))
((= chan 2) "Left channel first then right channel.\n") ((= chan 2) (format nil (_"Left channel first then right channel.~%")))
(T "Unspecified channel order")) (T (_"Unspecified channel order")))
'chan-order)) 'chan-order))
@ -574,14 +598,14 @@ Daulton (<a href=
(setq number (read (make-string-input-stream number))) (setq number (read (make-string-input-stream number)))
(if (numberp number) (if (numberp number)
(checknumber) (checknumber)
(add-error (format nil "~a is not a number." number))) (add-error (format nil (_"~a is not a number.") number)))
(filewriter) (filewriter)
(if (> (length err) 0) (if (> (length err) 0)
;; output error message if enabled ;; output error message if enabled
(if (= messages 2) (if (= messages 2)
nil ; return nil nil ; return nil
(format nil "Error.~%~a" err)) ; return errors (format nil (_"Error.~%~a") err)) ; return errors
;; else print to file ;; else print to file
(progn (progn
(put-head-info) ; put basic info for headers (put-head-info) ; put basic info for headers

View File

@ -1,20 +1,20 @@
;nyquist plug-in ;nyquist plug-in
;version 4 ;version 4
;type generate ;type generate
;name "Sample Data Import..." $name (_"Sample Data Import")
;manpage "Sample_Data_Import" ;manpage "Sample_Data_Import"
;action "Reading and rendering samples..." $action (_"Reading and rendering samples...")
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; sample-data-import.ny by Steve Daulton November 2016. ;; sample-data-import.ny by Steve Daulton November 2016.
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
;control filename "File name" string "" "sample-data.txt" $control filename (_"File name") string "" "sample-data.txt"
;control path "File location (path to file)" string "" "Home directory" $control path (_"File location (path to file)") string "" "Home directory"
;control bad-data "Invalid data handling" choice "Throw error,Read as zero" 0 $control bad-data (_"Invalid data handling") choice ((_"Throw error") (_"Read as zero")) 0
;; Documentation. ;; Documentation.
@ -107,23 +107,25 @@
(defun fileopensp (path fname) (defun fileopensp (path fname)
(let ((path (string-trim " " path))) (let ((path (string-trim " " path)))
(if (string-equal fname "") (if (string-equal fname "")
(throw 'err "Error\nNo file name.")) (throw 'err (format nil (_"Error~%No file name."))))
(if (string-not-equal fname ".txt" :start1 (- (length fname) 4)) (if (string-not-equal fname ".txt" :start1 (- (length fname) 4))
(throw 'err "Error\nThe file must be a plain ASCII text file\nwith '.txt' file extension.")) (throw 'err (format nil (_"Error~%The file must be a plain ASCII text file~%with '.txt' file extension."))))
;; Handle special 'path' formats: ;; Handle special 'path' formats:
(cond (cond
; "~" without "/" is not recommended (or documented) ; "~" without "/" is not recommended (or documented)
; but more user friendly to allow it. ; but more user friendly to allow it.
((string= path "~") ((string= path "~")
(if (windowsp) (if (windowsp)
"Error\n'~/' is not valid on Windows" ;i18n-hint: ~~ format directive must be preserved; displays as one ~
(format nil (_"Error~%'~~/' is not valid on Windows"))
(setq path (home)))) (setq path (home))))
;; replace "~/" on Linux/Mac ;; replace "~/" on Linux/Mac
((and (>= (length path) 2) (string= path "~/" :end1 2)) ((and (>= (length path) 2) (string= path "~/" :end1 2))
(if (windowsp) (if (windowsp)
"Error\n'~/' is not valid on Windows" ;i18n-hint: ~~ format directive must be preserved; displays as one ~
(format nil (_"Error~%'~~/' is not valid on Windows"))
(setq path (strcat (home)(subseq path 1))))) (setq path (strcat (home)(subseq path 1)))))
((string-equal path "Home directory") ((string-equal path (_"Home directory"))
(setf path (home))) (setf path (home)))
;; If empty, use 'Home' ;; If empty, use 'Home'
((string-equal path "") ((string-equal path "")
@ -131,26 +133,26 @@
;; Now check that the file can be opened: ;; Now check that the file can be opened:
(cond (cond
((not (setdir path)) ((not (setdir path))
(throw 'err (format nil "Error~%~ (throw 'err (format nil (_"Error~%~
Directory '~a' could not be opened." path))) Directory '~a' could not be opened.") path)))
((not (setf fstream (open fname))) ((not (setf fstream (open fname)))
(throw 'err (format nil "Error~%~ (throw 'err (format nil (_"Error~%~
'~a~a~a' could not be opened.~%~ '~a~a~a' could not be opened.~%~
Check that file exists." Check that file exists.")
path *file-separator* fname))) path *file-separator* fname)))
; File opened OK, so check for normal ASCII, then close it and return 'true' ; File opened OK, so check for normal ASCII, then close it and return 'true'
(t (do ((j 0 (1+ j))(b (read-byte fstream)(read-byte fstream))) (t (do ((j 0 (1+ j))(b (read-byte fstream)(read-byte fstream)))
((or (> j 100000)(not b))) ((or (> j 100000)(not b)))
(when (> b 127) (when (> b 127)
(throw 'err (format nil "Error:~%~ (throw 'err (format nil (_"Error:~%~
The file must contain only plain ASCII text.~%~ The file must contain only plain ASCII text.~%~
(Invalid byte '~a' at byte number: ~a)" b (1+ j) )))) (Invalid byte '~a' at byte number: ~a)") b (1+ j) ))))
(close fstream) (close fstream)
t)))) t))))
;; ':new' creates a new class 'streamreader' ;; ':new' creates a new class 'streamreader'
;; 'filestream' and 'chanel' are its instance variables. ;; 'filestream' and 'chanel' are its instance variables.
;; (every objet of class 'streamreader' has it's own ;; (every object of class 'streamreader' has its own
;; copy of these variables) ;; copy of these variables)
(setq streamreader (setq streamreader
(send class :new '(filestream chanel))) (send class :new '(filestream chanel)))
@ -183,9 +185,9 @@
((not val) nil) ;end of file ((not val) nil) ;end of file
((numberp val) (float val)) ;valid. ((numberp val) (float val)) ;valid.
((= bad-data 0) ;invalid. Throw error and quit ((= bad-data 0) ;invalid. Throw error and quit
(throw 'err (format nil "Error~%~ (throw 'err (format nil (_"Error~%~
Data must be numbers in plain ASCII text.~%~ Data must be numbers in plain ASCII text.~%~
'~a' is not a numeric value." val))) '~a' is not a numeric value.") val)))
(t 0.0)))) ;invalid. Replace with zero. (t 0.0)))) ;invalid. Replace with zero.
;; Instantiate a new sound object ;; Instantiate a new sound object
@ -195,7 +197,7 @@
(defun sound-from-file (filename) (defun sound-from-file (filename)
;; Set path. fileopenp should return 'true' ;; Set path. fileopenp should return 'true'
(if (not (fileopensp path filename)) (if (not (fileopensp path filename))
(throw 'err "Error.\nUnable to open file")) (throw 'err (format nil (_"Error.~%Unable to open file"))))
; Note: we can't use (arrayp *track*) because ; Note: we can't use (arrayp *track*) because
; *track* is nil in generate type plug-ins. ; *track* is nil in generate type plug-ins.
(cond (cond

View File

@ -3,12 +3,12 @@
;type process ;type process
;preview linear ;preview linear
;categories "http://lv2plug.in/ns/lv2core#ModulatorPlugin" ;categories "http://lv2plug.in/ns/lv2core#ModulatorPlugin"
;name "Tremolo..." $name (_"Tremolo")
;manpage "Tremolo" ;manpage "Tremolo"
;debugbutton disabled ;debugbutton disabled
;action "Applying Tremolo..." $action (_"Applying Tremolo...")
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; tremolo.ny by Steve Daulton (www.easyspacepro.com) July 2012. ;; tremolo.ny by Steve Daulton (www.easyspacepro.com) July 2012.
;; Based on Tremolo by Dominic Mazzoni and David R. Sky." ;; Based on Tremolo by Dominic Mazzoni and David R. Sky."
@ -18,10 +18,10 @@
;; For information about writing and modifying Nyquist plug-ins: ;; For information about writing and modifying Nyquist plug-ins:
;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference ;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference
;control wave "Waveform type" choice "sine,triangle,sawtooth,inverse sawtooth,square" 0 $control wave (_"Waveform type") choice ((_"sine") (_"triangle") (_"sawtooth") (_"inverse sawtooth") (_"square")) 0
;control phase "Starting phase (degrees)" int "" 0 -180 180 $control phase (_"Starting phase (degrees)") int "" 0 -180 180
;control wet "Wet level (percent)" int "" 40 1 100 $control wet (_"Wet level (percent)") int "" 40 1 100
;control lfo "Frequency (Hz)" float-text "" 4 0.001 1000 $control lfo (_"Frequency (Hz)") float-text "" 4 0.001 1000
; Convert % to linear ; Convert % to linear
(setq wet (/ wet 200.0)) (setq wet (/ wet 200.0))

View File

@ -2,11 +2,11 @@
;version 4 ;version 4
;type process ;type process
;categories "http://lv2plug.in/ns/lv2core#MixerPlugin" ;categories "http://lv2plug.in/ns/lv2core#MixerPlugin"
;name "Vocal Reduction and Isolation..." $name (_"Vocal Reduction and Isolation")
;manpage "Vocal_Reduction_and_Isolation" ;manpage "Vocal_Reduction_and_Isolation"
;action "Applying Action..." $action (_"Applying Action...")
;author "Robert Haenggi" $author (_"Robert Haenggi")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; ;;
;; vocrediso.ny, based on rjh-stereo-tool.ny ;; vocrediso.ny, based on rjh-stereo-tool.ny
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
@ -14,12 +14,21 @@
;; Plug-in version 1.56, June 2015 ;; Plug-in version 1.56, June 2015
;; Requires Audacity 2.1.1 or later, developed under Audacity 2.1.1 ;; Requires Audacity 2.1.1 or later, developed under Audacity 2.1.1
;; ;;
;control action "Action" choice "Remove Vocals,Isolate Vocals,Isolate Vocals and Invert,Remove Center,Isolate Center,Isolate Center and Invert,Remove Center Classic: Mono,Analyze" 0 $control action (_"Action") choice (
(_"Remove Vocals")
(_"Isolate Vocals")
(_"Isolate Vocals and Invert")
(_"Remove Center")
(_"Isolate Center")
(_"Isolate Center and Invert")
(_"Remove Center Classic: Mono")
(_"Analyze")
) 0
(setf rotation 0.0) (setf rotation 0.0)
;;control rotation "Rotation (Degrees)" real "" 0 -180 180 ;;control rotation "Rotation (Degrees)" real "" 0 -180 180
;control strength "Strength" real "" 1.0 0.0 50.0 $control strength (_"Strength") real "" 1.0 0.0 50.0
;control low-transition "Low Cut for Vocals (Hz)" real "" 120 1 24000 $control low-transition (_"Low Cut for Vocals (Hz)") real "" 120 1 24000
;control high-transition "High Cut for Vocals (Hz)" real "" 9000 1 24000 $control high-transition (_"High Cut for Vocals (Hz)") real "" 9000 1 24000
; ;
;preview linear ;preview linear
; ;
@ -61,14 +70,14 @@
(t (/ s-xy s-x2)))) (t (/ s-xy s-x2))))
(a0 (- bar-y (* a1 bar-x)))) (a0 (- bar-y (* a1 bar-x))))
(if show (format t (if show (format t
"Average x: ~a, y: ~a (_"Average x: ~a, y: ~a
Covariance x y: ~a Covariance x y: ~a
Average variance x: ~a, y: ~a Average variance x: ~a, y: ~a
Standard deviation x: ~a, y: ~a Standard deviation x: ~a, y: ~a
Coefficient of correlation: ~a Coefficient of correlation: ~a
Coefficient of determination: ~a Coefficient of determination: ~a
Variation of residuals: ~a Variation of residuals: ~a
y equals ~a plus ~a times x~%" y equals ~a plus ~a times x~%")
bar-x bar-y s-xy s-x2 s-y2 (sqrt s-x2) (sqrt s-y2) r r2 (* s-y2 (- 1 r2)) a0 a1)) bar-x bar-y s-xy s-x2 s-y2 (sqrt s-x2) (sqrt s-y2) r r2 (* s-y2 (- 1 r2)) a0 a1))
(list r r2 pos-xy a0 a1))) (list r r2 pos-xy a0 a1)))
;; ;;
@ -77,34 +86,34 @@ bar-x bar-y s-xy s-x2 s-y2 (sqrt s-x2) (sqrt s-y2) r r2 (* s-y2 (- 1 r2)) a0 a1)
;; ;;
;; Summary for "Analyse", fed with coeff. of correlation ;; Summary for "Analyse", fed with coeff. of correlation
(defun summary (analysis &aux (corr (car analysis)) (pan-position (third analysis))) (defun summary (analysis &aux (corr (car analysis)) (pan-position (third analysis)))
(format nil "Pan position: ~a~%The left and right channels are correlated by about ~a %. This means:~%~a~%" (format nil (_"Pan position: ~a~%The left and right channels are correlated by about ~a %. This means:~%~a~%")
pan-position pan-position
(round (* corr 100)) (round (* corr 100))
(cond (cond
((between corr 0.97 1.1) ((between corr 0.97 1.1)
" - The two channels are identical, i.e. dual mono. (_" - The two channels are identical, i.e. dual mono.
The center can't be removed. The center can't be removed.
Any remaining difference may be caused by lossy encoding.") Any remaining difference may be caused by lossy encoding."))
((between corr 0.9 0.97) ((between corr 0.9 0.97)
" - The two Channels are strongly related, i.e. nearly mono or extremely panned. (_" - The two Channels are strongly related, i.e. nearly mono or extremely panned.
Most likely, the center extraction will be poor.") Most likely, the center extraction will be poor."))
((between corr 0.5 0.9) ((between corr 0.5 0.9)
" - A fairly good value, at least stereo in average and not too wide spread.") (_" - A fairly good value, at least stereo in average and not too wide spread."))
((between corr 0.2 0.5) ((between corr 0.2 0.5)
" - An ideal value for Stereo. (_" - An ideal value for Stereo.
However, the center extraction depends also on the used reverb.") However, the center extraction depends also on the used reverb."))
((between corr -0.2 0.2) ((between corr -0.2 0.2)
" - The two channels are almost not related. (_" - The two channels are almost not related.
Either you have only noise or the piece is mastered in a unbalanced manner. Either you have only noise or the piece is mastered in a unbalanced manner.
The center extraction can still be good though.") The center extraction can still be good though."))
((between corr -0.8 -0.2) ((between corr -0.8 -0.2)
" - Although the Track is stereo, the field is obviously extra wide. (_" - Although the Track is stereo, the field is obviously extra wide.
This can cause strange effects. This can cause strange effects.
Especially when played by only one speaker.") Especially when played by only one speaker."))
(t " - The two channels are nearly identical. (t (_" - The two channels are nearly identical.
Obviously, a pseudo stereo effect has been used Obviously, a pseudo stereo effect has been used
to spread the signal over the physical distance between the speakers. to spread the signal over the physical distance between the speakers.
Don't expect good results from a center removal.")))) Don't expect good results from a center removal.")))))
;;; ;;;
;;; FFT Functionality ;;; FFT Functionality
;; ;;
@ -119,7 +128,7 @@ bar-x bar-y s-xy s-x2 s-y2 (sqrt s-x2) (sqrt s-y2) r r2 (* s-y2 (- 1 r2)) a0 a1)
(progn (setf cut (truncate (- fs zeros 1))) (progn (setf cut (truncate (- fs zeros 1)))
(snd-pwl 0 fs (snd-pwl 0 fs
(list 0 (/ (float hop))(- cut hop) 1.0 cut 0.0 fs 0.0 fs))))) (list 0 (/ (float hop))(- cut hop) 1.0 cut 0.0 fs 0.0 fs)))))
; Han ; Hann
((= type 1) ((= type 1)
(seq (cue (control-srate-abs fs (seq (cue (control-srate-abs fs
(mult 0.5 (sum 1 (lfo (/ fs (* 2.0 hop)) (/ (- fs zeros) (get-duration fs)) *table* 270))))) (mult 0.5 (sum 1 (lfo (/ fs (* 2.0 hop)) (/ (- fs zeros) (get-duration fs)) *table* 270)))))
@ -186,7 +195,7 @@ bar-x bar-y s-xy s-x2 s-y2 (sqrt s-x2) (sqrt s-y2) r r2 (* s-y2 (- 1 r2)) a0 a1)
;;; main procedure ;;; main procedure
(defun catalog (&aux snd (defun catalog (&aux snd
(original-len (/ (+ len hop) *sr*)) (dur (get-duration 1))) (original-len (/ (+ len hop) *sr*)) (dur (get-duration 1)))
(if (soundp *track*) (return-from catalog "This plug-in works only with stereo tracks.") (if (soundp *track*) (return-from catalog (_"This plug-in works only with stereo tracks."))
(setf snd (vector (snd-copy (: *track* 0)) (snd-copy (: *track* 1))))) (setf snd (vector (snd-copy (: *track* 0)) (snd-copy (: *track* 1)))))
(cond (cond
((= action 7) ((= action 7)
@ -238,4 +247,4 @@ bar-x bar-y s-xy s-x2 s-y2 (sqrt s-x2) (sqrt s-y2) r r2 (* s-y2 (- 1 r2)) a0 a1)
(setf *map* (snd-pwl 0 10000 (list 0 0.5 10000 0.0 20000 -0.5 20001))) (setf *map* (snd-pwl 0 10000 (list 0 0.5 10000 0.0 20000 -0.5 20001)))
(setf *norm* 1.0) (setf *norm* 1.0)
(expand 120); remove for lower efficiency/more conservative memory management (expand 120); remove for lower efficiency/more conservative memory management
(catalog) (catalog)

View File

@ -2,12 +2,12 @@
;version 4 ;version 4
;type process ;type process
;preview linear ;preview linear
;name "Vocal Remover..." $name (_"Vocal Remover")
;manpage "Vocal_Remover" ;manpage "Vocal_Remover"
;action "Removing center-panned audio..." $action (_"Removing center-panned audio...")
;info "For reducing center-panned vocals" $info (_"For reducing center-panned vocals")
;author "Steve Daulton" $author (_"Steve Daulton")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; This version of vocalremover.ny by Steve Daulton June 2013. ;; This version of vocalremover.ny by Steve Daulton June 2013.
;; ;;
@ -20,15 +20,22 @@
;; Released under terms of the GNU General Public License version 2: ;; Released under terms of the GNU General Public License version 2:
;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ;; http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
;control action "Remove vocals or view Help" choice "Remove vocals,View Help" 0 $control action (_"Remove vocals or view Help") choice (
;control band-choice "Removal choice" choice "Simple (entire spectrum),Remove frequency band,Retain frequency band" 0 (_"Remove vocals")
;control low-range "Frequency band from (Hz)" float-text "" 500 0 nil (_"View Help")
;control high-range "Frequency band to (Hz)" float-text "" 2000 0 nil ) 0
$control band-choice (_"Removal choice") choice (
(_"Simple (entire spectrum)")
(_"Remove frequency band")
(_"Retain frequency band")
) 0
$control low-range (_"Frequency band from (Hz)") float-text "" 500 0 nil
$control high-range (_"Frequency band to (Hz)") float-text "" 2000 0 nil
(defun help () (defun help ()
(let ((msg (format nil (let ((msg (format nil
"Vocal Remover requires a stereo track. It works best with (_"Vocal Remover requires a stereo track. It works best with
lossless files like WAV or AIFF, rather than MP3 or lossless files like WAV or AIFF, rather than MP3 or
other compressed formats. It only removes vocals or other other compressed formats. It only removes vocals or other
audio that is panned to center (sounds equally loud in left audio that is panned to center (sounds equally loud in left
@ -52,7 +59,7 @@ sounds like the most significant frequency range of the
original vocals. If the other choices remove too much original vocals. If the other choices remove too much
audio in a particular frequency range (such as low drums audio in a particular frequency range (such as low drums
or bass), try 'Retain frequency band'. This only removes or bass), try 'Retain frequency band'. This only removes
frequencies outside the limits, retaining the others."))) frequencies outside the limits, retaining the others."))))
(format t "~a" msg) ;print to debug (coppying supported on all platforms) (format t "~a" msg) ;print to debug (coppying supported on all platforms)
msg)) ;return message msg)) ;return message
@ -60,10 +67,10 @@ frequencies outside the limits, retaining the others.")))
(defun check-stereo () (defun check-stereo ()
(when (soundp *track*) (when (soundp *track*)
(throw 'err (format nil (throw 'err (format nil
"~%Vocal Remover requires an unsplit, stereo track.~%~ (_"~%Vocal Remover requires an unsplit, stereo track.~%~
If you have a stereo track split into left and right~%~ If you have a stereo track split into left and right~%~
channels, use 'Make Stereo Track' on the Track~%~ channels, use 'Make Stereo Track' on the Track~%~
Drop-Down Menu, then run Vocal Remover again.~%")))) Drop-Down Menu, then run Vocal Remover again.~%")))))
(defmacro validate (Hz) (defmacro validate (Hz)
;; Filters become unstable when very close to 0 Hz or ;; Filters become unstable when very close to 0 Hz or
@ -93,11 +100,11 @@ Drop-Down Menu, then run Vocal Remover again.~%"))))
(defun bandstop (sig low high) (defun bandstop (sig low high)
(if (and low high (< (/ (- high low) low) 0.1)) (if (and low high (< (/ (- high low) low) 0.1))
(format t "Warning:~%~ (format t (_"Warning:~%~
Selected band-stop filter is~%~ Selected band-stop filter is~%~
~a Hz to ~a Hz.~%~ ~a Hz to ~a Hz.~%~
A very narrow stop-band filter may have~%~ A very narrow stop-band filter may have~%~
unexpected results.~%~%" unexpected results.~%~%")
low high)) low high))
(let ((low-sig (if low (lowpass8 sig low)(s-rest 1)))) (let ((low-sig (if low (lowpass8 sig low)(s-rest 1))))
(sum (sum
@ -114,7 +121,7 @@ Drop-Down Menu, then run Vocal Remover again.~%"))))
(bandstop (aref *track* 1) low-range high-range))) (bandstop (aref *track* 1) low-range high-range)))
; Nothing to remove - skip effect. ; Nothing to remove - skip effect.
((and (= band-choice 2)(not low-range)(not high-range)) ((and (= band-choice 2)(not low-range)(not high-range))
(format t "Current settings returned the original audio.") (format t (_"Current settings returned the original audio."))
nil) nil)
((= band-choice 2) ; remove frequencies inside range ((= band-choice 2) ; remove frequencies inside range
(sum (aref *track* 0) (sum (aref *track* 0)

View File

@ -3,11 +3,11 @@
;type process ;type process
;preview enabled ;preview enabled
;categories "http://lv2plug.in/ns/lv2core#SpectralPlugin" ;categories "http://lv2plug.in/ns/lv2core#SpectralPlugin"
;name "Vocoder..." $name (_"Vocoder")
;manpage "Vocoder" ;manpage "Vocoder"
;action "Processing Vocoder..." $action (_"Processing Vocoder...")
;author "Edgar-RFT" $author (_"Edgar-RFT")
;copyright "Released under terms of the GNU General Public License version 2" $copyright (_"Released under terms of the GNU General Public License version 2")
;; vocoder.ny by Edgar-RFT ;; vocoder.ny by Edgar-RFT
;; a bit of code added by David R. Sky ;; a bit of code added by David R. Sky
@ -21,13 +21,13 @@
;; For information about writing and modifying Nyquist plug-ins: ;; For information about writing and modifying Nyquist plug-ins:
;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference ;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference
;control dst "Distance: (1 to 120, default = 20)" real "" 20 1 120 $control dst (_"Distance: (1 to 120, default = 20)") real "" 20 1 120
;control mst "Output choice" choice "both channels, right only" 0 $control mst (_"Output choice") choice ((_"both channels") (_"right only")) 0
;control bands "Number of vocoder bands" int "" 40 10 240 $control bands (_"Number of vocoder bands") int "" 40 10 240
;control track-vl "Amplitude of original audio (percent)" real "" 100 0 100 $control track-vl (_"Amplitude of original audio (percent)") real "" 100 0 100
;control noise-vl "Amplitude of white noise (percent)" real "" 0 0 100 $control noise-vl (_"Amplitude of white noise (percent)") real "" 0 0 100
;control radar-vl "Amplitude of Radar Needles (percent)" real "" 0 0 100 $control radar-vl (_"Amplitude of Radar Needles (percent)") real "" 0 0 100
;control radar-f "Frequency of Radar Needles (Hz)" real "" 30 1 100 $control radar-f (_"Frequency of Radar Needles (Hz)") real "" 30 1 100
; maybe the code once again has to be changed into _one_ local let-binding ; maybe the code once again has to be changed into _one_ local let-binding
; if you have lots of nyquist "[gc:" messages try this: ; if you have lots of nyquist "[gc:" messages try this:
@ -136,4 +136,4 @@
(0 s) ; let Audacity coerce back to stereo (0 s) ; let Audacity coerce back to stereo
(1 (vector original s))))) (1 (vector original s)))))
(t ; this effect isn't meant for mono (t ; this effect isn't meant for mono
"Error.\nStereo track required.")) (format nil (_"Error.~%Stereo track required."))))

View File

@ -1726,8 +1726,6 @@ bool NyquistEffect::Parse(
if (len >= 2 && tokens[0] == wxT("name")) { if (len >= 2 && tokens[0] == wxT("name")) {
mName = UnQuote(tokens[1]); mName = UnQuote(tokens[1]);
if (mName.EndsWith(wxT("...")))
mName = mName.RemoveLast(3);
return true; return true;
} }