FM trial



FM trialはFM音源のVSTインストゥルメントを自作して、
昔懐かしいYM2151のような音が出せるかもしれない
というロマンを追うトライアルプロジェクトです。
BLOGにて制作過程を記録しております。

機能解説



FM音源部分

名前内容範囲解説
MX同時発音数1~81に設定するとモノモードです
ALアルゴリズム0~7YM2151互換アルゴリズムです
FBフィードバックレベル0~7YM2151互換フィードバックです
OSオシレータキーシンクON/OFFONにすると必ず位相0から発音されます
PBピッチベンド幅0~127単位は半音です。デフォルトは2半音
 
OSの下ノイズnof~nonnonでノイズオン
PBの下ノイズ0~31ノイズ周波数
 
ARアタックレイト0~31EGのアタックレイト
DRディケイレイト0~31EGのディケイレイト
SRサスティンレイト0~31EGのサスティンレイト
RRリリースレイト0~15EGのリリースレイト
SLサスティンレベル0~15EGのサスティンレベル
 
TLトータルレベル0~127オペレータの音量レベル
KSキースケール0~3EGのキースケール。高音になるほどエンベロープが締まります
MLマルチプル0~15オペレータの音程
D1デチューン10~99オペレータの音程微調整1。0~7はYM2151と同じで、2桁目はその数+1*2だけデチューンがかかる。例:27→-3段階目の3*2倍
D2デチューン20~3オペレータの音程微調整2。非整数倍
 
WFウェーブフォームsin,squ,saw,triサイン波、矩形波、ノコギリ波、三角波



フィルター1(エンベロープ)

名前内容範囲解説
FT1フィルターセレクタOFF
LPS2
LPS4
HPSS
BPSS
NTCH
LSLF
HSLF
PEEK
フィルターOFF
ローパスフィルター1
ローパスフィルター2(moogtype)
ハイパスフィルター
バンドパスフィルター
ノッチフィルター
ローシェルフフィルター
ハイシェルフフィルター
ピークフィルター
FREQ周波数0~127
RESレゾナンス0~127
QQ値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



フィルター2(LFO)

名前内容範囲解説
FT1フィルターセレクタOFF
LPS2
LPS4
HPSS
BPSS
NTCH
LSLF
HSLF
PEEK
フィルターOFF
ローパスフィルター1
ローパスフィルター2(moogtype)
ハイパスフィルター
バンドパスフィルター
ノッチフィルター
ローシェルフフィルター
ハイシェルフフィルター
ピークフィルター
FREQ周波数0~127
RESレゾナンス0~127
QQ値0~127
LFOLFOスイッチON/OFF
TYPLFOタイプTRI
SIN
SAW
SQU
タイプを三角、サイン、ノコギリ、矩形から選択
DPTLFOデプス0~127LFOの深さ
RATLFOレート0~127LFOの長さ



コーラスとディレイ

名前内容範囲解説
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

名前内容範囲解説
LFOLFOスイッチON/OFF
TYPLFOタイプTRI
SIN
SAW
SQU
タイプを三角、サイン、ノコギリ、矩形から選択
DLYディレイ0~127LFOが効くまでの時間
DPTLFOデプス0~127LFOの深さ
RATLFOレート0~127LFOの長さ



音色セレクタ

音色名の左側にあるボタンは音色を一つづつ進めたり戻したりするボタン。 「WRITE」ボタンを押すと、現在エディットしている音色をメモリに書き込めます。 「SAVE」ボタンを押すと、MyDocumentフォルダにパッチをセーブします。 「LOAD」ボタンを押すと、MyDocumentフォルダ内にあるパッチをロードします。

DOWNLOAD



FM trial v4.3

2020/06/12 Release


2020/06/12 v4.3

・なぜかピッチが少し低かったのを修正しました。
・ベロシティがモジュレータにもかかっていたのをかからなくしました。

2019/07/02 v4.2の説明

・位相リセットのOn/Offスイッチを付けました。デフォルトはOn。
・ピッチベンド幅の調整ノブを付けました。デフォルトは2半音。最大127半音。
・音色ファイルをMyDocumentにセーブするように変更しました。
・32bitも64bitもバージョン同じにしました。

2019/06/27 v4.0b,v4.1bの説明

・ノートオンの度に位相0から発信するようにしました。
・32bit(v4.0b)と64bit(v4.1b)を同梱するようにしました。

2019/07/27 v4.1の説明

・64bitバージョンを作成しました。

v4.0の説明

・フィルターを2基実装
→エンベロープフィルターとLFOフィルター
・コーラスとディレイを実装
・ピッチLFOを実装
・OPMLFOを実装
→全オペレータにかかり、AME指定不可
・パッチのセーブロードを実装
・細かいバグ修正
※今回からソースコード付きません。


v4.0サンプル曲

ロマンシア「ロマンシア国」
ドラゴンスピリットarea2「Volcano」

v4.0でMDXデータを鳴らしてみました。
かなり似てきましたが、この辺が限界かな!?


FMtrial_v3.zip

FM trial v3.0

2017/02/02 Release


v3.0の説明

・オペレータが四つ
・アルゴリズムを8つ実装
・キースケールを実装
・フィードバックを実装
・プリセットを実装
・オペレータ4にノイズを実装
・矩形波三角波のこぎり波を実装


v3.0サンプル曲

ロマンシア「ロマンシア国」
ドラゴンスピリットarea2「Volcano」

v3.0でMDXデータを鳴らしてみました。
遂に本物っぽい雰囲気が出てきました。


FMtrial_v2.zip

FM trial v2.0

2017/01/26 Release


v2.0の説明

・サイン波が出せるオペレータが二つ
・FM変調がかかるように
・アルゴリズムは2つ
→0~4が直列、5~7が並列
・サスティンレイトを追加
・マルチプルを追加
・デチューン1を追加
→独自仕様を追加:0~7はYM2151と同じ
 2桁目はその数+1*2だけデチューンがかかる
 例:27→-3段階目の3*2倍
・デチューン2を追加
・KSとFBは機能してません


v2.0サンプル曲

ロマンシア「ロマンシア国」
ドラゴンスピリットarea2「Volcano」

v2.0でMDXデータを鳴らしてみました。
FM変調するようになって聴きごたえ出てきました。


FMtrial_v1.zip

FM trial v1.0

2017/01/08 Release


v1.0の説明

・サイン波が出せるオペレータが一つ
・ADSRで音量をコントロール


v1.0サンプル曲

ロマンシア「ロマンシア国」
ドラゴンスピリットarea2「Volcano」

v1.0でMDXデータを鳴らしてみました。
サイン波ならではの味わいがありますね。

USAGE


・DLLをVSTpluginフォルダにコピーして下さい
・Windows10 CUBASE6.5と8.5,9.0にて動作確認

・8音ポリ
・VST2規格
・v4.1から64bitになりました

・V3まではソースコード付き(VisualStudio2013)
・VSTライブラリやpngやzlibは用意して下さい


SPECIAL THANKS


ソースコードのベースはC++でVST作りさんのものを
使用させて頂いております。

ピッチを計算する角速度のテーブルはm_puusanさんのx68sound.dllのものを
使用させて頂いております。

プリセット音色はVAL-SOUNDの阿保剛さんのものをお借りしております。
http://valsound.com
使用許可頂きました!!ありがとうございますー!!