【2022.5.4更新】FM音源:音声合成データ変換ツールを追加しました。
MSXのミュージックドライバ「MGSDRV」で音作りのレベルが向上するテクニックをまとめました。
- 音色の作り方(FM音源)
- FM音源:yコマンドの各機能の説明
- FM音源:FM9音モードでリズム音を鳴らす方法
- FM音源:発音中に音色を切り替える技(パッチスライド・コンボ音色)
- FM音源:バスドラムの音程を変えてスネアドラムにする
- FM音源:6音リズムモードを使って、yコマンドでF-Numberを書き換えて、リズム楽器にサスティンを掛ける
- FM音源:リズム音モードとyコマンドを使ってリズムの音程を制御するときに便利なYM2413の音階テーブル
- FM音源:キーオンミュートする方法
- FM音源:ファミコンっぽい音作り
- FM音源:セガ・マークIII(マスターシステム)っぽい音作り
- FM音源:ROM音色以外の拡張音色をMSX-MUSIC 拡張BASICでよく見る音色定義やMGSDRV形式へ変換する
- FM音源:MGSDRVの音色データをMSX-MUSIC 拡張BASICの形式へ変換する
- FM音源:MuSICA→MGSDRV 音色データコンバータ
- FM音源:YM2413のレジスタ値からMGSDRVの音色データへ変換する
- FM音源:「#素2413」とは?
- FM音源:音声合成データ変換ツール
- PSG音源:ハードウェアエンベロープ
- 音色の作り方(SCC音源)
- MuSICA→MGSDRV MMLコンバータ
- 意図したとおりにキーオフする方法
- メモリ消費量を抑える方法(1)
- メモリ消費量を抑える方法(2)・トラックバッファ消費量
- コナミ風ドラム
- マイクロキャビン風ドラム
- ホイッスルのような音作り
- その他
- 技術資料
ちなみにMGSDRVの概要・ダウンロードは、こちらのリンクからどうぞ。 www.gigamix.jp
音色の作り方(FM音源)
タイトル | OPLLにおける音色の作り方講座[OPLLの概要 / パラメータ解説篇] |
---|---|
概要 |
![]() |
作者 | らいきんぐ!(twitter@liking_birds) |
リソース | https://twitter.com/liking_birds/status/1338006446210830336 |
タイトル | FM音源のブラスの音色だけを集めた「プチ・プラスだけ・音色集」 |
---|---|
概要 | FM音源のブラスの音色だけを集めた音色集。らいきんぐ!さん(twitter@liking_birds)の解説。![]() |
作者 | らいきんぐ!(twitter@liking_birds) |
リソース | https://twitter.com/liking_birds/status/1330178064056279046 |
タイトル | YM2413の内蔵ROM音色15種類を一気にプレビューする動画 |
---|---|
概要 |
FM音源の内蔵ROM音色15種類を波形付きで見られる動画。MGSDRV・FM-BIOS・MSX-BASICで音色番号が違う件にもフォローあり。![]() |
作者 | DSA(twitter@ym2413) |
リソース | https://twitter.com/ym2413/status/1335365589880119297 |
FM音源:yコマンドの各機能の説明
1990年5月号の投稿音楽プログラムの記事でした!
— K.H.(焼飯太郎) (@Yakimeshi_Taroh) 2022年1月30日
なんと一般の投稿者さんが見つけ出したワザだったと!
ここで紹介されているのが、Y22~24でドラムのピッチ変更する技と、自作音色限定ですがキーオフの余韻に対してYコマンドでLFOをかける技でした。
基本音色に余韻を付ける方法は引き続き捜索中・・ pic.twitter.com/TV8IUKlMZY
Y32,32は「Ch1のサスティンをOnにする」というコマンドですね(^^)。
— らいきんぐ! (Pf→Pf→M) (@liking_birds) 2022年1月30日
MGSDRVはドライバ側で管理されていて、OPLLのトラックに対して「SO」を指定するとOnになります (Offにする場合は「SF」)。https://t.co/Hjux8QjmtX
FM音源:FM9音モードでリズム音を鳴らす方法
YM2413のyコマンドを利用することで、9音モードでありながらリズム音源を出力できる特殊な動作モードを構築できます。一部では「9音リズムモード」と呼ばれています。通常のドラム音では満足できない識者の方々がクオリティアップを目指し日夜試行錯誤されています。
らいきんぐ!さん(twitter@liking_birds)の解説
MML上ではFM9音モードを指定したのちYコマンドでFM6音+リズムモードに切り替えてリズム音を鳴らすと音に変化を付けられます。
FM9音モードではサスティンONによるリリースの伸びをリズムに持たせることが可能。バスドラムがシンセドラムになる!
このサンプルではバスドラム・スネドラム・タムを使い、リズムモードでは出せないような様々なパーカッションを発声。
リズムモードへの切替時に発生する雑音をできるだけ抑えるサンプル。
DSAさん(twitter@ym2413)の解説
ぎゃぶねこさん(twitter@gyabuneko)の解説
たかをさん(twitter@takawo_n)の解説
FM音源:発音中に音色を切り替える技(パッチスライド・コンボ音色)
OPLLで発音(発生)中に音を切らずに他の音色へ変更することによって違う音に聞こえる「パッチスライド(コンボ音色)」と呼ばれるテクニック。SCC音源の「モーフィング」のような効果を作れます。
ビブラフォン→フルートの切り替えで鳴らすシンセブラス。単純なフルートが、ブラスに化ける。
日本ファルコムのゲームBGMでよく使われるYM2203風味の音をYM2413で再現するためにこのような技術が便利に使えるようです。
なお、音色を切り替える技術は、おかしな音が鳴る場合があります。詳しくは MGSDRV:仕様?バグ?未確認情報まとめ - Gigamix Online をご覧ください。
FM音源:バスドラムの音程を変えてスネアドラムにする
実機時代によくやっていた、OPLLでのスネアドラムの鳴らし方(バスドラムの音程を高くし、ノイズを重ねることで、スネアドラムにする。ノイズはPSGではなく、音程をなくしたスネアを重ねるやり方)。https://t.co/4VhOvwfVix
— らいきんぐ! (Pf→Pf→M) (@liking_birds) 2022年1月29日
FM音源:6音リズムモードを使って、yコマンドでF-Numberを書き換えて、リズム楽器にサスティンを掛ける
MGSDRVで6音リズムモードを使って、yコマンドでF-Numberを書き換えて、リズム楽器にサスティンを掛けるサンプルです。
— Pt.Macumba (@Pt_Macumba) 2022年1月30日
リズムトラックのkoモードとkfモードの違いについても、テキストで説明しています。https://t.co/RIqGJyzCX7#YM2413 #MGSDRV #MSXplay
FM音源:リズム音モードとyコマンドを使ってリズムの音程を制御するときに便利なYM2413の音階テーブル
リズム音モードとyコマンドを使ってリズムの音程を制御するときに便利なYM2413の音階テーブルも貼っておきます。(再掲)https://t.co/lJt1gUFFLP#YM2413 #MGSDRV
— Pt.Macumba (@Pt_Macumba) 2022年1月30日
上のテーブルを@ eコマンドで使用するとノートエンベロープ的なこともできます。https://t.co/qmsvoC99Sn
— Pt.Macumba (@Pt_Macumba) 2022年1月30日
FM音源:キーオンミュートする方法
その②:@eコマンドを使ってF-Numberを0にする方法
その①のように捨て要素のトラックを消費する必要はありませんが、一瞬ノイズが発声するようです。
その①:別トラックからyコマンドで割り込ませる方法
キーオンを他のトラックから制御することはできるのですが、管理が煩雑になってMMLが読みにくくなるようです。
FM音源:ファミコンっぽい音作り
OPLLの内蔵音色だけでファミコンの三角波を再現する技術。内蔵音色をパッチスライド(コンボ音色)で4チャンネル同時に発声しています。
FM音源:セガ・マークIII(マスターシステム)っぽい音作り
Pt.Macumbaさん(twitter@Pt.Macumba)。マスターシステム用セガ製ゲームソフト特有のキーオフ仕様をMGSDRVで再現。
セガ・マークIIIの「FMサウンドユニット」およびセガ・マスターシステムは、MSX-MUSICと同等のFM音源チップ(YM2413, OPLL)を搭載していました。音色が同じであるため、MSXでも擬似的に楽曲の再現が可能です。
その②:F-numberの制御で実現する方法
その①発表後に発見された方法。こちらのほうが手軽に実現できるようです。
その①:Yコマンドと休符だけを使ってYM2413を制御する方法
FM音源:ROM音色以外の拡張音色をMSX-MUSIC 拡張BASICでよく見る音色定義やMGSDRV形式へ変換する
昔、何かの雑誌でFMPACの@nで呼び出せる合成音色のデータを数値化できるBASICプログラムを見たおぼえがあるんですが、ご存知の方いらっしゃいませんか?
— K.H.(焼飯太郎) (@Yakimeshi_Taroh) 2022年1月30日
当時の情報源はベーマガ、もしくはMSXFANしかあり得ないのですが、家に残っている本には見当たらなくて・・#MSX
しれっと上げてみます。多分合ってる…とおもう。https://t.co/pkPAnomLH9
— らいきんぐ! (Pf→Pf→M) (@liking_birds) 2022年2月1日
【注1】TRANSPOSE(配列番号4)は、MGSDRVの定義にないので、MT比を変えるか、発音時に自前で移調するか、どちらかで対応する必要があります。
— らいきんぐ! (Pf→Pf→M) (@liking_birds) 2022年2月1日
【注2】DT(半波整流)は、拡張BASICでの割り振りが無いため、常に0です。
らいきんぐ!さんのプログラムのごく一部を書き換え、任意の音色番号をひとつだけ指定できるようにしたのがこちらです。#MSX #YM2413 #OPLL #MSXPen #MSXplayhttps://t.co/Hi52IOB6A3
— K.H.(焼飯太郎) (@Yakimeshi_Taroh) 2022年2月2日
FM音源:MGSDRVの音色データをMSX-MUSIC 拡張BASICの形式へ変換する
随分前に「MGSDRVの音色定義を拡張BASICの書式に変換するプログラム(DTはYコマンド展開で頑張る)」をWebMSXで作っていたので、こちらもしれっとシェアします…orz。https://t.co/0TakHL8FfN
— らいきんぐ! (Pf→Pf→M) (@liking_birds) 2022年2月3日
FM音源:MuSICA→MGSDRV 音色データコンバータ
ソフト名 | VCDCNV |
---|---|
用途 | MuSICA用音色ファイル(*.VCD)をMGS用のMMLソースリスト(*.MUS)へ変換する |
対応OS | MSX-DOS |
作者 | いたろう |
リソース |
原版 VCDCNV.PMA 1994.07.02, 2176 Bytes 再圧縮版 VCDCNV.LZH 2019.11.04, 2342 Bytes 再圧縮版 VCDCNV.ZIP 2019.11.04, 2522 Bytes |
変換に対応する音源はFM音源(OPLL)のみです。
FM音源:YM2413のレジスタ値からMGSDRVの音色データへ変換する
YM2413のレジスタ値を入力すると、MGSDRVの音色定義データに変換するプログラムです。PortaFMで作った音色をMGSDRVで使いたいときは便利かも。https://t.co/00FXNiOlBp#MSXPen #MGSDRV #YM2413
— Pt.Macumba (@Pt_Macumba) 2022年2月1日
FM音源:「#素2413」とは?
昨日の素2413版がこちら。なお #素2413 というのは
— DSA (@ym2413) 2022年3月21日
- ソフトLFO禁止
- デチューン禁止
- 発音中の音色切り替え禁止
- yコマンド禁止
な縛りプレイのことです。https://t.co/T5bywFHFEi
twitterのハッシュタグ「#素2413」「#素YM2413」と書かれたツイートに含まれる楽曲はだいたい敢えてテクニックを駆使せず素の音を嗜むことを目的に作成されています。
FM音源:音声合成データ変換ツール
需要があるかどうか分かりませんが、
— MSX研鑚推進委員会 (@mdpc___) 2022年5月3日
MGSDRV MSXplay 用の音声合成データ変換ツールを勝手に作りました。
FM音源5チャンネル使います。
喋らせたり歌わせたりしたい方はご利用下さい。
(音声データによって向き不向きがあります)https://t.co/iIn87ABJir#MSX #MGSDRV #MSXplay
"僕らのステキ" (比較用)
— MSX研鑚推進委員会 (@mdpc___) 2022年5月3日
音声合成をFM音源に変えてみました。(サイン波5チャンネル使用)
SCC音源よりもハッキリ聞こえる感じです。
※デキは相変わらず悪いですhttps://t.co/eiVIXjI8dW
※動画はMSX turboR A1GT 実機#MSX #MGSDRV #MSXplay pic.twitter.com/mZMneLFUVI
PCMデータをサイン波(オリジナル音色)のMMLへ変換して、MGSDRV(MSXplay)で擬似的な音声合成を実現するツール。凄!
PSG音源:ハードウェアエンベロープ
音色の作り方(SCC音源)
SCCの波形設定は、0が中心になる「符号付き8bit(-128~127)」で設定します。0が下限になる波形データは-128する必要があります。ひょっとして、自分も先月悩んでいた「符号付き8bit整数」問題の事でしょうか?
— K.H.(焼飯太郎) (@Yakimeshi_Taroh) 2022年2月1日
有識者の皆様に親切に教えていただきましたので宜しければご参考下さい。https://t.co/BKMpxCUP42
SCC音源:SCC音色エディタ
タイトル | SCC音色エディタ |
---|---|
概要 |
![]() |
作者 | gary(twitter@keijiro_im) |
リソース | https://twitter.com/keijiro_im/status/1226209235890929665 |
SCC音色作成ツール S-Cube
タイトル | SCC音色作成ツール「S-Cube」 |
---|---|
概要 |
![]() ![]() ![]() |
作者 | Wiz.(twitter@WizardOfPSG) |
リソース |
https://twitter.com/WizardOfPSG/status/1192484191549546496 MSXマガジン永久保存版3にも収録されているそうです。 |
SCC音源:GB音源→SCC音源 コンバートツール
タイトル | GB音源の波形メモリデータを、SCC音源の波形メモリデータ(MGSDRV形式)に変換するスプレッドシート |
---|---|
概要 |
![]() |
作者 | sdhizumi / S.Kudo(twitter@sdhizumi) |
リソース | https://twitter.com/sdhizumi/status/1188841814242914304 |
SCC音源:基本波形の組み合わせから波形データを作成するための簡単なExcelブック
タイトル | 基本波形の組み合わせから波形データを作成するための簡単なExcelブック |
---|---|
概要 |
![]() |
作者 | drm(twitter@Nuridrm) |
リソース | https://twitter.com/NudiDrm/status/1352001839068135424 |
SCC音源:正弦波を作成する
んむむ〜。
— 新田忠弘【Tadahiro Nitta】Bandcamp始めました。 (@TadahiroNitta) 2022年2月1日
SCCで、正弦波を出そうとしているんですが、なんのこっちゃ💦さっぱりわかりません🥲
この32バイトの数値の意味だけでも分かればなぁ〜🥲#MSXplay pic.twitter.com/NSXoykmSVO
Excelで計算してみました😸
— Yu Endo@SONICWARE/遠藤祐 (@yu_endo) 2022年2月1日
正弦波ですとこんな感じになるかと思います。
00 18 30 47 5A 6A 76 7D 7F 7D 76 6A 5A 47 30 18
00 E8 D0 B9 A6 96 8A 83 80 83 8A 96 A6 B9 D0 E8 pic.twitter.com/iAIhfbQXts
「LIVEN 8bit warps」でお馴染み、SONICWAREの遠藤CEO(twitter@yu_endo)が作成した音色データだから間違いない(はず)!
SCC音源:モーフィング波形
SCC音源のモーフィング波形の作成方法。ぎゃぶねこさん(twitter@gyabuneko)の解説。
SCC音源:簡易的にPCMを再生する
drmさん(twitter@NudiDrm)による解説。
SCCの音色を高速に切り替えることで、1920Hz・約0.5秒程度ですがワンショット的にPCMを利用可能になります。
MuSICA→MGSDRV MMLコンバータ
MuSICAのMSDファイルとVCDファイルからMGSDRVのMMLに変換するコンバーターを作成しました。現在α版です。
— KUMO (@kumokosi) 2022年2月2日
音色はまだまだですが、なんとか音は出せるレベル^_^;https://t.co/hUH54aKkxk
MuSICA形式のMMLデータ(拡張子 .MSD)と音色データ(拡張子 .VCD)のセットを用意すると、MGSDRV形式のMMLへ変換できます!凄すぎ!
意図したとおりにキーオフする方法
メモリ消費量を抑える方法(1)
サークルFMPSG主宰、Wiz.さん(twitter@WizardOfPSG)による解説。
メモリ消費量を抑える方法(2)・トラックバッファ消費量
MSXplay.com制作者、DSAさん(twitter@ym2413)による解説。
コマンド毎の消費バイト数について記載された解析資料へのリンク。
コナミ風ドラム
ぎゃぶねこさん(twitter@gyabuneko)MDplayerの導入によって解析が捗り、日に日にクオリティアップしたそうです!
マイクロキャビン風ドラム
MSXplayでマイクロキャビンドラムを再現してみました。
— 新田忠弘【Tadahiro Nitta】Bandcamp始めました。 (@TadahiroNitta) 2022年1月29日
※始めたばかり故、書き方にまだ不慣れがございます🙇🏻https://t.co/JRAvQ6fC7Z
元マイクロキャビンの新田忠弘さん(twitter@TadahiroNitta)が作成した音色データだから間違いない(はず)!
ホイッスルのような音作り
@ eコマンドを使ってYM2413でホイッスルを鳴らすサンプルです。https://t.co/sTbESZmqHz#MGSDRV #MSXPlay
— Pt.Macumba (@Pt_Macumba) 2021年9月19日
テンポを150や225にして1/60秒単位で制御しなくても、安定したホイッスルの音が得られるというものです。
— Pt.Macumba (@Pt_Macumba) 2021年9月19日
ホイッスルが有名なゲームはたしか1/125秒単位なので、どうあがいても完璧な再現はできないですけどね。
その他
技術資料
v3.xx データフォーマット 解析資料
タイトル | v3.xx データフォーマット 解析資料 |
---|---|
概要 |
![]() |
作者 | DSA(twitter@ym2413) |
リソース | https://twitter.com/ym2413/status/1218503008708743168 |
v3.xx 圧縮データ 解析資料
タイトル | v3.xx 圧縮データ 解析資料 |
---|---|
概要 |
![]() |
作者 | DSA(twitter@ym2413) |
リソース | https://twitter.com/ym2413/status/1223015404907290624 |
OPLLの音色の主要な特徴をなすパラメータ「ML比・FB値目安」一覧表
タイトル | OPLLの音色の主要な特徴をなすパラメータ「ML比・FB値目安」一覧表 |
---|---|
概要 |
![]() |
作者 | らいきんぐ!(twitter@liking_birds) |
リソース | https://twitter.com/liking_birds/status/1331266833224065026 |
YM2413の音階テーブル
MGSDRVの1/60秒に相当するステップ数の計算テーブル
MGSDRVの1/60秒に相当するステップ数(%)は次の計算式で出せます。
— Pt.Macumba (@Pt_Macumba) 2021年9月18日
48 (4分音符のステップ数) * TEMPO / 3600 = 1/60秒に相当するステップ数
1/60秒以内に1トラック2個以上の音符の処理はできないみたいので、連続して置く場合は数値を切り上げます。(続く)
(続)1/60秒単位で厳密に制御したい場合は、TEMPO 150や225のように割り切れる数にしないとできません。
— Pt.Macumba (@Pt_Macumba) 2021年9月18日
(続2)TEMPOを75に設定すると(計算上は)1ステップ (%1) = 1/60秒になるので、フレーム単位で打ち込みたいときには設定してみるといいんじゃないんでしょうか。
— Pt.Macumba (@Pt_Macumba) 2021年9月18日
— Pt.Macumba (@Pt_Macumba) 2021年9月18日
識者のみなさま、情報をありがとうございます。
MGSDRVのトップページ → https://www.gigamix.jp/mgsdrv/