Chirp Interpolation

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.

The easiest way to run a Nyquist script is to make a selection in an audio track, then open the “Nyquist Prompt” tool (https://manual.audacityteam.org/man/nyquist_prompt.html), enter their Nyquist code, and apply it.

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)

Awesome answer, as I was looking at Nyquist. I only yesterday discovered “add macros” and between Nyquist and macros I can get what I need… Thanks

If you have questions about Nyquist, we have a forum board specifically for such questions: https://forum.audacityteam.org/viewforum.php?f=39
and for Macros: https://forum.audacityteam.org/viewforum.php?f=69