VOPM[Virtual fm synthsizer,like OPM(for Win)]
- VST PlugIn Interface Technology by Steinberg Media Technologies AG.
2002.07.20 Ver0.09
1.概要
FM音源のOPM(YAMAHA YM2151 4op)のようなVstPlugIn Instrument DLL(for Win)
m_puusan 氏作成のX68k Sound Generator( X68Sound.dll)
のOPMエミュレーション部分を基に機能拡張したVstPlugInです。
音色エディタがGUIのバージョンと、VST標準のバージョン(以下NW)を用意しました。GUI版の方が若干処理が重いです。
※負荷は、常に8音分、10%程度(VST32@Duron850Mhz)かかります。
なおNW版には、ソースコードをつけましたので、Win以外への移植、VstPlugInの学習にご利用ください。
またVOPM(GUI版)はシェアウェアです。
無料で、機能制限もありませんが、使い続ける方は、
1)バグ発見時報告
2)VOPMを使用した曲を制作したときの報告。(試聴させていただけるとありがたいです。)
をお願いします
機能
-
最大同時発音数 8音
※チャンネルがすべて使用中の時、最初のNoteOnが消音され新規のNoteOnが発音される。
-
音色 128音色登録可能
-
モノ/ポリフォニック対応
モノフォニックモードでは、MidiChがそのままOPMのチャンネルに対応し、後着優先発音になります。
またこのとき後着ノートはアタックが発音されません。
-
対応MIDIコントロール(MIDI規格一応準拠)
-
NoteOn:[8n ll mm] (ベロシティ 128段階振幅比例)
-
NoteOFF:[9n ll mm]
-
AllNoteOFF:[Bn 7B 00]
-
Pan:[Bn 0A mm](±64段階振幅比例)
-
Volume:[Bn 07 mm](ch音量 128段階振幅比例)
-
ピッチベンド:[En ll mm ](初期設定 ±1音 ピッチベンドセンシティビティで変更可能)
-
プログラムチェンジ:[Cn ll]
-
LFO FRQ:[Bn 4C mm](128段階 OPMパラメータLFQ LFOの周波数で音色のオフセット値に0x40を0として加減算)
-
LFO AMD:[Bn 0C mm](128段階 OPMパラメータAMD 振幅変調の深さで音色のオフセット値に0x40を0として加減算)
-
LFO PMD:[Bn 0D mm](128段階 OPMパラメータPMD 位相変調の深さで音色のオフセット値に0x40を0として加減算)
-
ピッチベンドセンシティビティ:[Bn 65 00 Bn 64 00 06 mm](ベンドのレンジ ±mm半音)
-
モノフォニックモード:[Bn 7E 00]
-
ポリフォニックモード:[Bn 7F 00]
※凡例 n:0h-fh ll,mm:00h-7fh
-
音源部仕様拡張、削除内容
-
タイマー関連の削除、(X68sound.Dllより)ADPCM削除
-
PANとボリュームをアナログ量(128段階)とする。それにともない内部計算の精度を変更(精度悪化してるはず)。
-
ノイズ(slot32のみの機能)をすべてのチャンネルで使用可能とする。
-
LFOはすべてのチャンネルで独立とし、音色パラメータとして周波数と振幅変調の深さ、位相変調の深さ、LFO波形を各音色毎に持つ。
2.動作環境
-
ハード:IBM AT互換機、16bit ステレオサウンド対応音源付き
-
OS:Win95,98,Me(NT,2000は未確認)
-
VST2.2対応Host
-
開発環境:
-
コンパイラ Borand C++builder 5
-
OS WinMe(Duron850Mhz)
-
MIDI KeyBoard YAMAHA CBX-K1XG
-
Host Cubase VST32 DEMO,Cubasis DEMOで動作確認
3.説明
3.1 インストールと実行
1)VOPM.lzhを解凍します。
2)VOPM.DLLをPlugInディレクトリに入れます。
3)デフォルト音色ファイルVOPM.fxbをPligInディレクトリかHost(CubaseVST等)と同じディレクトリに入れます。
ホストによってどちらのディレクトリになるか異なるので、分からなければ両方にいれてみてください。
(なくても動きますが、読み込めない時はすべて同じ音がバンクにセットされます。)
以上でインストールは終了です。
※NW版も同様の手順です。
3.2 操作(VOPM)
3.2.1 プログラムナンバー
VST標準のセレクターを使用して編集するプログラム(パッチ)を変更します。
7セグLEDは現在選択されているプログラムナンバーを示しています。(表示のみ、変更はできない)
3.2.2 bank,Instrumentのload,save
VST標準セレクタのFileを使用します。VST標準のフォーマットで読み書きします。
3,2,3 Import,Export
オリジナルの音色ファイルで読み書きします。
詳細は3.3を参照。
3.2.4パラメータ
ボタンタイプのパラメータとスライダータイプのパラメータがあり、スライダータイプは、それぞれパラメータ値が7セグLEDに
16進数で表示されています。なおパラメータはOPMと同じ範囲で指定し、同じ効果があります。
なおPROG内のAMS-EnとNoiseはそれぞれ、各OPのLFO使用と、C2をNoiseにするかを選択するボタンです。
スライダー入力方法
1)左ボタン押し下でスライダーKobを動かせます。ただし最大値が1Fh以上あるパラメータは、精度の都合で調整しきれない場合があります。その場合は2)-4)の方法で調節してください。
2)右ボタンクリックでスライダーKobがパラメータ1増減します。マウスカーソルがKobより上にある時が増加、下にあるときが減少です。
3)MouseWheelもしくはキーボードの'+','-'で1ずつUpDownできます。
4)7セグLEDの絵の上でキーボードの'0'-'9'および'A'-'F'で16進数による電卓形式での直接入力ができます。
※作者の環境(Cubase)では、一部がCubase自身のショートカットに割り当てられているようで、シフトを押しながらでなければ正常な入力ができませんでした。
※3)4)はVST2.1よりホスト側に拡張された機能を使用しています。ホストによっては最新バージョンでも対応していないようです。
3.2.5 EGカーブ
エンベロープジェネレータの波形を擬似的に表示しています。表示の上で左ボタン押下で、X軸方向に拡大表示します。
3.3 音色データについて
デフォルトで読み込む音色ファイルはVOPM.fxbです。
MDXファイルから音色データをコンバートするソフト(MDXPG2.exe [command
line only]),同梱しましたので、よろしければご利用ください。
4.注意事項
-
基本的にはプログラム実行による不具合、損害に関して無保証ですが、バグに関しては、報告いただければできる範囲で善処したいと思います。
-
その他動作に関する注意事項はX68Sound.dllの 注意事項
と同じです。
-
VST SDKのsampleとX68Sound.dllのソースコードをベースとして使用しています。それぞれ元著作者からクレーム、なんらかの指示があった場合はそれに従いたいと思います。
-
X68Sound.dllがなんらかの理由により公開不可、使用禁止になった場合は、VOPMも同様の処置をとります。
-
フルセットでの個人的な再配布は可ですが、ファイル自体の他サイトへの転載、営利目的の配布は禁止します。
-
質問、不具合報告、はsam_kb@yahoo.co.jpまで。
-
プリセットの音色データはたいして入っておりません。(私にセンスと根気がないため。)
参考:VAL-SOUNDのFM音源ライブラリ[いくつかパラメータが掲載されています。]、プリセット音色はこちらのデータを使用させていただきました。
-
NW版の他プラットホームへの移植、NW版の改造公開の際は、ご一報ください。ただしシェアウエアならびに製品とすることは、引用率にもよりますが、原則不許可とします。
-
MDXファイルや、書籍、WWW等掲載の音色データ引用は、当方は責任を負いません。個人の責任の上で行ってください。
-
仕様は随時、予告なしに変更、改良していきます。よってバージョンによるデータの互換性も保障できません。
5.権利表示
VSTおよびCubaseは、Steinbergの商標です。
Copyright notice: "VST is a trademark of Steinberg Media Technologies AG."
OPM(YM2151)はYAMAHAの商標(IC,製品)です。
VOPM: Copyright (c) 2002 Sam.
6.謝辞
80年代学生でOPMにあこがれていた私の夢をこの時代にかなえさせてくれたX68sound.dll。
このdllのソース使用とソース同梱配布を快諾してくださいました製作者のm_pussan氏とサンプルプリセット音色データの使用を快諾してくださいましたVAL-SOUNDのAbo氏に深く感謝いたします。
7.公知のバグ&バグのような仕様(言い訳)
1)Importした音色名が、Cubaseの音色名リストボックスに反映されない。
=>直したいけど直せない仕様。音色セレクタは、ホストの管理下にあるため、プラグインから更新できるような仕様になってないらしい。(情報求む)。リストはクリックで選択すると、その音色名だけ更新、表示されます。
2)発音してなくても8音分の負荷がかかる。
=>Ver0.05で善処しましたが、ボトルネックが掴めきれず大幅な改善はできませんでした。
3)ホストにより音色管理方法や、プログラムの表示更新の方法が異なるため、プログラムナンバーや音色リストがきちんと変更に対し反映されないことがあります。
4)たまにEditWindowがへんな場所に描画される。(VOPMのみ)
=>原因不明。同じ操作をしても常に起こるわけでなく、原因究明が難しそうです。音色編集時以外は、EditWindowを閉じておくと良いようです。
Copyright(c) 2002 Sam
sam_kb@yahoo.co.jp