Accord.Audio.Generators.SineGenerator.Generate C# (CSharp) Метод

Generate() публичный Метод

Generates a signal.
public Generate ( int samples ) : Signal
samples int
Результат Signal
        public Signal Generate(int samples)
        {
            Signal signal = new Signal(Channels, samples, SamplingRate, Format);

            unsafe
            {
                if (Format == SampleFormat.Format32BitIeeeFloat)
                {
                    var dst = (float*)signal.Data.ToPointer();
                    for (int i = 0; i < signal.Samples; i++)
                        for (int c = 0; c < signal.Channels; c++, dst++)
                            *dst = (float)(Amplitude * Math.Sin(i * theta));
                }
                else if (Format == SampleFormat.Format64BitIeeeFloat)
                {
                    var dst = (double*)signal.Data.ToPointer();
                    for (int i = 0; i < signal.Samples; i++)
                        for (int c = 0; c < signal.Channels; c++, dst++)
                            *dst = (Amplitude * Math.Sin(i * theta));
                }
                else
                {
                    throw new UnsupportedSampleFormatException("Sample format is not supported by the filter.");
                }
            }

            return signal;
        }