Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.
Close
From: David R. Sky <sky@wa...>  20041214 07:20:59
Attachments:
turntablewarp.ny

* turntablewarp.ny: Turntable Warping (version 2 plugin) You can simulate unplugging your turntable while it's playing, plugging it in, and related effects. At this point only works on mono audio. A version 2 Nyquist plugin which works on Audacity 1.2.3 and later. Variables with explanations: "step" indicates how many semitones above or below pitch of original audio (6 steps = half an octave, 12 steps = 1 octave, etc.); "amplitude" indicates volume level (in percent). There are 5 values you can change: 1. start step (default 0): how many semitones above or below original audio at start of selection; 2. start amplitude (default 100%): volume at start of selection; 3. change time (default 50%): point in time of original selection at which warping values can change between first and second part of selection. This point has an internal step value of 0 and internal volume of 100%; 4. end step (default 12): at end of warped selection, how many semitones audio has been warped; 5. end volume (default 40%): volume at end of warped audio. Applying this plugin with the default settings results in the audio starting to slow down halfway through the original selection, and dropping to 40% of original volume. Like unplugging a turntable while it's playing. Since the "change time" is internally set at step 0 and volume 100%, different warping effects can be created, depending on the start and end step and volume values: slowing down then speeding up; speeding up then slowing down; speeding up then remaining normal; slowly speeding up then quickly speeding up; etc. Thanks to Roger B. Dannenberg for the warp tutorial on which this plugin is based. Copy turntablewarp.ny into the Audacity plugins folder. next time you start Audacity, Turntable Warping (V2) will appear in the effects menu. Written by David R. Sky December 13, 2004 Released under terms of the GNU Public license http://www.opensource.org/licenses/gpllicense.php For digest recipients, turntablewarp.ny is included below. Make sure the three lines of the ;info line are on a single line, and that lines starting with a semicolon (;) are also not word wrapped. {begin plugin} ;nyquist plugin ;version 2 ;type process ;name "Turntable Warping (V2)..." ;action "Warping audio..." ;info "Turntable Warping by David R. Sky\nbased on warp tutorial by Roger B. Dannenberg\nSteps are number of semitones above or below nonwarped audio\nreleased under terms of the GNU Public License" ;control step0 "Initial step" int "semitones" 0 36 36 ;control amp0 "Initial amplitude" int "percent" 100 0 100 ;control midtime "Change time" real "percent" 50.0 0.0 100.0 ;control step1 "End step" int "semitones" 12 36 36 ;control amp1 "End amplitude" int "percent" 40 0 100 ; Turntable Warping by David R. Sky, December 13, 2004 ; step values are semitones above or below pitch of unwarped audio ; Based on warp tutorial by Roger B. Dannenberg ; Released under terms of the GNU Public License ; http://www.opensource.org/licenses/gpllicense.php ; determine duration of selection in seconds (setf dur (/ len *soundsrate*)) ; set percentages for amp values (setf amp0 (* amp0 0.01)) (setf amp1 (* amp1 0.01)) ; function to stretch audio to inverse of duration (defun newstretch (dur s) (forcesrate 44100 (stretchabs (/ 1.0 dur) (sound s)))) ; Variable Resample function by Roger B. Dannenberg (defun variableresample (steps snd) ; p1 helps convert steps to a ratio (let ((p1 (/ (log 2.0) 12)) ratio map) ; pitch ratio (setf ratio (sexp (mult steps p1))) ; map from realtime to sound time (setf map (integrate ratio)) (sndcompose snd (forcesrate *soundsrate* map)))) ; some of the math below may be incorrect ; ; calculate duration after warp ; this math is an assumption of ; how to calculate duration after warp ; otherwise there's an obvious click at end of audio ; when negative step values are used (defun warptime (step midtime) (* midtime (expt 2.0 (/ step 24.0)))) ; convert midtime percentage to real time (setf midtime0 (* midtime 0.01 dur)) (setf midtime1 (* ( 1.0 (* midtime 0.01)) dur)) ; approximate finish time for warp pwl ; which is then multiplied by 10 ; to alleviate ending click (setf finish (* 10.0 (+ (warptime step0 midtime0) (warptime step1 midtime1)))) ; doing the warp (newstretch dur (variableresample (pwl 0.0 step0 midtime0 0 dur step1 finish step1) (mult (pwl 0.0 amp0 midtime 1.0 dur amp1 dur) (sound s)))) (end plugin}  
From: <sebchopin@ya...>  20041226 15:46:48

