public override double GetData() { double tmp; if (FM != null) { current += Math.PI * 2.0d * frequency * (1 + FM.GetData()) / sampleCount; } else { current += Math.PI * 2.0d * frequency / sampleCount; } if (AM != null) { tmp = ((Math.Asin(Math.Sin(current)) * amplitude * (1 + AM.GetData()) * 2 / Math.PI)); } else { tmp = ((Math.Asin(Math.Sin(current)) * amplitude * 2 / Math.PI)); } // current += step; return(tmp); }
public override double GetData() { var cycle = 2 * Math.PI; if (FM != null) { fiAngle += 2 * Math.PI * frequency * (1 + FM.GetData()) / sampleCount; } else { fiAngle += 2 * Math.PI * frequency / sampleCount; } if (AM != null) { return((fiAngle % cycle) / cycle > dutyCycle ? 0.0 : amplitude *(1 + AM.GetData())); } else { return((fiAngle % cycle) / cycle > dutyCycle ? 0.0 : amplitude); } }
public override double GetData() { double tmp; if (FM != null) { current += Math.PI * 2.0 * frequency * (1 + FM.GetData()) / sampleCount; } else { current += Math.PI * 2 * frequency / sampleCount; } if (AM != null) { var s = AM.GetData(); tmp = ((Math.Sin(current)) * amplitude * (1 + s)); } else { tmp = ((Math.Sin(current)) * amplitude); } return(tmp); }