Пример #1
0
        /// <summary>
        /// Method for generating chirp signal according to formula:
        ///
        ///     y[n] = A * cos(2 * pi * (f0 + k * n) / fs * n)
        ///
        /// </summary>
        /// <returns></returns>
        protected override DiscreteSignal Generate()
        {
            Guard.AgainstNonPositive(_f0, "Start frequency");
            Guard.AgainstNonPositive(_f1, "End frequency");

            var k   = (float)((_f1 - _f0) / Length);
            var f   = (float)_f0;
            var amp = (float)_amplitude;

            return(Modulate.FrequencyLinear(f, amp, k, Length, SamplingRate));
        }
 public Godot.Collections.Dictionary <string, object> Save()
 {
     return(new Godot.Collections.Dictionary <string, object>()
     {
         { "Filename", Filename },
         { "Parent", GetParent().GetPath() },
         { "PositionX", Position.x },
         { "PositionY", Position.y },
         { "ModColor", Modulate.ToHtml(true) }
     });
 }
Пример #3
0
 /// <summary>
 /// Method implements simple tremolo effect
 /// </summary>
 /// <param name="signal"></param>
 /// <param name="filteringOptions"></param>
 /// <returns></returns>
 public DiscreteSignal ApplyTo(DiscreteSignal signal,
                               FilteringOptions filteringOptions = FilteringOptions.Auto)
 {
     return(Modulate.Amplitude(signal, Frequency, TremoloIndex));
 }