以下の投稿でYM2414 (OPZ)搭載機の実機のOperator波形を観察してみた結果、プログラマティックに容易に生成できそうなことが判りました。
wave.hatenablog.com
本投稿では、実際にOPZと同様のOperator波形を生成してみた結果を紹介します*1。また、サイン波以外のOperator波形が利用可能になったのはOPZ系からですが、これとは別にTG77/SY77のAFM(Advanced FM)音源でもOperator波形は拡充されました。というわけで、AFMのOperator波形についても再現を試みました。
作ったもの
C言語で書いたオシレーター。
これを基に、Linux ALSAで実際に音を出せるシンセサイザーを組むとか、KORG NTS-1のオシレータとして組み込むなど応用できますが、とりあえずWavファイルに吐き出すようにしました。
以下に各Wavファイルの波形の1周期をプロットした画像を掲載します。X軸の目盛りが微妙にズレてますが、画像プロット時の制約のようなものなので無視してください*2。
OPZ再現編
- OPZ Operator waveform#1
- 単なるサイン波です。
- OPZ Operator waveform#2
- OPZ Operator waveform#3
- OPZ Operator waveform#4
- OPZ固有波形です。
- OPZ Operator waveform#5
- OPZ Operator waveform#6
- OPZ Operator waveform#7
- OPZ Operator waveform#8
図形として目で見ると似たような印象を受ける波形もありますが、個々の波形は別個のものです。アニメーションGIFにすると以下の通り。
(アニメーションGIF化して閃いたんですが、各オペレータ波形をWaveSequence組めるようにするとか、単純に2波形を延々とクロスフェードできるようにするとかしても楽しそうかもと思ったので、自作シンセ開発に取り入れてみようと思います。)
YM2414(OPZ)搭載機の実機と聞き比べてみましたが、ほとんど同じよく似た音に聴こえます(同様のスペクトル分布になってます)。
AFM再現編
- AFM Operator waveform#1
- OPZの#1と同一波形です。
- AFM Operator waveform#2
- OPZの#2と同一波形です。
- AFM Operator waveform#3
- OPZの#3と同一波形です。
- AFM Operator waveform#4
- AFM固有波形です。
- AFM Operator waveform#5
- OPZの#5と同一波形です。
- AFM Operator waveform#6
- OPZの#6と同一波形です。
- AFM Operator waveform#7
- OPZの#7と同一波形です。
- AFM Operator waveform#8
- OPZの#8と同一波形です。
- AFM Operator waveform#9
- AFM固有波形です。
- AFM Operator waveform#10
- AFM固有波形です。
- AFM Operator waveform#11
- AFM固有波形です。
- AFM Operator waveform#12
- AFM固有波形です。
- AFM Operator waveform#13
- AFM固有波形です。
- AFM Operator waveform#14
- AFM固有波形です。
- AFM Operator waveform#15
- AFM固有波形です。
- AFM Operator waveform#16
- AFM固有波形です。
これらもアニメーションGIF化すると以下のようになります。
AFMのオペレータ再現波形については手元に実機が無いため、聴感上似ているのか確認はできていません*3。
以上。