TOP > インストゥルメントマップデータ(imd)の自作


■はじめに■

新しい音源を導入される予定の方や、導入された方には、その音源を効率よく使用したくても、MSシリーズの添付データには含まれていなかったり、ネットなどでも配布されておらず、自分でインストマップデータを作成する必要に迫られる場合が多いと思われます。
このページでは、MSS/MSI用IMD(インストゥルメントマップデータ)の作成方法について、基本的な事から効率よく記述作業を進められる方法を掲載しております。
IMDを作成する際、ヘルプと併せてご参考にして下さい。
又、こちらのページで掲載させて頂きました情報は、あるびにさん、Shirotaさんよりご提供頂きました。お二方にはこの場をお借り致しまして御礼申し上げます。


※1 :MSI/S/Pの各グレードに関わらず、特にグレードを直接指定した書き方以外の部分は「MSI」と書かせていただきます。お使いのグレードに合わせて、置き換えて参照下さい。

※2 :以前、「VSTiにインストマップデータを割り当てられないのか?」というやり取りをしたことがありましたが、結論から先に書きますと「MSシリーズのやり方通りであれば不可」です。
MSシリーズは、OSが認識している「MIDIデバイスのMIDIポート」にインストマップデータを割り当てる形になるのに対し、VSTiはMSIのオーディオトラック上で起動し、MIDIトラックとオーディオトラックの内部で、MIDIデバイスを介さないでルーティングする形の為と思われます。
もし、VSTiのGUIでの操作に不満や不便さがあり、どうしてもインストマップデータを用いられたい場合は、VSTiをMSI外のソフトウェアで起動し、それをMSIから操作するという形を検討下さい。
トップページ → 「MTC同期〜」のページに、一部構築の手順や考え方について書いております。
また、MSI外部でVSTiを呼び出すソフトウェアの部分はMTCに関係ありませんので、よろしければ「こういう方法もある」という一つの参考にしてみてください。



もくじ

 ・作業を始める前に

 ・imdの書き方

 ・エクセルを用いた作成手順 1

 ・エクセルを用いた作成手順 2

 ・MSS v2.4への導入について

 ・作成補助ツール


※出来上がったIMDや配布されているIMDを導入するに際、ご使用のバージョンによっては導入方法が若干変わってきます。最下部の各グレード別の導入手順をご覧下さい。


作業を始める前に■

テキスト編集の作業になりますので、OSのノートパッドやワードエディタでも作成できますが、セル入力ができる表計算ソフトなどや、手に馴染んでいるテキストエディタを用意した方が、効率よく作成できるかと思われます。
エクセルをお持ちでなくても、Vectorなどで配布されているフリーウェアにセル入力に対応したものがありますので、検索して手に馴染みそうなものを導入して下さい。


▲もくじ へ



imdの書き方

 例) MusicStudio標準添付imd 「ex5.imd」より

[IMD]

Name=EX5/5R
0=PRE1_1
1=PRE1_2
2=PRE2_1
3=PRE2_2
4=INT1_1
5=INT1_2
6=INT2_1
7=INT2_2
8=PER

[PRE1_1]
Name=Preset 1Voice(1-64)
0=N,63,0,0,A01 Pf:Natural Gmd
1=N,63,0,1,A02 Pf:Stereo Piano
2=N,63,0,2,A03 Pf:Brite Rock
3=N,63,0,3,A04 Pf:Rocking Bose
 ・
 ・
 ・
60=N,63,0,60,D13 Cp:Vibe
61=N,63,0,61,D14 Cp:Tubular Bell
62=N,63,0,62,D15 Cp:Stone Harp
63=N,63,0,63,D16 Cp:WoodSequence

[PRE1_2]
Name=Preset 1 Voice(65-128)
0=N,63,0,64,E01 Br:Sect
1=N,63,0,65,E02 Br:Hi Sect

 ・
 ・
 ・
 ・
 ・
 ・
125=N,63,64,125,H14 St:SmoothEnsmbl
126=N,63,64,126,H15 Or:Big Drawbars
127=N,63,64,127,H16 Co:Hokkaido
左図は、MSI標準添付の「ex5.imd」より抜粋したものになります。
プログラムやHTMLなどソースコードを書かれる方は、それとなく書き方の決まりを察された事と思います。
MIDI音源、VST音源にはMIDIインプリメンテンションチャートというMIDI信号の命令一覧表や、プログラム音色配列表が添付されており、内蔵ロムなどで、音源が予め固定的な音色を持っているような場合は、後者のプログラム音色配列表を見ながら入力していく形になります。

MIDI音源は、コントロールチェンジ(以下CC)の8番「プログラムチェンジナンバー」を用いて音色を切替え、一つのバンクでは128までの音色を持つことができます。
それを超える数の音色は、バンクセレクトMSB(CC0)とバンクセレクトLSB(CC32)を用いて、X軸とY軸による座標変更のような形で、128以上の音色を増やしていく事ができます。

 ・寄り道話 −−−
