﻿
									2017.01.12 初版
									2019.12.14 第２版
============================================================================================
	MuseLoid（ミューズロイド）音源の作り方				文責：加藤 一郎
============================================================================================

	本稿は、MuseLoidにおける一人の歌手(音源)を作り上げるための解説書である。

	“MuseLoid”とは、Museによる発声機構を含んだ規格の総称であり、
	歌手(音源)自体の名称ではない。MuseLoidは、いわば歌手のための舞台装置名である。
	歌手自体は“MuseLoid音源”と呼ばれ、その実体はサウンドフォントによる発声データ群となる。
	本稿では「女神様」という名を持つ歌手をデビューさせる、という設定で話を進める。

	なお、自分の声で録音したファイルならば問題はないが、
	他のサイトからwavファイルを調達した場合は、必ず著作権の確認をして再配布条件などに従うこと。

	(注)本解説書は、MuseLoid音源の作業をほとんど手作業で組み立てていく流れを示しているが、
	　　ループ設定や音程の調整などかなりの作業量となる。これを効率化するために、
	　　これらの作業を自動化する支援ツール“Orpheus(オルフェウス)”が提供されている。
	　　しかしMuseLoidの駆動方式や構造を理解する上で、本解説書を一読することは充分な意義がある。

	------------------------------------
	 ■ MuseLoid配列
	------------------------------------

		MuseLoid配列とは、五十音とバリエーション番号の対応関係である。
		これはデータの互換性を維持するための規格である。（MIDIのＧＭ配列規格に匹敵する）
		発声ニュアンスは個々人の裁量に任されるが、MuseLoid配列番号は必ず遵守すべきものである。
		以降、略して“ＭＬ配列”と呼ぶ。

			 50: あ   51: い   52: う   53: え   54: お
			 55: か   56: き   57: く   58: け   59: こ
			 60: さ   61: し   62: す   63: せ   64: そ
			 65: た   66: ち   67: つ   68: て   69: と
			 70: な   71: に   72: ぬ   73: ね   74: の
			 75: は   76: ひ   77: ふ   78: へ   79: ほ
			 80: ま   81: み   82: む   83: め   84: も
			 85: や   86: ヰ   87: ゆ   88: ヱ   89: よ
			 90: ら   91: り   92: る   93: れ   94: ろ
			 95: わ   96: ゐ   97: ん   98: ゑ   99: を
			100: が  101: ぎ  102: ぐ  103: げ  104: ご
			105: ざ  106: じ  107: ず  108: ぜ  109: ぞ
			110: だ  111: ぢ  112: づ  113: で  114: ど
			115: ば  116: び  117: ぶ  118: べ  119: ぼ
			120: ぱ  121: ぴ  122: ぷ  123: ぺ  124: ぽ

		【補足１】「ぢ」「づ」の発声は「でぃ」「どぅ」とする。
		【補足２】「ヰ」「ゐ」「ヱ」「ゑ」の発声は特に規定されていない。
			　　したがって、自由な発声を割り付けることが可能である。
			　　（デフォルトとしては、「い」「え」で代替えする）


	------------------------------------
	 ■ MuseLoid音源の構成
	------------------------------------

		MuseLoid音源は、サウンドフォントの一形態であるsfzという形式で開発する。
		結果として以下の構成を作り上げるのがゴールである。（ ◆：フォルダ、無印：ファイル ）
		なお、行頭の数字①～④は次節での説明番号と呼応している。

		①　◆ 女神様　　　			≪ MuseLoid音源フォルダ ≫
		　　│
		②　├── Readme.txt           	≪ ドキュメントファイル群 ≫
		　　├── Orpheus.jpg
		　　│　　　　：
		　　│
		③　└──◆ sfz			≪ 発声制御フォルダ ≫
		　　　　　│
		　　　　　├── あ.sfz 		┓
		　　　　　├── い.sfz 		┣ sfzファイル
		　　　　　├── う.sfz 		┃　ＭＬ配列分準備する。
		　　　　　│　　 ：     		┃　（75ファイル）
		　　　　　├── ぼ.sfz 		┛
		　　　　　│
		　　　④　├──◆ C4　　		≪ 音程別フォルダ ≫
		　　　　　│　　│
		　　　　　│　　├── あ.wav		┓
		　　　　　│　　├── い.wav		┣ wavファイル(同一音程)
		　　　　　│　　├── う.wav		┃　代替発声でデータを割愛する場合もあり、
		　　　　　│　　│　　 ：		┃　必ずしもＭＬ配列分必要になる訳ではない。
		　　　　　│　　└── ぼ.wav		┛　例：「づ」→「ず」、「を」→「お」
		　　　　　│
		　　　　　├──◆ G4　　		┓
		　　　　　│　　│			┃以降のデータは、音程変化に応じて
		　　　　　│　　├── あ.wav		┃音色を変化させたい場合にのみ準備。
		　　　　　│　　├── い.wav		┃必須ではない。
		　　　　　│　　├── う.wav		┃
		　　　　　│　　│　　 ：		↓
		　　　　　│　　└── ぼ.wav

		sfzは自由なパス記述が可能なため、そのフォルダ構成やファイル名は柔軟に記述できる。
		しかし各々の音源開発者が、標準化されたMuseLoid構成を持つ音源を開発をすることで、
		それを利用する側は演奏準備が容易に行え、流用の際も修正の手間が軽減する。
		Muse本体も、この構成を前提としてsfzをロードする機能を実装している。
		よって本構成と命名則を規範とし、それに従ってMuseLoid音源を開発することを強く推奨する。


	------------------------------------
	 ■ MuseLoid音源の具体的内容
	------------------------------------

		①MuseLoid音源フォルダ

			今回作成するMuseLoid音源名を持つフォルダを作る。
			ここでは仮に“女神様”としよう。

		②ドキュメントファイル群

			女神様に、音源開発者や連絡先などを記載したドキュメントを添付する。
			開発日付や改版履歴なども記録しておくと、自身のデータ管理も容易になる。
			収録した歌声の出展やライセンス条項(再配布条件など)も記載すべきである。
			更に歌声の特性や得意な音域、うまく発声するためのコツなどを記述するのが望ましい。
			歌手のイメージを鮮明にするために画像ファイルなどを添付してもよい。
			なお、ファイル名に関しては特に規定は無い。

		③発声制御フォルダ(sfzファイル格納)	※この処理は支援ソフト「Orpheus」により自動化されている

			女神様に“sfz”というフォルダを作り、
			その下に拡張子(.sfz)のテキストファイルをＭＬ配列分作成する。
			なお、sfzの文字コードは必ず UTF-8 を使用する。（BOMの有無は問わない）

			ファイル名も、ＭＬ配列に従って付与する。（あ.sfz, い.sfz, う.sfz, …）
			基本的に75ファイルすべてをそろえておくのが望ましい。
			歯抜けがあっても、Mues演奏時にエラーとはならないが、そのバリエーションは
			未割付状態となり、その発声はバリエーション０番の音色で代替発音される。

			sfzはかなり木目細かい制御が可能であるが、必要最小限の記述は３行だけである。
			以下に“あ.sfz”の記述例を示す。（//以降末尾まではコメントとなる）
			┌───────────────────────────────────────────
			│
			│  <region>			// タグ
			│  sample=C4\あ.wav		// 発声データへの相対パス
			│  pitch_keycenter=C4		// 発声データの音程
			│
			│

			もし、もう一つの音程を準備した場合は以下のような記述になる。
			┌───────────────────────────────────────────
			│
			│  <region>
			│  sample=C4\あ.wav
			│  pitch_keycenter=C4
			│  lokey=C-1			// C-1(最低音)から
			│  hikey=D#4			// D#4 までは、こちらの音色
			│
			│  <region>
			│  sample=G4\あ.wav
			│  pitch_keycenter=G4
			│  lokey=E4			// E4 から
			│  hikey=G9			// G9(最高音)までは、こちらの音色
			│
			│

			上記の例は、音域(lokey/hikey)によってwavファイルを切り分けた記述であるが、
			強弱v値(lovel/hivel)や、音域と強弱の組み合わせでの切り分け、なども可能である。
			また、複数の<region>で共通の指定値は、<group>タグでの一括指定も可能である。
			（詳細はsfzフォーマットの解説サイトを参照のこと）

			調整用に使用頻度の高いパラメータには以下のようなものがある。
			┌───────────────────────────────────────────
			│
			│  <region>
			│  sample=E4\い.wav
			│  pitch_keycenter=E4
			│  tune=12			// 音程の微調整(単位:セント。範囲:-100～100)
			│  offset=300			// 発音開始位置の指定(単位:wav波形ドット)
			│  ampeg_release=1.5		// 発音余韻の指定(単位:秒。範囲:0～100)
			│

		④音程別フォルダ(wavファイル格納)	※この処理は支援ソフト「Orpheus」により自動化されている

			sfzフォルダ配下に、wavファイルの格納フォルダを作る。
			フォルダ名は格納するwavファイルの音程名を採用する。
			最低でも１音程（１フォルダ）は必要である。ここでは仮に“C4”としよう。
			また、歌唱力を上げるために、音程変化に応じて音色を変化させたい場合は、
			同階層に別の音程“G4”なども準備する。

			これらのフォルダ配下に、五十音を単独発声したwavファイルを配置する。
			ファイル名は、ＭＬ配列に従って付与する。（あ.wav, い.wav, う.wav, …）

			sfzファイル側で代替発音の定義ができるので、
			wavファイルは必ずしも75音フルセットをそろえる必要は無い。
			例えば、以下は“ゐ.sfz”の内容であるが、発声は“い.wav”で行っている。
			┌───────────────────────────────────────────
			│
			│  <region>
			│  sample=C4\い.wav
			│  pitch_keycenter=C4
			│


	------------------------------------
	 ■ MuseLoid歌唱
	------------------------------------

		(1)楽団編成ファイルの準備

			MuseLoid音源をMuse演奏に用いるには、初期化ファイル(#SF)で定義したフォルダの下に
			楽団編成ファイル(.sfm)を作成する必要がある。
			ファイル名は任意なので、ここでは仮に“女神楽団.sfm”としよう。

			女神楽団.sfmの内容は、以下の通りである。（アスタリスク * 以降はコメント）
			┌───────────────────────────────────────────
			│
			│  MuseLoid\女神様\sfz | 53　　	* MuseLoid音源の指定（楽器P53を採用）
			│  a340.sf2 　　　　　　		* 伴奏の指定（自由に設定できる）
			│
			│

			バリエーション番号はＭＬ配列に従って、Museが自動的に割付を行う。
			一方、割付け先の楽器番号(上記例では53)は任意である。
			しかし、以下のいずれかのＧＭ配列番号を利用することを推奨する。

				　≪ 割付候補 ≫　　	≪ 割付指針 ≫
				----------------------------------------
				　P53：合唱アー　　　	　男性の歌声
				　P54：独唱オー　　　	　女性の歌声
				　P55：シンセボーカル	　子供の歌声
				　P86：ソロボーカル　	　（予備１）
				　P92：スペースボイス	　（予備２）
				----------------------------------------

			この配慮により、通常音源で再生した場合でも違和感の無い演奏が期待できる。
			演奏互換性という観点から、対象とするMuseLoid音源の歌声に近い楽器番号を
			採用することが望ましい。

			楽団編成ファイルの準備が整うと、Museの音源メニューから、
			「※ 女神様楽団」が選択可能となる。

		(2)Museデータの作成

			Museデータで歌わせるための記述例を以下に示す。（かもめの水兵さん)
			Pコマンドで楽器番号を省略すると、バリエーション番号のみ変化させることができる。
			┌───────────────────────────────────────────
			│
			│  @P53
			│
			│   か      も     め       の
			│  P/55 d4 P/84 m P/83 s4. P/74 l8
			│
			│   す       い       へ       い       さ       ん
			│  P/62 s8. P/51 m16 P/78 d8. P/51 m16 P/60 m32 P/97 s4~
			│
			│

			なお、マクロを利用すると記述が簡便になり、可読性が向上する。
			（ $ka{P/55}0 $mo{P/84}0 $me{P/83}0 など ）
			┌───────────────────────────────────────────
			│
			│  @P53
			│
			│  ${ka}d4 ${mo}m ${me}s4. ${no}l8
			│
			│  ${su}s8. ${i}m16 ${he}d8. ${i}m16 ${sa}m32 ${n}s4~
			│
			│

			ＭＬ配列に従い、全発声を網羅的に定義した便利なマクロのテンプレートが、
			インストーラー版Museに同梱されている。


	------------------------------------
	 ■ wavファイルのロングトーン化		※この処理は支援ソフト「Orpheus」により自動化されている
	------------------------------------

		五十音の単独音は一定時間で発声が停止する減衰系の楽器状態である。
		このまま歌わせると息切れ気味の歌唱となり表現力が乏しい。
		これを通奏系の楽器に仕立て上げるのが、ロングトーン化である。

		ロングトーン化は、wavファイルにループ区間を設定することで実現する。
		あ.wav ～ ぼ.wav の最大75個のwavファイルに、一つひとつ手を加えていく必要があるため、
		結構な手間ではあるが、歌唱力アップのためには必須であり、MuseLoid音源開発の山場でもある。
		（慣れれば２～３分で１ファイルの作業を終えることができる）

		ロングトーン化の作業には、任意のwavファイル編集ソフトが必要である。
		本解説では、Wavosaur（フリーソフト）の使用を前提に説明する。
		このソフトをネット検索し、導入しておくことを推奨する。日本語化パッチも存在する。
		以下、ロングトーン化の作業手順を説明する。（★印は“Wavosaur”に特化した操作方法）

		(1)前準備

			ロングトーンとは直接関係無いが、ステレオ録音の場合はモノラルに変換した方が良い。
			ファイル容量を削減でき、Musingの際にステレオS指定を効果的に活用できる。
			　　★ツールバーボタンの“モノラル変換：全てのチャンネルをMix”で瞬時に処理が完了する。
			　　★[Ctrl]＋[Z]で無限ステップのアンドゥができる。

			また、waveファイルによっては、DC成分の除去も行っておいた方が良い。
			　　★“処理(P)→DC除去”にて瞬時に除去できる。

			更に、wavファイルの発音応答性能を上げるため、冒頭部分の無音をカットする。
			　　★ホイールで横方向に拡大／縮小。[Ctrl]＋ホイールで縦方向に拡大縮小する。
			　　★拡大縮小の基点は、選択カーソルの位置となる。
			　　★マウス押下のままスライドすれば範囲指定ができる。
			　　★右クリック→切り取りで、選択範囲をカットできる。

			なお、モノラル化やDC成分除去は、五十音データのすべてに行う必要があるため、
			バッチ処理で行うと楽である。
			　　★[B]で、一括処理のダイアログが開く。

		(2)波形全体の俯瞰

			まずは３つの区間を頭の中に描く。この分割は極めて感覚的なものである。
			分割しにくい波形もあるが、とにかく強引に３区間に分類することが肝要。
			周期波形のピークだけでなく、内部にある小さな周期波形にも着目すると良い。
			　　★“ツール(T)→切り分け／領域”で、候補位置にマーカーを生成してくれる。

			・導入領域：比較的複雑な波形が発生している冒頭の領域（子音が聞こえる範囲）
			・持続領域：ある程度の音量でほぼ均一に流れている領域（母音が聞こえる範囲）
			・減衰領域：波形の減衰が始まり最終的にほぼゼロに到達する領域

			wavファイルに対する作業(▼)を概観すると、以下のように図示できる。

			▼無音部カット             　　　　　　　　▼ループ設定　▼無効部カット
			┏━━━━━━━━┯━━━━━━━━━━━━━━━━━━┯━━━━━━┓
			┃　　導入領域　  │　　　　　　　持続領域　　　　　    │　減衰領域  ┃
			┗━━━━━━━━┷━━━━━━━━━━━━━━━━━━┷━━━━━━┛

		(3)ループ区間の設定

			極限まで表示を拡大すると、wavファイルのデータの粒が見えるまでになる。
			特に、－∞dB（つまり中央水平線）付近にある粒をゼロ交差点という。
			雑音の無い綺麗なロングトーンを作るには、このゼロ交差点を見つけ出すことが重要である。
			　　★[Ctrl]＋[B]で、エリア選択時に両端をゼロ交差点にスナップするモードがON/OFF。

			作業としては、ロングトーン領域の開始および終了位置付近のゼロ交差点を探し、
			それを選択領域の両端とする。そして、この領域でループポイントを作成する。
			この際、波形の周期性を充分考慮してループの開始点／終了点を選ばなければならい。
			周期性が崩れたループは、ループが戻るタイミングで、ほぼ確実にプチ音が発生する。
			　　★２つのマーカー間やループ区間でダブルクリックすると、をの領域を選択してくれる。
			　　★領域を選択した状態で[L]押下すると、ループポイントが作成される。

			ループはその幅に応じた「うねり」が発生する。これは常に念頭に入れておく必要がある。
			このうねりは、「ビブラート」あるいは「こぶし」といった歌唱表現に相当する。
			その意味でループ区間は、できるだけ持続領域の後半に持ってくる方が良い。
			しばらく素直なロングトーンをして、その後ビブラートが掛かり始めるタイプの歌唱となる。
			逆に、すぐにループ区間に移行する作りにすれば、演歌歌手ができ上がる。

			設定するループ区間の幅は、波形周期単位で調整する。最低でも波形１周期分は必要である。
			ループ区間を狭くするほど、安定した音程／音量のロングトーンになるが、
			反面、ゆらぎの無い、ビープ音のような無機質の歌声になってしまう。
			また波形周期によって音程が決まるため、音程が外れている単一波形のみをループにすると、
			音を外したロングトーンを延々と行う音痴歌手になってしまう。
			ループ区間にある程度の幅を持たせるのは、適度なビブラートを付けるという効果以外に、
			音程の適正化を図るという意義もあるのだ。
			　　★フッター部に“d=0.000000”として選択領域の時間幅が表示される。
			　　★表示単位は“オプション(O)→サンプル表示”にて変更できる。

			どのくらいの波形数をループにすべきかの定まった見解は無いが、作成する五十音すべてが
			統一感のあるうねり周期を持っていると、使い勝手の良い音源になる。
			例えば、0.2秒前後と決めて統一的にループ区間を設定していくのも一つの指針である。

			しかし、声の質や発声する単語によって、心地良いうねり周期は微妙に異なる。
			この辺のさじ加減が、音源開発者の腕の見せ所なのである。

		(4)クロスフェードループを掛ける

			ループ設定が完了した時点で一応通奏楽器になっている。
			しかし、ループの始点付近と終点付近で波形の形状が大きく異なっていると、
			プチプチという雑音が発生したり、耳障りな周期音になってしまう。

			これらのプチ雑音や周期音を緩和するために、クロスフェードループという処理がある。
			断っておくが、上手にループ区間が設定できた場合は、この処理を実施する必要はない。
			むしろ原音を尊重して、クロスフェード処理を掛けない方が理想的なのである。

			一方で、クロスフェードは音程を安定化させる効果もあるようだ。
			ロングトーンに入ってから音程が狂うようなら、何度か掛けてみると良いかもしれない。
			クロスフェードを掛ける場合は、設定しているループ区間に対して実施する。
			　　★ツールバーボタンの“クロスフェードループ100%”で設定ループ区間を処理してくれる。

			クロスフェードは何度繰り返しても支障は無いが、次第に原音から離れた音質になっていく。
			そして、最終的にそれ以上変化しない状態に収束する。

			なお、クロスフェードはプチ音除去には効果的だが万能ではなく、
			掛けることによって不自然なうねりが助長する場合があることを留意すべきである。
			中庸策として、クロスフェード比率を50%に落とすという手段もある。
			　　★“ツール(T)→ループ→クロスフェードループ→50%”

		(5)後処理

			ループ終了点よりも先は演奏に関与せず無駄にファイル容量を増やすだけなのでカットする。
			カットの際、終了側のゼロ交差点を残すように注意する。
			（そうしないと、設定したループ終了位置の点が消失してしまう）

			ループ始点を１ドット右にずらす。
			（終点もゼロ交差点なため、そのままだと周期が１ドット分長くなり、わずかに音程が狂う）

			音量を最適化(ノーマライズ)する。
			この処理により五十音の各音量を最大値で均一化でき、歌声が伴奏に埋まりにくくなる。
			　　★“処理(P)→音量→0dB”にて瞬時に完了する。

			最後に、編集結果をファイルに保存する。
			　　★[Ctrl]＋[S]で上書き保存する

		(6)編集結果を確認する

			編集したwavファイルの歌声を確認するには「楽器の試聴」が便利である。
			楽器試聴では、ローマ字打鍵でダイレクトに該当バリエーション番号を選択できる。

			なお、sfzやwavの内容を書き換えるなど音源コンテンツを変更した場合でも、
			Muse再起動をする必要はなく、音源メニューで右クリック(音源解除)し、
			再度音源メニューで選び直せば、編集後の音源状態が反映される。
			「楽器の試聴」ダイアログを表示したままでも、この操作は可能である。


	------------------------------------
	 ■ 用語解説
	------------------------------------

		MuseLoid（ミューズロイド）
			サウンドフォントに単独五十音の発声データを仕込み、
			それを特定楽器のバリエーションで切り分けながら、Muse演奏時に発声させる機構。
			バリエーション番号の配列規格や、音源となるサウンドフォントの発声データ、
			そのファイルやフォルダ構成、および命名規則などの全体総称である。
			実現方式は、sfz/sf2を問わない。

		MuseLoid音源（歌手）
			サウンドフォント形式の発声データ、およびその制御ファイル群。
			それらは、MuseLoid配列や規格構成に準拠したものでなければならない。
			発声データの実体は、wavあるいはoggファイルである。
			現在、インストーラー版Museに同梱されている標準音源はsfz形式であるが、
			MuseLoid配列に準拠していれば、sf2形式でもMuseLoid音源と認められる。

		MuseLoid音源構成（ＭＬ構成）
			発声データをsfz形式で格納するための、フォルダやファイルの階層構造。
			および、それらの命名規則。
			ルートフォルダで、その音源名（歌手名）を表現する。
			sfzファイル名やwavファイルの音程フォルダ名なども規定されている。
			今後、新しい歌声データが蓄積されていく際、
			この構成に従っていることで、管理や流用を容易にする。
			基本的に、sfz形式のMuseLoid音源は、この構成に従うことが求められる。
			Muse本体もこの構成を前提に作られている。

		MuseLoid配列（ＭＬ配列）
			五十音とバリエーション番号との対応。
			Muse本体もこの配列を前提に作られている。
			歌唱を含むMuseデータの互換性を得るために考え出された。
			楽器番号は規定されていないが、互換性を考慮して
			MIDI上の声に近い音色を割り付けることが推奨されている。

		MuseLoidマクロ（ＭＬマクロ）
			ローマ字表記のマクロ名でMusingの簡便性を図るためのマクロ。
			コメントスイッチや追記コマンドによる字幕表示などの工夫が盛り込まれている。
			字幕には、ひらがなとカタカナが使用できる。

		　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　以上