各種ハウツー(中級・上級編)
FM9音モードでリズム音を鳴らす (2020/09/21)
- このテクニックを利用することにより、端的に言うとリズムモードのバスドラムを使って、シンセドラム(ナムコドラム)を鳴らすことが出来るようになります(もちろんそれ以外にも利用方法はたくさんあります)。
- ただし、MGSDRVとしては、若干イレギュラーな使い方となります。また、Yコマンドで直接レジスタを操作する必要があるなど、YM2413に対する知識も若干必要になってきます。
- FM9音モードでのリズム音を鳴らす手順を端的に示すと、以下の様になります。
- 任意のタイミングでYM2413のアドレス14のbit5をONにする(Y14,32を実行する)。
- Fトラックでバスドラム、Gトラックでスネア/ハイハット、Hトラックでシンバル/タムを鳴らす(鳴らす場合は音程を直接入れる)。
- 音を伸ばしたい場合は、サスティンをON(MML中にSOを入れる)にし、1/60秒だけキーオンさせるようにする(q1 c32とする等)。Hコマンドで下がりポルタメントを併用すると、ナムコドラムっぽくなる。
- 当方がツイートした「FM9音モードでリズム音を鳴らす保方法」では、以下の4つのパートに分けて、リズムモードの切り替え方や、ナムコドラムを鳴らすまでの原理、その他注意点を紹介しています。
- Part 1. Yコマンドによるリズムモードへの切替方法と、各リズムセットの鳴らし方の紹介。
- Part 2. サスティン効果によるリズム音の持続時間延長の実践と、シンセドラムの鳴らし方の紹介。
- Part 3. FM9音モードによるリズム音の実例と、リズムモード切り替え時における不要リズムセットの設定の紹介。
- Part 4. 楽興の途中でリズムモードに切り替える際に発生する雑音・ノイズの抑制方法の実例の紹介。
「MGSDRVのFM9音モードでリズム音を鳴らす方法」のその1を公開します。 最終的にやりたいことまでを分割して話す必要があるので、まずは「音を鳴らすだけ」に絞って説明しています。 その2以降は今後徐々に書いていきます。 #MSXplay #MGSDRV #YM2413 f.msxplay.com/?id=81a4e335
2020-09-21 23:15:02「MGSDRVのFM9音モードでリズム音を鳴らす方法」のその2を公開します。 ここでは、バスドラムをシンセドラム(ナムコドラム)っぽく鳴らすまでを順番に説明しています。 #MSXplay #MGSDRV #YM2413 f.msxplay.com/?id=2bb9b061
2020-09-22 05:49:07「MGSDRVのFM9音モードでリズム音を鳴らす方法」のその3を公開します。 FM9音モードでのリズム制御で鳴らしている「(you're)SO NICEの冒頭のリズム部分」のコードを紹介するとともに、Yコマンドでリズムモードに切り替える際の補足を示しています。 #MSXplay #MGSDRV #YM2413 f.msxplay.com/?id=8d775ed4
2020-09-22 06:56:27「MGSDRVのFM9音モードでリズム音を鳴らす方法」のその4(ひとまず完了)を公開します。 楽曲を鳴らしながらリズムモードを切り替える際、リズムパートから鳴る雑音を抑制するための方法を紹介しています。 #MSXplay #MGSDRV #YM2413 f.msxplay.com/?id=4511a2a3
2020-09-22 15:43:53「MGSDRVのFM9音モードでリズム音を鳴らす方法」のその4において、英語の解説部分で使用していた「NG ※和製英語」を「[Bad example」に変更しました。 その他のコード部分や日本語の解説に変更はありません。 #MSXplay #MGSDRV #YM2413 f.msxplay.com/?id=c37a3d2d
2020-09-25 00:31:57パッチスライド(コンボ音色) (2020/08/10)
- FM音源(YM2413)において発音中に音色を切り替えることで、新しく音色を作るというテクニックのことを指します。
- 「パッチスライド(Patch slide)」という名称は、Xyzさん(@XyzGonGivItToYa)がこのツイートのやり取りの中で示されたもので、当方が個人的に使っているものです。MGSDRVの曲データ作者の皆様は「コンボ音色」と呼ぶことが多いようです。
- 具体的なやり方は以下のとおりです。
- @eコマンドによるエンベロープ定義の中で、音量コマンドの間に、音色変更コマンド「@??」を入れます。入れる個数は自由ですが、まずは「先頭に1個」「1/60秒~1/30秒後(音量コマンド1~2回の後)に1個」を試してみるのをお勧めします。
- 演奏をする際は、FMパートであるトラック9~H(リズムモードの場合はトラック9~E)で、「先程定義した@eの先頭の音色番号をしてした後に」、先程定義した@eを呼び出せばOKです。
- ただし「新しく音色を作る」とは言っても、制約は大きいので注意が必要です。主に以下のような注意が必要です。
- 音色が持っているマルチプル比は変わりません。そのため、音色そのものの大きな特徴まで変えることが出来ません。
- 音色を切り替えるときに、大きなプチノイズが出ることがあります。
- 環境の差異(CPUの差、エミュレータの差など)によって、音色が大きく変化する可能性があります。環境によって音色が変わってほしくない場合は、パッチスライドは使わないほうが良いです。
- このテクニックの原理については、emu2413の作者さんであるDSAさんによる解説のツイートがありますので、そちらもここで紹介いたします。
YM2413の音色切り替え技で一番自分が好きなのが「ビブラフォン/ギター→フルートの切り替えで鳴らすシンセブラス」です(すっごく使ってます)。 丸っこい(柔らかい)印象があるYM2413の音色に対して、耳障りと言えるブラスが鳴ることに、ものすごく萌えてですね…(危険
2020-08-10 14:01:32いろんな方に「いいね」を頂けたので、この音色切り替え技(ビブラフォン→フルートの切り替えで鳴らすシンセブラス)のサンプルコードを書いてみました。 単純なフルートが、ブラスに化けるところが面白いです。 f.msxplay.com/?id=9e03f699
2020-08-14 02:12:27@XyzGonGivItToYa 英語圏だとその単語がピッタリ!? ところで、パッチ(Patch)って単語には「音色」という意味もあるんですねぇ…(グーグルさんに聞きまくったら、MIDI用語なのかな?)。初めて知りましたです…。
2020-08-13 22:10:06-- 以後DSAさん(MSXplay管理者さん)の技術的解説になります
YM2413のビブラフォン音色からフルートへ発音中に音色を切り替えるとシンセブラスっぽくなるのはなぜなのか、説明を書いてみました。厳密に説明するのは難しいので、誤解なく書くのは難しいですが...雰囲気だけでも(続)。
2020-08-14 21:20:59まずYM2413の内蔵フルート音色はモジュレータが こんなエンベロープをしています(続) pic.twitter.com/u8U8t6gGEX
2020-08-14 21:20:59このフルート音色、フィードバックが強くてML比1:1の持続音なので、もしSL=2だったらシンセブラス風の音になります(続) pic.twitter.com/03uYdvVhDf
2020-08-14 21:21:00一方ビブラフォンのモジュレータは、こういうエンベロープ形状をしています(続) pic.twitter.com/QMTFTTKgIb
2020-08-14 21:21:00ここでビブラフォンのキーオン後、エンベロープがSL=2に到達するまで待ちます。そして、リリースに入った直後にフルートに切り替えると…(続) pic.twitter.com/QPtIJyFKMr
2020-08-14 21:21:00すでにリリース期間に入っているため、フルート音色のDR,SLは意味を持たず、ビブラフォンのDR,SLの後にフルートのRRがつながったようなエンベロープとなります。先頭部分こそ一瞬ビブラフォンですが、後半は最初に説明したシンセブラスの音。実際これでシンセブラスっぽく聞こえます(続) pic.twitter.com/Pf6QD2WwJ2
2020-08-14 21:21:01ところで、もしSL=2に達する前に音色を切り替えてしまうと、フルート音色のDR,SLが適用されてしまいます。結果として次のようなエンベロープとなってしまい、元のフルートと変わらない音になってしまいます。切り替えのタイミングはとても重要です(続) pic.twitter.com/VQJLLpgONJ
2020-08-14 21:21:01最後に補足ですが、ここまでの図は簡単のため正確ではありません。実際にはビブラフォン側のモジュレータは音量がとても小さいため、フルートに切り替えた瞬間にエンベロープ振幅が大きく変わります(続)。 pic.twitter.com/jCMTGj37nh
2020-08-14 21:21:01また、今回はモジュレータ側のみ説明しました。当然キャリア側でも音色切り替えにより似たようなエンベロープの変化が起きていますが、ここでは説明を割愛しました(終)
2020-08-14 21:21:02自作音色でハイハットを鳴らす (2020/08/08)
- 2オペレータのFM音源で、4オペレータのFM音源っぽいハイハットを鳴らすやり方(ただし超我流)を示したものです。
- 具体的な手順は以下となります。
- マルチプル比が高めで、かつフィードバックによるホワイトノイズが乗るギリギリの自作音色を1つ作成する。
モジューレータのASDRは15,0,0,0(要は一切減衰させない)状態とし、キャリア側はハイハットのエンベロープ形状にしておきます。 - オクターブ8のド(C)を目安に、「元の音色の特徴が著しく変化するところ」まで音程を上げます。
- 上記の変化点をみつけたら、今度はデチューンコマンド(¥・\)を使って、細かく音程を上げていき、ハイハットっぽく音が鳴るところを探っていきます。
- マルチプル比が高めで、かつフィードバックによるホワイトノイズが乗るギリギリの自作音色を1つ作成する。
- 以下注意点です。
- ここで紹介している方法は「MSX-AudioでやっていたことをMGSDRV上で再現したもの」です(同じ音色パラメータや音程をMSX-Audioに入れた場合、MSXplayの音とおなじになることはありません)。
- FM音源として安定した音質が得られる使い方をしてない可能性があり、環境依存性が高いことが考えられます(MSX-Audio実機だけ、MSXplayだけ等)。
- MGSDRVが対象としているFM音源(YM2413)は自作音色が1つしか同時に鳴らすことが出来ず、通常はドラム以外の楽器(ベース、メロディー、コード用の音色)に割り当てることが多いです。
YM2413を使った曲作り場合、自作音色にドラムの音色を割り当てることは、あまり一般的ではないので、その点は気をつけてください。
どうしても、ノイズだけの単純な音にしたくなくて、いろいろ考えた末に「発音領域を高音(o7~o8)にして、ML比や音程を微調整すれば、シンバルっぽい音なるところが見つかるはず」という無茶苦茶な発想に行き着いたのよねぇ…。
2020-08-08 00:13:25@XyzGonGivItToYa 作例ありがとうございますm(_ _)m。 当時MSX-Audioでやっていたことを、MGSDRV(msxplay)上で再現してみました。8回ループ中の、5回目(No.5)と7回目(No.7)が、そこそこハイハットに聞こえる感じですね。 f.msxplay.com/?id=51d51b91
2020-08-08 04:33:37@XyzGonGivItToYa 理論的なFM音源の使い方ではないと思うのですが「なんでこのようなやり方でハイハットの音を出そうと思ったか」の過程を趣くままに書いてみます。
2020-08-08 04:45:34@XyzGonGivItToYa 当時ML比7:2とか9:2とかの音色を、高音域まで上げていくと、途中からピッチをちょっと変えるだけで、バネが跳ねたような音とか、単純な雑音とか、瓶を叩いたような音とか、変な音になることをたまたま知ったんです。
2020-08-08 04:48:05@XyzGonGivItToYa 大体の音は効果音くらいにしかならない(というか使い物にならない)のですが、時折シンバルに近いような音とか、楽器っぽく使えそうな金属音が出ることがあったんですね。
2020-08-08 04:50:34@XyzGonGivItToYa なので、「この音程の調整とML比の調整を探っていけば、ハイハットやシンバルっぽい音も見つかるのでは?」と思ったのが、この方法でハイハットやシンバルを鳴らそうと思ったきっかけになっています。
2020-08-08 04:53:06@XyzGonGivItToYa ちなみに、この過程の副産物として「ソフトウェアLFOを使わないホイッスル」というのがあります…。 音程は一切変えていないのですが、ホイッスルっぽい音がなります。でも、デチューンを1つでも変えると、音が変わってしまいます。 f.msxplay.com/?id=489b6baf
2020-08-08 05:14:06発音中に自作音色のパラメータを変える (2020/08/15)
- FM音源(YM2413)の自作音色において、発音中に自作音色のパラメータを変えるというテクニックになります。
- ここでは、キャリア側のマルチプルを変えている例を上げていますが、DSAさん・なるとさんのリプにあるように、その他のパラメータも同様に変えることができます。
- このテクニックにより、自作音色だけではカバーしきれない音色の変化、ディケイの変化など、様々な変化を与えられるようになります。
内蔵音色が無いFM音源の場合だと、チャネルごとに音色のバラメータをイジれたりする(キーオン中にML変えるとか)ので、そっちのテクニックがたくさんありそうな気がする…。 気がするだけで、確証はまったくないのだけど。
2020-08-15 20:02:57キャリア側オンリーだけど、ML比を実際に上下させてみたサンプル。使える場面はものすごく限られそうだけど、なんかMODトラッカーっぽい音になって、ちょっとおもしろい。 #MSXplay #ym2413 f.msxplay.com/?id=777f3853
2020-08-22 17:41:53- 【応用】ADSRを細かく調整する (記事のみの紹介です・作例はありません)
@liking_birds チップ間のコンバートやってると、ADSRは発音中に切り替えたくなりますね。例えばDR=1.5ぐらいの速度を実現するために、DR=1とDR=2を交互に切り替えるとか。
2020-08-16 00:54:00@ym2413 あぁ、たしかにそれはほしいかも…。「ちょっと減衰早すぎ」とか「もうちょっと減衰遅くして」は、時折ありますよね。 OPL / OPLL特有の悩みですよね。
2020-08-16 01:22:46- 【応用】TLを上下させてフィルタっぽい効果を出す (記事のみの紹介です・作例はありません)
@liking_birds 他音源だと音量レジスタがなくて、vコマンドの実装もキャリアに対するTLなので、これをあえてモジュレータに対して効くようにしてカットオフっぽく使う機能なんかも実装しやすいですね。 (キャリアとモジュレータ同時に反映させて、DTM音源みたいに打鍵が弱いほど柔らかい音になる、みたいなのも)
2020-08-16 00:59:59@naruto2413 MOD系の曲を聞いていると、「カットオフ周波数を、ダイヤルでぐるぐる回しながら鍵盤弾いている」よう表現が結構あるのですが、それと近いことができそうですよねぇ(^^)。 キャリア・モジュレータと双方で反映できると、キーボード鳴らすのが楽しそうです。
2020-08-16 01:33:31@liking_birds あっ確かにトラッカー系でよく耳にするフィルター操作を再現できそうですよねー! マルチプルとかフィードバックとかをぐりぐり動かすのもてテクノとかエレクトロニカ方面だと活用できそうですよね。 ベアナックル3とか、その真骨頂な気がします!
2020-08-16 19:58:49