         else
             # frequency
             @activeOscillators[0].frequency.cancelScheduledValues now
-            @activeOscillators[0].frequency.setTargetAtTime frequency * @parameters.octave * Audio.CUR_OCTAVE[Audio.OCTAVE_STEP], 0, @parameters.portamento / 1000.0
+            @activeOscillators[0].frequency.setTargetAtTime frequency * @parameters.octave * Audio.CUR_OCTAVE[Audio.OCTAVE_STEP], 0, @parameters.portamento / 1000.0 || 0.001
         null
 
     stop: (frequency) ->

                null
            else
                @activeOscillators[0].frequency.cancelScheduledValues now
                @activeOscillators[0].frequency.setTargetAtTime @active[@active.length-1] * @parameters.octave, 0, @parameters.portamento / 1000
        null

    @property 'type',

        oscillator.originalFrequency = frequency
        oscillator.nofg = nofg
        oscillator.frequency.cancelScheduledValues now
        oscillator.frequency.setTargetAtTime frequency * @parameters.octave * Audio.CUR_OCTAVE[Audio.OCTAVE_STEP], 0, @parameters.portamento / 1000.0 || 0.001
        oscillator.detune.setValueAtTime @parameters.detune, 0
        oscillator.connect nofg
        oscillator.start now