This plugin is so great !!! Thanx a lot for made it !!!! Is it very hard to make this effect available to a stereo track ? Sebastien  "David R. Sky" <sky@...> a écrit : > * turntablewarp.ny: Turntable Warping (version 2 plugin) > > You can simulate unplugging your turntable while it's playing, > plugging it in, and related effects. At this point only works on > mono audio. A version 2 Nyquist plugin which works on Audacity > 1.2.3 and later. > > Variables with explanations: > > "step" indicates how many semitones above or below pitch of > original audio (6 steps = half an octave, 12 steps = 1 octave, > etc.); > > "amplitude" indicates volume level (in percent). > > There are 5 values you can change: > > 1. start step (default 0): how many semitones above or below > original audio at start of selection; > > 2. start amplitude (default 100%): volume at start of selection; > > 3. change time (default 50%): point in time of original selection > at which warping values can change between first and second part of > selection. This point has an internal step value of 0 and internal > volume of 100%; > > 4. end step (default 12): at end of warped selection, how many > semitones audio has been warped; > > 5. end volume (default 40%): volume at end of warped audio. > > Applying this plugin with the default settings results in the > audio starting to slow down halfway through the original selection, > and dropping to 40% of original volume. Like unplugging a turntable > while it's playing. > > Since the "change time" is internally set at step 0 and volume > 100%, different warping effects can be created, depending on the > start and end step and volume values: > > slowing down then speeding up; > speeding up then slowing down; > speeding up then remaining normal; > slowly speeding up then quickly speeding up; > etc. > > Thanks to Roger B. Dannenberg for the warp tutorial on which this > plugin is based. > > Copy turntablewarp.ny into the Audacity plugins folder. next time > you start Audacity, Turntable Warping (V2) will appear in the > effects menu. > > Written by David R. Sky December 13, 2004 > Released under terms of the GNU Public license > http://www.opensource.org/licenses/gpllicense.php > > For digest recipients, turntablewarp.ny is included below. Make > sure the three lines of the ;info line are on a single line, and > that lines starting with a semicolon (;) are also not word wrapped. > > {begin plugin} > > ;nyquist plugin > ;version 2 > ;type process > ;name "Turntable Warping (V2)..." > ;action "Warping audio..." > ;info "Turntable Warping by David R. Sky\nbased on warp tutorial by > Roger B. Dannenberg\nSteps are number of semitones above or below > nonwarped audio\nreleased under terms of the GNU Public License" > > ;control step0 "Initial step" int "semitones" 0 36 36 > ;control amp0 "Initial amplitude" int "percent" 100 0 100 > ;control midtime "Change time" real "percent" 50.0 0.0 100.0 > ;control step1 "End step" int "semitones" 12 36 36 > ;control amp1 "End amplitude" int "percent" 40 0 100 > > ; Turntable Warping by David R. Sky, December 13, 2004 > ; step values are semitones above or below pitch of unwarped audio > ; Based on warp tutorial by Roger B. Dannenberg > ; Released under terms of the GNU Public License > ; http://www.opensource.org/licenses/gpllicense.php > > ; determine duration of selection in seconds > (setf dur (/ len *soundsrate*)) > > ; set percentages for amp values > (setf amp0 (* amp0 0.01)) > (setf amp1 (* amp1 0.01)) > > ; function to stretch audio to inverse of duration > (defun newstretch (dur s) > (forcesrate 44100 (stretchabs (/ 1.0 dur) (sound s)))) > > ; Variable Resample function by Roger B. Dannenberg > (defun variableresample (steps snd) > ; p1 helps convert steps to a ratio > (let ((p1 (/ (log 2.0) 12)) ratio map) > ; pitch ratio > (setf ratio (sexp (mult steps p1))) > ; map from realtime to sound time > (setf map (integrate ratio)) > (sndcompose snd (forcesrate *soundsrate* map)))) > > ; some of the math below may be incorrect > ; > ; calculate duration after warp > ; this math is an assumption of > ; how to calculate duration after warp > ; otherwise there's an obvious click at end of audio > ; when negative step values are used > (defun warptime (step midtime) > (* midtime (expt 2.0 (/ step 24.0)))) > > ; convert midtime percentage to real time > (setf midtime0 (* midtime 0.01 dur)) > (setf midtime1 (* ( 1.0 (* midtime 0.01)) dur)) > > ; approximate finish time for warp pwl > ; which is then multiplied by 10 > ; to alleviate ending click > (setf finish (* 10.0 (+ (warptime step0 midtime0) > (warptime step1 midtime1)))) > > ; doing the warp > (newstretch dur > (variableresample > (pwl 0.0 step0 midtime0 0 dur step1 finish step1) > (mult (pwl 0.0 amp0 midtime 1.0 dur amp1 dur) > (sound s)))) > > (end plugin} >  > ;nyquist plugin > ;version 2 > ;type process > ;name "Turntable Warping (V2)..." > ;action "Warping audio..." > ;info "Turntable Warping by David R. Sky\nbased on warp tutorial by > Roger B. Dannenberg\nSteps are number of semitones above or below > nonwarped audio\nreleased under terms of the GNU Public License" > > ;control step0 "Initial step" int "semitones" 0 36 36 > ;control amp0 "Initial amplitude" int "percent" 100 0 100 > ;control midtime "Change time" real "percent" 50.0 0.0 100.0 > ;control step1 "End step" int "semitones" 12 36 36 > ;control amp1 "End amplitude" int "percent" 40 0 100 > > ; Turntable Warping by David R. Sky, December 13, 2004 > ; step values are semitones above or below pitch of unwarped audio > ; Based on warp tutorial by Roger B. Dannenberg > ; Released under terms of the GNU Public License > ; http://www.opensource.org/licenses/gpllicense.php > > ; determine duration of selection in seconds > (setf dur (/ len *soundsrate*)) > > ; set percentages for amp values > (setf amp0 (* amp0 0.01)) > (setf amp1 (* amp1 0.01)) > > ; function to stretch audio to inverse of duration > (defun newstretch (dur s) > (forcesrate 44100 (stretchabs (/ 1.0 dur) (sound s)))) > > ; Variable Resample function by Roger B. Dannenberg > (defun variableresample (steps snd) > ; p1 helps convert steps to a ratio > (let ((p1 (/ (log 2.0) 12)) ratio map) > ; pitch ratio > (setf ratio (sexp (mult steps p1))) > ; map from realtime to sound time > (setf map (integrate ratio)) > (sndcompose snd (forcesrate *soundsrate* map)))) > > ; some of the math below may be incorrect > ; > ; calculate duration after warp > ; this math is an assumption of > ; how to calculate duration after warp > ; otherwise there's an obvious click at end of audio > ; when negative step values are used > (defun warptime (step midtime) > (* midtime (expt 2.0 (/ step 24.0)))) > > ; convert midtime percentage to real time > (setf midtime0 (* midtime 0.01 dur)) > (setf midtime1 (* ( 1.0 (* midtime 0.01)) dur)) > > ; approximate finish time for warp pwl > ; which is then multiplied by 10 > ; to alleviate ending click > (setf finish (* 10.0 (+ (warptime step0 midtime0) > (warptime step1 midtime1)))) > > ; doing the warp > (newstretch dur > (variableresample > (pwl 0.0 step0 midtime0 0 dur step1 finish step1) > (mult (pwl 0.0 amp0 midtime 1.0 dur amp1 dur) > (sound s)))) > > ===== ______________________________________________________________________ S'il vous plaît, évitez de m'envoyer des attachements au format Word ou PowerPoint. Voir http://www.fsf.org/philosophy/nowordattachments.fr.html ______________________________________________________________________ 22nd SAS Alouette Anarchy Area51 Artichoke B.D.M.Sphinx Beyond Hope Blackmednet botux CIA Coderpunks Comirex Cornflower Cryptanalysis D11 Defcon E911 Exon Shell FBI FINCEN GSG9 Guppy Hollyhock ISACA Jasmine Jihad Kilderkin M72750 Mossberg NSA 
From: David R. Sky <sky@wa...>  20041226 17:41:15

