code: func (o *Osc) Signal(length int) []float64 {
  	output := make([]float64, length)
  	for i := 0; i < length; i++ {
  		output[i] = o.Sample()
  	}
  	return output
  }
docs: // Signal uses the osc to generate a discreet signal