/// <summary> /// 多音色波形生成 /// </summary> /// <param name="sampleRate">采样率</param> /// <param name="waveLength">波形长度</param> /// <param name="amplitude">波幅</param> /// <param name="frequencyMin">最低频率</param> /// <param name="frequencyMax">最高频率</param> /// <param name="frequencyPoints">频率个数</param> /// <param name="isLog">是否对数波形</param> /// <param name="optimizeCrestFactor">是否优化参数</param> /// <returns>波形数据</returns> public static double[] MultiToneWaveform(double sampleRate, uint waveLength, double amplitude, double frequencyMin, double frequencyMax, ushort frequencyPoints, bool isLog = false, bool optimizeCrestFactor = false) { MultiToneWaveform multiToneWaveform = new MultiToneWaveform(); multiToneWaveform.CreateData(amplitude, frequencyMin, frequencyMax, frequencyPoints, waveLength, isLog, optimizeCrestFactor, sampleRate); double[] waveData = new double[multiToneWaveform.GetTotalPoints()]; multiToneWaveform.GetCopyOfData(waveData); return(waveData); }