I suspect it wouldn't be too difficult, I just haven't had the time recentl= y=20 to work on a mono/stereo version.Glad you enjoy it. David On Sun, 26 Dec 2004, S=E9bastien Chopin wrote: > This plugin is so great !!! > Thanx a lot for made it !!!! > Is it very hard to make this effect available to a stereo track ? > > Sebastien > > > >  "David R. Sky" <sky@...> a =E9crit : >> * turntablewarp.ny: Turntable Warping (version 2 plugin) >> >> You can simulate unplugging your turntable while it's playing, >> plugging it in, and related effects. At this point only works on >> mono audio. A version 2 Nyquist plugin which works on Audacity >> 1.2.3 and later. >> >> Variables with explanations: >> >> "step" indicates how many semitones above or below pitch of >> original audio (6 steps =3D half an octave, 12 steps =3D 1 octave, >> etc.); >> >> "amplitude" indicates volume level (in percent). >> >> There are 5 values you can change: >> >> 1. start step (default 0): how many semitones above or below >> original audio at start of selection; >> >> 2. start amplitude (default 100%): volume at start of selection; >> >> 3. change time (default 50%): point in time of original selection >> at which warping values can change between first and second part of >> selection. This point has an internal step value of 0 and internal >> volume of 100%; >> >> 4. end step (default 12): at end of warped selection, how many >> semitones audio has been warped; >> >> 5. end volume (default 40%): volume at end of warped audio. >> >> Applying this plugin with the default settings results in the >> audio starting to slow down halfway through the original selection, >> and dropping to 40% of original volume. Like unplugging a turntable >> while it's playing. >> >> Since the "change time" is internally set at step 0 and volume >> 100%, different warping effects can be created, depending on the >> start and end step and volume values: >> >> slowing down then speeding up; >> speeding up then slowing down; >> speeding up then remaining normal; >> slowly speeding up then quickly speeding up; >> etc. >> >> Thanks to Roger B. Dannenberg for the warp tutorial on which this >> plugin is based. >> >> Copy turntablewarp.ny into the Audacity plugins folder. next time >> you start Audacity, Turntable Warping (V2) will appear in the >> effects menu. >> >> Written by David R. Sky December 13, 2004 >> Released under terms of the GNU Public license >> http://www.opensource.org/licenses/gpllicense.php >> >> For digest recipients, turntablewarp.ny is included below. Make >> sure the three lines of the ;info line are on a single line, and >> that lines starting with a semicolon (;) are also not word wrapped. >> >> {begin plugin} >> >> ;nyquist plugin >> ;version 2 >> ;type process >> ;name "Turntable Warping (V2)..." >> ;action "Warping audio..." >> ;info "Turntable Warping by David R. Sky\nbased on warp tutorial by >> Roger B. Dannenberg\nSteps are number of semitones above or below >> nonwarped audio\nreleased under terms of the GNU Public License" >> >> ;control step0 "Initial step" int "semitones" 0 36 36 >> ;control amp0 "Initial amplitude" int "percent" 100 0 100 >> ;control midtime "Change time" real "percent" 50.0 0.0 100.0 >> ;control step1 "End step" int "semitones" 12 36 36 >> ;control amp1 "End amplitude" int "percent" 40 0 100 >> >> ; Turntable Warping by David R. Sky, December 13, 2004 >> ; step values are semitones above or below pitch of unwarped audio >> ; Based on warp tutorial by Roger B. Dannenberg >> ; Released under terms of the GNU Public License >> ; http://www.opensource.org/licenses/gpllicense.php >> >> ; determine duration of selection in seconds >> (setf dur (/ len *soundsrate*)) >> >> ; set percentages for amp values >> (setf amp0 (* amp0 0.01)) >> (setf amp1 (* amp1 0.01)) >> >> ; function to stretch audio to inverse of duration >> (defun newstretch (dur s) >> (forcesrate 44100 (stretchabs (/ 1.0 dur) (sound s)))) >> >> ; Variable Resample function by Roger B. Dannenberg >> (defun variableresample (steps snd) >> ; p1 helps convert steps to a ratio >> (let ((p1 (/ (log 2.0) 12)) ratio map) >> ; pitch ratio >> (setf ratio (sexp (mult steps p1))) >> ; map from realtime to sound time >> (setf map (integrate ratio)) >> (sndcompose snd (forcesrate *soundsrate* map)))) >> >> ; some of the math below may be incorrect >> ; >> ; calculate duration after warp >> ; this math is an assumption of >> ; how to calculate duration after warp >> ; otherwise there's an obvious click at end of audio >> ; when negative step values are used >> (defun warptime (step midtime) >> (* midtime (expt 2.0 (/ step 24.0)))) >> >> ; convert midtime percentage to real time >> (setf midtime0 (* midtime 0.01 dur)) >> (setf midtime1 (* ( 1.0 (* midtime 0.01)) dur)) >> >> ; approximate finish time for warp pwl >> ; which is then multiplied by 10 >> ; to alleviate ending click >> (setf finish (* 10.0 (+ (warptime step0 midtime0) >> (warptime step1 midtime1)))) >> >> ; doing the warp >> (newstretch dur >> (variableresample >> (pwl 0.0 step0 midtime0 0 dur step1 finish step1) >> (mult (pwl 0.0 amp0 midtime 1.0 dur amp1 dur) >> (sound s)))) >> >> (end plugin} >>  > ;nyquist plugin >> ;version 2 >> ;type process >> ;name "Turntable Warping (V2)..." >> ;action "Warping audio..." >> ;info "Turntable Warping by David R. Sky\nbased on warp tutorial by >> Roger B. Dannenberg\nSteps are number of semitones above or below >> nonwarped audio\nreleased under terms of the GNU Public License" >> >> ;control step0 "Initial step" int "semitones" 0 36 36 >> ;control amp0 "Initial amplitude" int "percent" 100 0 100 >> ;control midtime "Change time" real "percent" 50.0 0.0 100.0 >> ;control step1 "End step" int "semitones" 12 36 36 >> ;control amp1 "End amplitude" int "percent" 40 0 100 >> >> ; Turntable Warping by David R. Sky, December 13, 2004 >> ; step values are semitones above or below pitch of unwarped audio >> ; Based on warp tutorial by Roger B. Dannenberg >> ; Released under terms of the GNU Public License >> ; http://www.opensource.org/licenses/gpllicense.php >> >> ; determine duration of selection in seconds >> (setf dur (/ len *soundsrate*)) >> >> ; set percentages for amp values >> (setf amp0 (* amp0 0.01)) >> (setf amp1 (* amp1 0.01)) >> >> ; function to stretch audio to inverse of duration >> (defun newstretch (dur s) >> (forcesrate 44100 (stretchabs (/ 1.0 dur) (sound s)))) >> >> ; Variable Resample function by Roger B. Dannenberg >> (defun variableresample (steps snd) >> ; p1 helps convert steps to a ratio >> (let ((p1 (/ (log 2.0) 12)) ratio map) >> ; pitch ratio >> (setf ratio (sexp (mult steps p1))) >> ; map from realtime to sound time >> (setf map (integrate ratio)) >> (sndcompose snd (forcesrate *soundsrate* map)))) >> >> ; some of the math below may be incorrect >> ; >> ; calculate duration after warp >> ; this math is an assumption of >> ; how to calculate duration after warp >> ; otherwise there's an obvious click at end of audio >> ; when negative step values are used >> (defun warptime (step midtime) >> (* midtime (expt 2.0 (/ step 24.0)))) >> >> ; convert midtime percentage to real time >> (setf midtime0 (* midtime 0.01 dur)) >> (setf midtime1 (* ( 1.0 (* midtime 0.01)) dur)) >> >> ; approximate finish time for warp pwl >> ; which is then multiplied by 10 >> ; to alleviate ending click >> (setf finish (* 10.0 (+ (warptime step0 midtime0) >> (warptime step1 midtime1)))) >> >> ; doing the warp >> (newstretch dur >> (variableresample >> (pwl 0.0 step0 midtime0 0 dur step1 finish step1) >> (mult (pwl 0.0 amp0 midtime 1.0 dur amp1 dur) >> (sound s)))) >> >> > > =3D=3D=3D=3D=3D > ______________________________________________________________________ > > S'il vous pla=EEt, =E9vitez de m'envoyer des attachements au format Word = ou PowerPoint. > Voir http://www.fsf.org/philosophy/nowordattachments.fr.html > ______________________________________________________________________ > > > 22nd SAS Alouette Anarchy Area51 Artichoke B.D.M.Sphinx Beyond Hope Black= mednet botux CIA Coderpunks Comirex Cornflower Cryptanalysis D11 Defcon E9= 11 Exon Shell FBI FINCEN GSG9 Guppy Hollyhock ISACA Jasmine Jihad Kilderki= n M72750 Mossberg NSA > > >  > SF email is sponsored by  The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > =20 