
by Yokemura(YMCK) http://www.ymck.net/
Magical 8bit Plugとは
Magical 8bit Plug は8bitゲーム機風の素朴な音色を生成するソフトウェア・シンセサイザーです。AudioUnitsおよびVSTをサポートするホストアプリケーションでプラグインとして利用することができます。
特徴
- 8bit基本音色をサポート
- より実機に近いノイズ音色を生成する1bitノイズを実装
- ADSRによるエンベロープ指定
- ピッチベンドおよびベンドレンジ指定
- 効果音やドラム音色に必須なオートベンド(周波数スウィープ)
- 音に表情を与えるビブラート
- ボリューム・ピッチ・デューティー比を詳細にコントロールできるカスタムエンベロープ
開発について
Magical 8bit Plug 2 はオープンソースですので、欲しい機能や修正があれば、ご自身で改良することが可能です。もちろん、それをフィードバックしていただければ今後のバージョンに生かさせていただきます。GitHubレポジトリはこちらです。
また、ドネーションも受け付けておりますので、コーディング以外でサポートしていただける方はぜひこちらをよろしくお願いします。
前バージョンとの差異について
本バージョン(Magical 8bit Plug 2)では、前バージョン(Magical 8bit Plug)で実装されている疑似三角波・ロービットノイズを含むすべての音色が実装されているほか、さらに実機に近いノイズ音色やより詳細な音色制御が新たに追加されています。
本バージョンは、技術的には前バージョンとは別のプラグインです。したがって、前バージョンの設定をそのまま引き継ぐことはできませんが、 両方をインストールして別々に使うことは可能です。
インストール方法
プラグイン本体を、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のみをサポートしています。 しかし、VST3に完全に対応できていおらず期待通りに動作しないホストアプリケーションもあるかもしれません。 そのような場合はVST2版の方をお試しください。
使い方
Magical 8bit PlugのUIは、いくつかのセクションに分かれています。 パラメータの選択状態によって、セクションの内容が変わったり、セクションそのものの有無が変化します。 セクションやパラメータが見つからない場合は、各種選択状態を確認してみてください。

- ①Generalセクション
- 全体的な設定を行うセクションです。
- ②Monophonicセクション
- モノフォニックモードの場合にのみ出現します。ポルタメントやアルペジオの設定ができます。
- ③オシレータ別セクション
- オシレータ固有の設定です。OSC Typeの設定によって内容が変化します。
- ④音量・ピッチセクション
- 音量・ピッチに関わる各種パラメータです。
- ⑤Custom Envelopesセクション
- Advanced Optionsチェックボックスをオンにした場合だけ出現します。ピッチ・音量・デューティーの複雑な時間変化をテキストで設定できます。
Generalセクション

Pulse | 方形波またはパルス波です。デューティー比は オシレータ別セクションで変更します。 |
Triangle | 疑似三角波です。 |
Noise | ノイズです。オシレータ別セクションで3種類のノイズを切り替えることができます。 |
Monophonicセクション
- Behavior
- 動作を指定します。指定した動作によって追加のパラメータが出現します。
Legato
ひとつのノートが鳴っているとき別のノートを押さえると、エンベロープを中断せずに新しいノートの音程へと移行します。これを選択するとPortamentoパラメータが出現します。Portamentを設定すると音程がなめらかに変化します。- Portamento
- 次の音程へと移るのにかかる時間を指定します。不要な場合は 0 に設定します。
Arpeggio Up / Arpeggio Down
同時に押されている複数のノートを高速アルペジオとして扱います。これを選択すると、Intervalパラメータが追加で出現します。- Interval
- アルペジオの間隔を指定します。
1frame / 2frames / 3frames それぞれ、1/60秒, 1/30秒, 1/20秒に設定します。「フレーム」という呼称と1/60秒という時間は、ファミコンの制御フレームに由来します。 96th / 48th / 32nd / 24th 曲のテンポに同期した間隔を設定します。それぞれ、96分音符, 48分音符, 32分音符, 24分音符相当の長さとなります。曲のテンポはノートオン時にDAWから取得します。5d> Slider スライダーによって任意の長さに設定します。この場合だけ追加でスライダーが出現します。
Non-legato ひとつのノートが鳴っているとき別のノートを押さえると、エンベロープを引き継がずに新しいノートへと移行します。つまり、鍵盤を離して新たに押さえたのと同じ動作になります。
オシレータ別セクション
Pulse選択時

OSC Typeで "Pulse" を選んだ場合には、"Duty" パラメータが表示されます。
- Duty
- 出力の高低の時間比(デューティー比)で、50%では高と低を同じ時間比で繰り返します。25%、12.5%の順に鋭い音色となります。
Noise選択時

OSC Typeで "Noise" を選んだ場合には "Noise Type" パラメータが表示されます。
- Noise Type
- ノイズの種類です。3種類から切り替え可能です。
4bit Pure random 前バージョンのノイズと同じノイズで、毎フレームごとにランダムな16段階(=4bit)のレベルを出力する方式です。単なるホワイトノイズに比べると荒々しく、実機のノイズと比べると整っている、中間的なノイズ音色です。 1bit Long Cycle 実機の「長周期ノイズ」のエミュレーションです。毎フレームごとに高または低の2段階(=1bit)のレベルを出力する方式です。特に低音域でのトーンが混ざったように聞こえる独特な音色が特徴です。純粋な乱雑さを持つ乱数ではなく周期性を持つ擬似乱数を使用していますが、周期が十分に長いので十分ノイズっぽく聞こえます。 1bit Short Cycle 実機の「短周期ノイズ」のエミュレーションです。1bit Long Cycleと同様、毎フレームごとに高または低の2段階のレベルを出力する方式ですが、疑似乱数の周期が93ステップと短いため、特に高音域で音程が顕著に現れてノイズ感が少なくなります。
Triangle選択時
OSC Typeで "Triangle" を選んだ場合には、このセクションは空になります。
音量・ピッチセクション

音量・音色の変化の各種パラメータです。いくつかのサブセクションに分かれています。
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に従い複製、頒布および改変することができます。
ドネーション
開発へのご支援は、ソースコードの共有を通じた直接のご支援のほか、ドネーションを受け付けております。ご協力いただける方はぜひよろしくお願いします。
ドネーションはこちらのページからお申込みいただけます。