public override void Execute(Blocks.EventDescription e) { OpenSignalLib.Sources.Signal sig = null; foreach (var item in this.Frequencies) { float f = float.Parse(item); if (sig == null) { sig = new OpenSignalLib.Sources.Sinusoidal(f, 0.0f, (float)this.SampleRate, 1, this.Length); } else { sig += new OpenSignalLib.Sources.Sinusoidal(f, 0.0f, (float)this.SampleRate, 1, this.Length); } } OutputNodes[0].Object = sig; }
public override void Execute(EventDescription token) { float frequency = float.Parse(Utils.Parse(Frequency, "Frequency").ToString()); float phase = (float)((float.Parse(Utils.Parse(Frequency, "Frequency").ToString())) * (Math.PI / 180.0f)); float fs = float.Parse(Utils.Parse(SamplingRate, "SamplingRate").ToString()); float A = float.Parse(Utils.Parse(Amplitude, "Amplitude").ToString()); int length = -1; if (Length.EndsWith("s")) { length = (int)(float.Parse(Utils.Parse(Length.Trim('s'), "NumberOfSamples").ToString()) * fs); } else { length = int.Parse(Utils.Parse(Length, "NumberOfSamples").ToString()); } OpenSignalLib.Sources.Signal s = new OpenSignalLib.Sources.Sinusoidal(frequency, phase, fs, A, length); OutputNodes[0].Object = s; }