/// <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) } }); }
/// <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)); }