
by Yokemura(YMCK) http://www.ymck.net/
Magical 8bit Plugとは
Magical 8bit Plug は8bitゲーム機風の素朴な音色を生成するソフトウェア・シンセサイザーです。AudioUnitsおよびVSTをサポートするホストアプリケーションでプラグインとして利用することができます。
本バージョンでは、前バージョンで実装されている疑似三角波・ロービットノイズを含むすべての音色が実装されているほか、さらに実機に近いノイズ音色やより詳細な音色制御が新たに追加されています。
本バージョンは前バージョンとは別のプラグインとして扱われるので、両方をインストールして別々に使うことも可能です。
Magical 8bit Plug 2 はオープンソースですので、欲しい機能や修正があれば、ご自身で改良することが可能です。もちろん、それをフィードバックしていただければ今後のバージョンに生かさせていただきます。GitHubレポジトリはこちらです。
また、ドネーションも受け付けておりますので、コーディング以外でサポートしていただける方はぜひこちらをよろしくお願いします。
特徴
- 8bit基本音色をサポート
- より実機に近いノイズ音色を生成する1bitノイズを実装
- ADSRによるエンベロープ指定
- ピッチベンドおよびベンドレンジ指定
- 効果音やドラム音色に必須なオートベンド(周波数スウィープ)
- 音に表情を与えるビブラート
- ボリューム・ピッチ・デューティー比を詳細にコントロールできるカスタムエンベロープ
インストール方法
プラグイン本体を、OSまたはホストアプリケーションで指定されたフォルダへとコピーします。一般的なインストール先は以下の通りです。実際のインストール場所は環境によって異なりますので、お使いのOSやDAWの説明をご参照ください。
特に最近ではDAW含むアプリは多様化していますので、それぞれについてプラグイン使用方法について把握しきれておりませんし、実質不可能です。ですのでご質問は私ではなく、Google先生か、またはお使いのソフトのユーザコミュニティなどにお問い合わせいただければと思います。基本的なインストール方法の問題については、お問い合わせいただいてもお答えいたしませんのであらかじめご了承ください。
Mac | AudioUnits | .component | /Library/Audio/Plug-ins/Components |
VST2 | .vst | /Library/Audio/Plug-ins/VST | |
VST3 | .vst3 | /Library/Audio/Plug-ins/VST3 | |
Windows | VST2 | .dll | C:\Program Files\VSTPlugins C:\Program Files\Steinberg\VSTPlugins C:\Program Files\Common Files\VST2 C:\Program Files\Common Files\Steinberg\VST2 |
VST3 | .vst3 | C:\Program Files\Common Files\VST3 |
※VST2とVST3について : VST規格を制定しているSteinberg社は、新しい規格であるVST3を推奨しています。しかし、2020年現在、VST3に完全に対応できているホストアプリケーションはまだ少ないようで、起動できてもレイアウトが崩れる・音が出ないなど不具合が出ることがあるようです。そのような場合はVST2版の方をお試しください。
使い方
パラメータ
Generalセクション
- Gain
- いわゆるボリュームです。一般にパルス波は聞こえ方は大きくなる傾向があるので、このGainで調整すると扱いやすくなるかもしれません。
- OSC Type
- 波形の選択です。
- Pulse
- 方形波またはパルス波です。デューティー比は Pulseセクションで変更します。
- Triangle
- 疑似三角波です。
- Noise
- ノイズです。Noiseセクションで3種類のノイズを切り替えることができます。
- Poly
- 最大和音数です。1にするとモノフォニックとなります。
- Show Advanced Options
- チェックするとより多くのパラメータが表示されます。
- Color
- Show Advanced Optionsをチェックすると表示されます。見た目上の色を変更します。
Pulseセクション
OSC Typeで "Pulse" を選んだ場合に表示されます。
- Duty
- 出力の高低の時間比(デューティー比)で、50%では高と低を同じ時間比で繰り返します。25%、12.5%の順に鋭い音色となります。
Noiseセクション
OSC Typeで "Noise" を選んだ場合に表示されます。
- Noise Type
- ノイズの種類です。3種類から切り替え可能です。
- 4bit Pure random
- 前バージョンのノイズと同じノイズで、毎フレームごとにランダムな16段階(=4bit)のレベルを出力する方式です。単なるホワイトノイズに比べると荒々しいですが、整ったノイズ音色です。
- 1bit Long Cycle
- 実機の「長周期ノイズ」のエミュレーションです。毎フレームごとに高または低の2段階(=1bit)のレベルを出力する方式です。特に低音域でのトーンが混ざったような独特な音色が特徴です。純粋な乱雑さを持つ乱数ではなく周期性を持つ擬似乱数を使用していますが、周期が十分に長いので十分ノイズっぽく聞こえます。
- 1bit Short Cycle
- 実機の「短周期ノイズ」のエミュレーションです。1bit Long Cycleと同様、毎フレームごとに高または低の2段階のレベルを出力する方式ですが、疑似乱数の周期が93ステップと短いため、特に高音域で音程が顕著に現れてノイズ感が少なくなります。
Envelopeセクション
音量の時間変化を4つのパラメータで指定します。
- Attack
- 鍵盤を押してから音量が100%に達するまでの時間。100%に達するとDecayフェーズに移行します
- Decay
- 音量が100%に達してからSusLevelにまで減衰する時間。
- Sustain
- Decay後、鍵盤を離すまでの間維持される音量。
- Release
- 鍵盤を離した後音量が 0 になるまでの時間。
Bend Rangeセクション
ピッチベンドの設定です。Rangeパラメータのみがあります。
- Range
- ピッチベンドの振れ幅を、ベンドホイールを最大まで振った時の値で設定します。2.0 で1音、12.0で1オクターブの振れ幅になります。
Auto Bendセクション
ピッチホイールとは関係なく、キーオンから自動的に音程を変化させます。
- Ini.Pitch
- 初期ピッチです。押下したキーの本来のピッチよりこの値だけ上(マイナス値を設定した場合下)からスタートします。
- Time
- キー本来のピッチに到達するまでの時間です。
Vibratoセクション
音程を周期的に揺らすビブラート効果です。
- Rate
- ピッチを揺らす周期。単位は秒です。
- Depth
- ピッチの変化幅です。1が半音(100cent)に対応します。
- Delay
- キーオンからビブラートが始まるまでの時間を指定できます。単位は秒です。
- Ignores Wheel
- これをチェックするとモジュレーションホイールの値に関係なくビブラートがかかります。すべてのノートにビブラートをかけたい場合に有用です。
Custom Envelopesセクション
"Show Advanced Options" をチェックした場合に表示されます。ボリューム・ピッチ・パルス波デューティーの時間変化をテキストで指定できます。詳細は次章で説明します。
カスタムエンベロープ
Custom Envelopes(カスタムエンベロープ)は本バージョンからの新機能で、実機でのチップチューンでよく用いられるフレームごとのコントロールをエミュレートしたものです。単なる直線的な変化にとどまらない自由な変化を記述できるので、よりインパクトのある音色を作ることが可能になります。また、パルス波デューティーの時間変化を指定できるのはカスタムエンベロープだけです。
値の範囲と意味
カスタムエンベロープでは、ボリュームやピッチを数値で指定します。数値の意味は、操作するパラメータがボリューム・ピッチ・デューティー比のいずれなのかによって異なります。
パラメータ | 範囲 | 意味 |
Volume | 0〜15 | 0 が無音、15が最大音量です |
Pitch | -64〜63 | 右方にあるResolutionの選択によって意味が変わります
|
Duty | 0〜2 | デューティー比です。0: 12.5% , 1: 25%, 2: 50%. |
文法
数値を簡単なルール=文法に則って入力することで時間変化を記述します。基本的には値を順番に並べていくだけですが、記述を省力化するための記法も用意されています。
基本シーケンス
数値をカンマ区切りで並べていくことで時間変化を記述します。時間の単位は曲のテンポなどによらず 1/60秒固定です。スペースは無視されます。
ex) 15, 13, 12, 5, 0
スロープ
直線的な時間変化を記述したい場合、スロープを利用するとひとつひとつ値を指定する手間が省けて便利です。記法は以下です。
開始値 to 終了値 in フレーム数 f
ex) 15 to 0 in 15f 値が、15フレーム(0.25秒)かけて15から0へ減衰します
ここでもスペースは省略可能です
基本シーケンスと組み合わせるとこのようになります。
ex) 15, 14, 13, 12to3in30f, 2, 2, 1, 1, 0 1フレームごとに15, 14, 13と変化したあと30フレームかけて12から3に変化、そのあと2フレームごとに2, 1と変化、最後は 0 になります
最後の f は省略できます。
ex) 15 to 0 in 15
ホールド
同じ値を繰り返す場合、次の記法が便利です。
値 x フレーム数 f
これも最後のfは省略できます。
ex) 15 x 10
基本シーケンスと組み合わせるとこのようになります。
ex) 15x10f, 9, 7, 5, 3, 1, 0 15を10フレーム維持したあと、9, 5, 3, 1 そして 0 へと推移します
リピート
繰り返したいシーケンスを [ ] で囲みます。
ex) [0,1,2]
繰り返し回数の指定はなく、必ずキーオフまで無限ループを繰り返します。したがって [ ] の後に配置したシーケンスは、下述のリリースシーケンス以外は無効です。
ex) 15, 13, 12, 11 [10, 7, 4]
リリースシーケンス
| の後にシーケンスを記述することで、キーオフ後の値の変化を指定できます。
ex) 15, 14, 12, 10 | 5, 3, 1, 0
リピートとリリースシーケンスは併用できます。この場合、キーオフまでの間リピート部分が繰り返され、キーオフ後はリリースシーケンスに移行します。
ex) 15, 13, 12, 11 [10, 7, 4] | 3, 2, 1, 0
デモソングについて
添付のデモソング(m8p2demo.mp3)のサウンドは、同じく添付のMIDIファイル(m8p2demo.mid)に、こちらの パラメータリスト
の設定を適用すると再現することができます。ライセンス
本プラグインは GPL v3ライセンスにて配布しています。ソースコードを開示しておりますので、GPLに従い複製、頒布および改変することができます。
ドネーション
開発へのご支援は、ソースコードの共有を通じた直接のご支援のほか、ドネーションを受け付けております。ご協力いただける方はぜひよろしくお願いします。