Esempio n. 1
0
        public void Generate(ISignal signal, bool saveToFile = false)
        {
            var raw = new byte[SampleRate * Seconds * BYTES_PER_SOUND];

            for (int n = 0; n < SampleRate * Seconds; n++)
            {
                var x           = (double)n / SampleRate;
                var sampleValue = signal.GetNormalizedSignalValue(x);
                var sample      = (short)(sampleValue * MAX_VALUE);
                var bytes       = BitConverter.GetBytes(sample);

                raw[n * 2]     = bytes[0];
                raw[n * 2 + 1] = bytes[1];
            }

            Generate(raw, saveToFile);
        }