という事は、理論上であれば、MIDI音源はバンクセレクトMSBとLSB、プログラムチェンジの数を考えると、128 x 128 x 128の数だけ音色を持てる事になりますね。でも、そのような万単位の音色を持つ音源は非常に使いにくそうです。使う音色や傾向は人それぞれといえども、その傾向によって使う音色は限られてきますから、万単位の音色を持つ為に設計されるよりも、寧ろ音色の質のために設計された方がありがたい。どこになんの音色があったか忘れやすくもなりますから。Kontactやサウンドフォントなど、自由に組めるサンプラーがありますが、便利だからとあれよこれよと何でもかんでも音色を組み込まないのと考え方は同じです。ですので、あくまでも理論上のお話。でも、MIDIの進歩によっては、将来ボーカルソフトなどで用いられるかも…しれないけど、これは可能性としては薄いかも^^;;

さて、ざっとになりますが、書き方に入ります。区分を色で共通させてます。

まず、冒頭の[IMD]
これは、「これからインストマップデータの記述が始まります」という宣言になります。
これは必ず頭に入れてください。

次に、「 Name=EX5/5R 」の部分
ここには、このインストマップの名称を記述します。
自分がわかりやすければ何でもかまいません。

その次の行、「 0=PREF1_1 」から「 8=PER 」までの部分。
仕様上、音源は膨大な数の音色を持つことができ、標準で1.000を超える音色を持っているものもあります。
音色管理や選択などの効率化のために、音色の特性でグルーピングしてカテゴリー別に分けられていますが、ここで、0=〜、1=〜、というように続き番号にして入力していくことで、複数のカテゴリーを設ける事が出来ます。いわゆるクラス定義。
ここの文字列は次↓の所と共通させないといけないというルールがあります。

その次の行[PRE1_1]から始まる部分。
この部分には先ほどの「 0=PREF1_1 」に入力したものを入力します。
大文字小文字ミスの内容に注意して下さい。
ここでは、「 0=PREF1_1 の部分でクラス定義したカテゴリの内容を、ここから開始します」という宣言になります。
NAME=〜に入力した文字列は、MIDIミキサーのPatchをクリックして表示される音色選択窓で表示される文字列になりますので、カテゴリの内容がわかりやすいお好きな文字列をどうぞ(2バイト文字対応、半角不可。表示上、文字数に注意)。

そのまま続いて、「0=N,63,0,0,A01 Pf:Natural Gmdから始まる続き番号の部分。

1)
ここからは必ずカンマ区切りで入力していきます。
そのカテゴリで一番最初の音から順番に、0=〜、1=〜、2=〜と続き番号にします。

2)
0=N」の「N」の部分は「ノーマルボイス」と「ドラムボイス」の指定になります。
音階ごとに違う楽器が割り当てられているドラムキットのような音色は「D(ドラムボイス)」を、それ以外では「N(ノーマルボイス)」を入力します。

3)
これに続いて「 63,0,0 」の部分。カンマの区切りによって三つの種類の数値になりますが、左から「バンクセレクトMSB(CC0)」「バンクセレクトLSB(CC32)」「プログラムチェンジナンバー(CC7)」の値となります。
この欄の冒頭にも書きましたが、音源の音色表に従って適切な値を入力して下さい。

4)
最後の「A01 Pf:Natural Gmd」の部分。ここは、音色名を入力します。
音色表に表記されている文字列や、自分がわかりやすい名称を入力します(2バイト文字不可?半角カナ不可)。

5)
1)〜4)までの部分は、一つのカテゴリで0〜127までの計128の音色を定義できます。
これを超える数は、MIDIミキサーのpatchをクリックしても表示されないだけでなく、128を超えるところから最後の行まで読み込みされなくなる為、以降の音色がMIDIミキサーで表示されなくなりますので、規定の数を超える場合は必ずカテゴリ分けしましょう。


次のカテゴリに移るときは、左図のように、数行空けて次のカテゴリを記述していきます。
ちなみに、各カテゴリやIMD宣言に対する終了宣言はありません。


基本的な書き方は以上になります。

▲もくじ へ


■エクセルを用いた作成手順 1


(図1)

IMDファイルをエクセルで初めて作る場合は、まずエクセルを起動してIMDを書き出せるかどうか試すために、「ファイル」->「名前を付けて保存」を選び、CSV形式(*1)の読み書きが出来るかどうか確かめてみて下さい[図1]。
もし余裕があれば、試しにIMDファイルを開いてみましょう。この際注意して欲しいのは、読み込みたいIMDファイルを「開く」ではなく、IMDファイルをコピーして拡張子を「CSV」にしてからダブルクリックで開くと簡単です。
「開く」だと、読み込み方の細かい指定が出来ますが、反面かなり面倒です。
(これを逆手にとって、「開く」からCSVを指定しタブ区切りを指定すると、シンガーソングライターのトーンリストが開けます)

