Magical 8bit Plug 2 Operation Manual
by Yokemura(YMCK) http://www.ymck.net/

Magical 8bit Plugとは

Magical 8bit Plug は8bitゲーム機風の素朴な音色を生成するソフトウェア・シンセサイザーです。AudioUnitsおよびVSTをサポートするホストアプリケーションでプラグインとして利用することができます。

本バージョンでは、前バージョンで実装されている疑似三角波・ロービットノイズを含むすべての音色が実装されているほか、さらに実機に近いノイズ音色やより詳細な音色制御が新たに追加されています。

本バージョンは前バージョンとは別のプラグインとして扱われるので、両方をインストールして別々に使うことも可能です。

Magical 8bit Plug 2 はオープンソースですので、欲しい機能や修正があれば、ご自身で改良することが可能です。もちろん、それをフィードバックしていただければ今後のバージョンに生かさせていただきます。GitHubレポジトリはこちらです。

また、ドネーションも受け付けておりますので、コーディング以外でサポートしていただける方はぜひこちらをよろしくお願いします。

特徴

インストール方法

プラグイン本体を、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の選択によって意味が変わります
Coarse
値 1 が半音に対応します。2 で全音、12 で 1オクターブです
Fine
値 16 が半音に対応します。単純にCoarse の16倍の粒度ということです
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に従い複製、頒布および改変することができます。

ドネーション

開発へのご支援は、ソースコードの共有を通じた直接のご支援のほか、ドネーションを受け付けております。ご協力いただける方はぜひよろしくお願いします。