FM trialはFM音源のVSTインストゥルメントを自作して、
昔懐かしいYM2151のような音が出せるかもしれない
というロマンを追うトライアルプロジェクトです。
BLOGにて制作過程を記録しております。
名前 | 内容 | 範囲 | 解説 |
MX | 同時発音数 | 1~8 | 1に設定するとモノモードです |
AL | アルゴリズム | 0~7 | YM2151互換アルゴリズムです |
FB | フィードバックレベル | 0~7 | YM2151互換フィードバックです |
OS | オシレータキーシンク | ON/OFF | ONにすると必ず位相0から発音されます |
PB | ピッチベンド幅 | 0~127 | 単位は半音です。デフォルトは2半音 |
OSの下 | ノイズ | nof~non | nonでノイズオン |
PBの下 | ノイズ | 0~31 | ノイズ周波数 |
AR | アタックレイト | 0~31 | EGのアタックレイト |
DR | ディケイレイト | 0~31 | EGのディケイレイト |
SR | サスティンレイト | 0~31 | EGのサスティンレイト |
RR | リリースレイト | 0~15 | EGのリリースレイト |
SL | サスティンレベル | 0~15 | EGのサスティンレベル |
TL | トータルレベル | 0~127 | オペレータの音量レベル |
KS | キースケール | 0~3 | EGのキースケール。高音になるほどエンベロープが締まります |
ML | マルチプル | 0~15 | オペレータの音程 |
D1 | デチューン1 | 0~99 | オペレータの音程微調整1。0~7はYM2151と同じで、2桁目はその数+1*2だけデチューンがかかる。例:27→-3段階目の3*2倍 |
D2 | デチューン2 | 0~3 | オペレータの音程微調整2。非整数倍 |
WF | ウェーブフォーム | sin,squ,saw,tri | サイン波、矩形波、ノコギリ波、三角波 |
名前 | 内容 | 範囲 | 解説 |
FT1 | フィルターセレクタ | OFF LPS2 LPS4 HPSS BPSS NTCH LSLF HSLF PEEK | フィルターOFF ローパスフィルター1 ローパスフィルター2(moogtype) ハイパスフィルター バンドパスフィルター ノッチフィルター ローシェルフフィルター ハイシェルフフィルター ピークフィルター |
FREQ | 周波数 | 0~127 | |
RES | レゾナンス | 0~127 | |
Q | Q値 | 0~127 | |
GAN | ゲイン | 0~127 | |
AMT | アマウント | 0~127 | フィルターのエンベロープの掛かり具合。64でフィルターにエンベロープがかからなくなります。64から離れる程沢山フィルターがかかります。0と127が最もエンベロープがかかります。63以下は逆、65以上は正の向き。 |
AR | アタックレイト | 0~127 | |
DR | ディケイレイト | 0~127 | |
SR | サスティンレイト | 0~127 | |
RR | リリースレイト | 0~127 | |
SL | サスティンレベル | 0~127 |
名前 | 内容 | 範囲 | 解説 |
FT1 | フィルターセレクタ | OFF LPS2 LPS4 HPSS BPSS NTCH LSLF HSLF PEEK | フィルターOFF ローパスフィルター1 ローパスフィルター2(moogtype) ハイパスフィルター バンドパスフィルター ノッチフィルター ローシェルフフィルター ハイシェルフフィルター ピークフィルター |
FREQ | 周波数 | 0~127 | |
RES | レゾナンス | 0~127 | |
Q | Q値 | 0~127 | |
LFO | LFOスイッチ | ON/OFF | |
TYP | LFOタイプ | TRI SIN SAW SQU | タイプを三角、サイン、ノコギリ、矩形から選択 |
DPT | LFOデプス | 0~127 | LFOの深さ |
RAT | LFOレート | 0~127 | LFOの長さ |
名前 | 内容 | 範囲 | 解説 |
CHO | コーラスの種類 | OFF/MONO/STEREO | |
DPT | デプス | 0~127 | 深さ |
RAT | レイト | 0~127 | 長さ |
FBK | フィードバック | 0~127 | フィードバックの量 |
LVL | レベル | 0~127 | コーラス成分の音量 |
SPR | スプレッド | 0~127 | 広がり具合 |
DLY | コーラスの種類 | OFF/MONO/STEREO | |
TIM | タイム | 0~127 | ディレイタイム |
FBK | フィードバック | 0~127 | フィードバックの量 |
TON | トーン | 0~127 | ディレイ成分のハイパスフィルターの周波数 |
LVL | レベル | 0~127 | ディレイ成分の音量 |
SPR | スプレッド | 0~127 | 広がり具合 |
名前 | 内容 | 範囲 | 解説 |
LFO | LFOスイッチ | ON/OFF | |
TYP | LFOタイプ | TRI SIN SAW SQU | タイプを三角、サイン、ノコギリ、矩形から選択 |
DLY | ディレイ | 0~127 | LFOが効くまでの時間 |
DPT | LFOデプス | 0~127 | LFOの深さ |
RAT | LFOレート | 0~127 | LFOの長さ |
音色名の左側にあるボタンは音色を一つづつ進めたり戻したりするボタン。 「WRITE」ボタンを押すと、現在エディットしている音色をメモリに書き込めます。 「SAVE」ボタンを押すと、MyDocumentフォルダにパッチをセーブします。 「LOAD」ボタンを押すと、MyDocumentフォルダ内にあるパッチをロードします。
2020/06/12 Release
・なぜかピッチが少し低かったのを修正しました。
・ベロシティがモジュレータにもかかっていたのをかからなくしました。
・位相リセットのOn/Offスイッチを付けました。デフォルトはOn。
・ピッチベンド幅の調整ノブを付けました。デフォルトは2半音。最大127半音。
・音色ファイルをMyDocumentにセーブするように変更しました。
・32bitも64bitもバージョン同じにしました。
・ノートオンの度に位相0から発信するようにしました。
・32bit(v4.0b)と64bit(v4.1b)を同梱するようにしました。
・64bitバージョンを作成しました。
・フィルターを2基実装
→エンベロープフィルターとLFOフィルター
・コーラスとディレイを実装
・ピッチLFOを実装
・OPMLFOを実装
→全オペレータにかかり、AME指定不可
・パッチのセーブロードを実装
・細かいバグ修正
※今回からソースコード付きません。
v4.0でMDXデータを鳴らしてみました。
かなり似てきましたが、この辺が限界かな!?
2017/02/02 Release
・オペレータが四つ
・アルゴリズムを8つ実装
・キースケールを実装
・フィードバックを実装
・プリセットを実装
・オペレータ4にノイズを実装
・矩形波三角波のこぎり波を実装
v3.0でMDXデータを鳴らしてみました。
遂に本物っぽい雰囲気が出てきました。
2017/01/26 Release
・サイン波が出せるオペレータが二つ
・FM変調がかかるように
・アルゴリズムは2つ
→0~4が直列、5~7が並列
・サスティンレイトを追加
・マルチプルを追加
・デチューン1を追加
→独自仕様を追加:0~7はYM2151と同じ
2桁目はその数+1*2だけデチューンがかかる
例:27→-3段階目の3*2倍
・デチューン2を追加
・KSとFBは機能してません
v2.0でMDXデータを鳴らしてみました。
FM変調するようになって聴きごたえ出てきました。
2017/01/08 Release
・サイン波が出せるオペレータが一つ
・ADSRで音量をコントロール
v1.0でMDXデータを鳴らしてみました。
サイン波ならではの味わいがありますね。
・DLLをVSTpluginフォルダにコピーして下さい
・Windows10 CUBASE6.5と8.5,9.0にて動作確認
・8音ポリ
・VST2規格
・v4.1から64bitになりました
・V3まではソースコード付き(VisualStudio2013)
・VSTライブラリやpngやzlibは用意して下さい
ソースコードのベースはC++でVST作りさんのものを
使用させて頂いております。
ピッチを計算する角速度のテーブルはm_puusanさんのx68sound.dllのものを
使用させて頂いております。
プリセット音色はVAL-SOUNDの阿保剛さんのものをお借りしております。
http://valsound.com
使用許可頂きました!!ありがとうございますー!!