        :doc "very fast sine oscillator"}
 
       {:name "OscN",
-       :args [{:name "bufnum" :doc "buffer index.  The buffer size must be a power of 2.  The buffer should NOT be filled using Wavetable format (b_gen commands should set wavetable flag to false.  Raw signals (not converted with asWavetable) can be saved to disk and loaded into the buffer."}
-              {:name "freq", :default 440.0 :doc "frequency in Hertz"}
-              {:name "phase", :default 0.0 :doc "phase offset or modulator in radians"}],
+       :args [{:name "bufnum" :doc "Buffer index.  The buffer size must be a power of 2.  The buffer should NOT be filled using Wavetable format (b_gen commands should set wavetable flag to false.  Raw signals (not converted with asWavetable) can be saved to disk and loaded into the buffer."}
+              {:name "freq", :default 440.0 :doc "Frequency in Hertz"}
+              {:name "phase", :default 0.0 :doc "Phase offset or modulator in radians"}],
        :doc "Noninterpolating wavetable lookup oscillator with frequency and phase modulation inputs.
 
 It is usually better to use the interpolating oscillator."}
 
       {:name "VOsc",
-       :args [{:name "bufpos" :doc " buffer index. Can be swept continuously among adjacent wavetable buffers of the same size."}
-              {:name "freq", :default 440.0 :doc "frequency in Hertz"}
-              {:name "phase", :default 0.0 :doc "phase offset of modulator in radians"}],
+       :args [{:name "bufpos" :doc "Buffer index. Can be swept continuously among adjacent wavetable buffers of the same size."}
+              {:name "freq", :default 440.0 :doc "Frequency in Hertz"}
+              {:name "phase", :default 0.0 :doc "Phase offset of modulator in radians"}],
        :doc "A wavetable lookup oscillator which can be swept smoothly across wavetables. All the wavetables must be allocated to the same size. Fractional values of table will interpolate between two adjacent tables.
 
 This oscillator requires at least two buffers to be filled with a wavetable format signal.  This preprocesses the Signal into a form which can be used efficiently by the Oscillator.  The buffer size must be a power of 2.
 "}
 
       {:name "VOsc3",
-       :args [{:name "bufpos" :doc "buffer index. Can be swept continuously among adjacent wavetable buffers of the same size."}
-              {:name "freq1", :default 110.0 :doc "frequency in Hertz of first oscillator"}
-              {:name "freq2", :default 220.0 :doc "frequency in Hertz of second oscillator"}
-              {:name "freq3", :default 440.0 :doc "frequency in Hertz of third oscillator"}],
+       :args [{:name "bufpos" :doc "Buffer index. Can be swept continuously among adjacent wavetable buffers of the same size."}
+              {:name "freq1", :default 110.0 :doc "Frequency in Hertz of first oscillator"}
+              {:name "freq2", :default 220.0 :doc "Frequency in Hertz of second oscillator"}
+              {:name "freq3", :default 440.0 :doc "Frequency in Hertz of third oscillator"}],
        :doc "Three variable wavetable oscillators.
 
 A wavetable lookup oscillator which can be swept smoothly across wavetables. All the wavetables must be allocated to the same size. Fractional values of table will interpolate between two adjacent tables. This unit generator contains three oscillators at different frequencies, mixed together.

"}

      {:name "LFPulse",
       :args [{:name "freq", :default 440.0 :doc "frequency in Hertz"}
              {:name "iphase", :default 0.0 :doc "initial phase offset in cycles ( 0..1 )"
               }
              {:name "width", :default 0.5 :doc "pulse width duty cycle from zero to one"}]
       :signal-range :unipolar
       :rates #{:ar :kr}
       :doc "A non-band-limited pulse oscillator. Outputs a high value of one and a low value of zero.
"}

      {:name "VarSaw",
       :args [{:name "freq", :default 440.0 :doc "frequency in Hertz"}
              {:name "iphase", :default 0.0 :doc "initial phase offset in cycles ( 0..1 )"}
              {:name "width", :default 0.5 :doc "duty cycle from zero to one."}]
       :rates #{:ar :kr}
       :doc "a variable duty cycle saw wave oscillator"}


      {:name "Impulse",
       :args [{:name "freq", :default 440.0 :doc "frequency in Hertz"}
              {:name "phase", :default 0.0 :doc "phase offset in cycles ( 0..1 )"}]
       :signal-range :unipolar
       :rates #{:ar :kr}
       :doc "non band limited impulse oscillator"}


      {:name "SyncSaw",
       :args [{:name "syncFreq", :default 440.0 :doc "frequency of the fundamental."}
              {:name "sawFreq", :default 440.0 :doc "frequency of the slave synched sawtooth wave. sawFreq should always be greater than syncFreq."}]
       :muladd true
       :rates #{:ar :kr}
       :doc "hard sync sawtooth wave oscillator

This oscillator requires at least two buffers to be filled with a wavetable format signal.  This preprocesses the Signal into a form which can be used efficiently by the Oscillator.  The buffer size must be a power of 2. "}

      {:name "COsc",
       :args [{:name "bufnum" :doc "The number of a buffer filled in wavetable format"}
              {:name "freq", :default 440.0 :doc "Frequency in Hertz"}
              {:name "beats", :default 0.5 :doc "Beat frequency in Hertz"}],
       :doc "Chorusing wavetable lookup oscillator. Produces sum of two signals at  (freq +/- (beats / 2)). Due to summing, the peak amplitude is twice that of the wavetable."}

      {:name "Formant",
       :args [{:name "fundfreq", :default 440.0 :doc "Fundamental frequency in Hertz (control rate)"}
              {:name "formfreq", :default 1760.0 :doc "Formant frequency in Hertz (control rate)"}
              {:name "bwfreq", :default 880.0 :doc "Pulse width frequency in Hertz. Controls the bandwidth of the formant (control rate)"}],
       :rates #{:ar},
       :doc "Generates a set of harmonics around a formant frequency at a given fundamental frequency.

