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:
commit
36ab6c7334
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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*))
|
||||||
|
@ -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*)))
|
||||||
|
@ -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*)))
|
||||||
|
@ -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)))))
|
||||||
|
|
||||||
|
@ -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))
|
||||||
|
@ -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))
|
||||||
|
@ -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))
|
||||||
|
@ -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.")))
|
||||||
|
@ -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))
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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)))
|
||||||
|
@ -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))
|
||||||
|
@ -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)))
|
||||||
|
@ -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)))
|
||||||
|
@ -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]
|
||||||
|
@ -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)))))
|
||||||
|
@ -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)
|
||||||
|
@ -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. ~a samples. ~a seconds.<br></h4>
|
<h4>~a. " (_"~a samples.") " " (_"~a seconds.") "<br></h4>
|
||||||
<h3>Audio data analysis:</h3>
|
<h3>" (_"Audio data analysis:") "</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><b>Sample Rate:</b> ~a Hz.</li>
|
<li>" (_"<b>Sample Rate:</b> ~a Hz.") "</li>"
|
||||||
<li><b>Peak Amplitude:</b> ~a (lin) ~a dB.</li>
|
; i18n-hint: abbreviates "linear" and "decibels"
|
||||||
<li><b>RMS</b> (unweighted): ~a dB.</li>
|
"<li>" (_"<b>Peak Amplitude:</b> ~a (lin) ~a dB.") "</li>"
|
||||||
<li><b>DC Offset:</b> ~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): ~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> ~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, ~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 linear, ~a dB."
|
(format nil (_"Left: ~a lin, ~a dB | Right: ~a linear, ~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
|
||||||
|
@ -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
|
||||||
|
@ -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))
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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."))))
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user