*1
CSV形式とは、行(横の列のこと)の区切りを半角カンマ(,)で区切ったテキスト形式のファイルです。
MSS/MSIのIMDファイルは、形式こそINIファイルですが、バンク、プログラムチェンジなどの部分はカンマで区切られています。
つまり、[図2:下]のように書いていって、CSVで保存し拡張子をCSVからIMDに変えてやればIMDファイルのできあがりです。

▲もくじ へ


エクセルを用いた作成手順 2


 ●初めての作業の場合



「■まず初めに■」の所でも軽く触れてますが、書き方について決まりがあります。
まず、最初に"[IMD]"と書き、次の行に"Name=音源の名前"とします。(以下[****]から次の[****]までセクションと呼びます。[IMD]ならIMDセクション)
そして、IMDセクションには"半角数字=音色のグループの内部名"を続けていきます。
音色のグループの内部名は、あまり長すぎるとうまく認識されませんので注意して下さい。
また、"Name="の部分は全角文字でも大丈夫ですが、それ以外の部分は半角英数字でないとうまくいきません。


↓↓↓


(図3)(図4)

次に、楽器グループも作っていきます。
[図3]簡単な例ですが、詳しい仕様はヘルプなどをご覧下さい。
これを(使える音源はありませんが)MSIでひらいてみます。
「名前を付けて保存」で、CSV形式を指定します(注意のダイアログが出てきますが「はい」を押して下さい)。
ファイルが出来たら拡張子をIMDに書き換え、一応メモ帳などのテキストエディタでも開いて確認しましょう。
[図4][****]の後に",,,,"となってしまいますが、テキストエディタに「置換」があれば、検索する文字列を",,,,"に検索後の文字列はなにも指定しないで、「全て置換」すれば簡単に消すことが出来ます。

出来たら上書き保存しましょう。


↓↓↓


(図5)

出来たIMDファイルはMSS/MSIのフォルダに入れましょう。
そして実際に起動してみると、[図5]のようになります。
さて、この例ではドラム音色も一緒にしてしまいましたが、MSIのは仕様的に一緒にすることは出来ないようです。
ドラム用IMDも中を覗いてみればあまり大差ないので(IMDセクション、いくつかのグループセクション、ノートナンバーのセクション)、テキストエディタでいったん開いてみれば作り方はすぐ分かると思います。



 ●二回目以降の作業の場合


前項のやり方で一度でもIMDを作成された方は、IMDファイルの構造をある程度把握された事と思います。
ここからは、予めテンプレートを作成しておく方法を掲載させて頂きます。
こちらは、IMD作成が二度目以降の方を対象としておりますので、初めての方は前項から作業に入るようにして下さい。

(図1-1)

上の図1-1のように予めテンプレートのimdを作成しておきます。数はなるべく多いほうが良いのではないでしょうか?

↓↓↓



次に、テンプレートimdをエクセルで開き、カンマ区切りでフィールドを設定。そして、データを入力していく。


↓↓↓

完成したら、CSV形式で保存し、そのデータをテキストエディタなどでチェック。その後、拡張子をcsvからimdに直して作業完了となります。

▲もくじ へ


MSS v2.4への導入について

さて、ここまで来れば後はMSP/MSS/MSIに導入するだけです。
現行バージョンでは、MSIをインストールしたフォルダの中に「imd」名称のフォルダがありますので、この中に移動してMSIを起動すれば、起動時の初期化で読み込まれますが、MSSv2.4ではインストールしたフォルダの中にあるiniファイルを弄る必要があります。手順は次になります。

1.導入するimdをVer2.40の存在するフォルダに移動。

2.「 ImdGroup.ini 」を参照。続き番号とimdファイルのファイル名の部分だけを追加。

正しく記述されていれば、MSS Ver2.40を起動後認識されている筈です。
MSS Ver2.40に同梱のヘルプも確認しながら作業を進めて下さい。

▲もくじ へ


作成補助ツール
インストマップを作成するにあたり、こちらのツールを用いると効率よく作成することができるようになります。
対象ソフトをお持ちの方は、これらツールを用いることをお勧めいたします。


 ・「Imdファイル生成補助ツール 青空♪の小箱(管理人のブログ)

エクセルVBAマクロにて作られたツールで、項目に数値を入れていくなどだけでIMDを生成できます。
詳細情報は青空♪のブログにてご確認下さい。


 ・「IMD構文チェッカー」EurasiaDream(Shirotaさんサイト)

作成したインストマップデータを読み込ませると、誤入力箇所を自動検出して表示します。
詳細情報はShirotaさんサイトでご確認下さい。


 ・「Cubase to MusicStudio」ダウンロードページ(作者: RayさんのVectorページへ移動します。)

Cubase用音色定義ファイルをMusicStudioのimd形式に変換できるツールで、総作業時間を大幅に短縮できます。
ただ、上記二つのツールと違い、手直しする為の若干のimdの知識は必要になりますが、よろしければこちらもお試しいただければと思います。

▲もくじ へ


お疲れ様でした。各情報を画像と一緒にご提供下さいましたあるびに氏、Shirota氏に深く御礼申し上げます。