Пример #1
0
 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;
 }
Пример #2
0
        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;
        }