调频综合算法
根据阅读的内容,我制定了一种用于FM声音合成的算法。我不确定我是否做对了。创建软件合成器乐器时,将使用函数来生成振荡器,并使用调制器来对该振荡器的频率进行模数化。我不知道FM合成是否仅适用于调制正弦波? 该算法采用仪器的波函数以及调制器的调制器指标和比率。对于每个音符,它都采用频率并存储载波和调制器振荡器的相位值。调制器始终使用正弦波。 这是伪代码中的算法: function ProduceSample(instrument, notes_playing) for each note in notes_playing if note.isPlaying() # Calculate signal if instrument.FMIndex != 0 # Apply FM FMFrequency = note.frequency*instrument.FMRatio; # FM frequency is factor of note frequency. note.FMPhase = note.FMPhase + FMFrequency / kGraphSampleRate # Phase of modulator. frequencyDeviation = sin(note.FMPhase * PI)*instrument.FMIndex*FMFrequency …