Hello All,
I’m using Windows 10 X64, t would be nice and very useful to me, if Chirp had another interpolation. Linear and Logarithmic, and perhaps “Increment”.
When I add a chirp, I normally use Linea interpolation, but instead of incrementing by 1, sometimes I need to increment by 1/2 or 1/4. Sometimes I need to increment by 5 hz. If such is available I haven’t found it.
Thanks very much to the Audacity development team, boolsifter
Audacity “could” include thousands of different sound generators, but as Audacity is an audio recorder and editor rather than a synthesizer, that would just be clutter for most users. What Audacity does instead is to provide a few basic generators, but also includes a scripting language called “Nyquist” to allow people to create their own generators.
Nyquist is a very comprehensive scripting language for working with audio. There’s some information about Nyquist scripting in the Audacity manual: https://manual.audacityteam.org/man/nyquist.html
Here’s some snippets to get you started. Lines beginning with a semicolon “;” are comments and are ignored by Nyquist - I’ve added comments to explain what the code is doing.
;generate a 440 Hz tone
(hzosc 440)
;set 'my-sig' to a 440 Hz tone
(setf mysig (hzosc 440))
;generate a 1000 Hz tone with amplitude 0.5
(mult 0.5 (hzosc 1000))
;generate a 1000 Hz tone with linear amplitude
;transition from 0.1 to 0.8
(mult (pwlv 0.1 1 0.8)
(hzosc 1000))
;generate a 1000 Hz tone with exponential
;amplitude transition from 0.1 to 0.8
(mult (pwev 0.1 1 0.8)
(hzosc 1000))
;set 'start-hz' to 100
(setf start-hz 100)
;set 'end-hz' to 1000
(setf end-hz 1000)
;generate a tone with a linear transition
(hzosc (pwlv start-hz 1 end-hz))
;set 'start-hz' to 100
(setf start-hz 100)
;set 'end-hz' to 1000
(setf end-hz 1000)
;generate a tone with an exponential
;transition from start-hz to end-hz.
(hzosc (pwev start-hz 1 end-hz))
;exponential amplitude transition and frequency transition:
;set 'start-hz' to 100
(setf start-hz 100)
;set 'end-hz' to 1000
(setf end-hz 1000)
;generate a tone with an exponential
;transition from start-hz to end-hz.
(setf my-sweep (hzosc (pwev start-hz 1 end-hz)))
;adjust the amplitude
(mult (pwev 0.1 1 0.8) my-sweep)