読者です 読者をやめる 読者になる 読者になる

マジックトリョフ

ねすちの個人サークル「Magic Troffle」の告知やら何やらです。

ゲームギア音源おぼえ書き

 ケロログの方(http://www.voiceblog.jp/ness1943/)を使っているのですが、長文を書くのには向いてないので、はてなブログつくりました。

 

 最近ゲームギア音源を用いたアレンジ曲を作って同人誌即売会で頒布しています。機会があったのでどう作ってるのかおぼえ書き程度に記述することになりました。自分がド忘れしてもこれを読めばきっと大丈夫。

「自分はこうしてます」という内容で記述していきます。『こういう作り方もあるよ!』とか『こういうソフトウェアもあるよ!』とかありましたら教えていただけると嬉しいです。

 

 準備→手順→その他情報って順で書いてます。 いちど全体を読んだ方が良いでしょう(構成下手(あとで直したい))

 

 あと、WindowsXPWindows7辺りを使ってることが前提です。macLinuxだとどうするんだろう…。

 

用意するもの

ゲームギア本体

 さいきん中古ショップでもあまり見かけないですね…。

・Everdrive GG

http://shop.retrogate.com/Everdrive-GG-EDGG.htm ←更新停止されてたようだ

http://shop.krikzz.com/main.sc ←今はこっちで販売されてる

 上記サイトにて77ドルで購入できます。「Out-of-Stock」となっているときは品切れですが、たまに入荷しているので一日一回チェックしてみると良いでしょう。

・microSDカード

 Everdrive GGは、ROMデータを入れたmicroSDカードを挿し込んで使います。1枚用意しておきましょう。

ゲームギアのカートリッジ

 Everdrive GGは基板だけで届くので、ガワが必要です。ガワが無いと本体に挿すことができません。安いソフトを一本購入しておくと良いでしょう。

・DTC-20(特殊な形のドライバー)

http://www.amazon.co.jp/dp/B001YH89IS/ref=cm_sw_r_tw_dp_lMqfvb1RHBX6A

 ゲームギアのカートリッジを分解するためのドライバーです。

 

制作環境

 MMLを記述し、コンパイルして.vgmファイルに変換する作り方でやっています。この辺りはmck wikiを読んだ方が大変詳しく書いてあります。

http://wikiwiki.jp/mck/

 

自分の環境を記述します。

サクラエディタ

 mml用に色分け設定をしたテキストエディタです。下記参照。

http://wikiwiki.jp/mck/?%C0%A9%BA%EE%B4%C4%B6%AD%A4%CE%BD%E0%C8%F7#m5e6e125

・XPMCK

http://jiggawatt.org/muzak/xpmck/

 記述したMMLを、.vgm形式のファイルへコンパイルします。.vgmはVideoGameMusicの略だそうです。10種類ぐらいのゲーム機に対応してるけどちょっと怪しいコンパイラだよね、という話を聞きましたが真実は分かりません。

 ゲームギア向けにコンパイルできるのは現在コレしか知りません…ほかにもあったら教えていただけると嬉しいです。

・KbMedia Player

http://hwm5.gyao.ne.jp/kobarin/

 色んな形式のファイルをPC上で再生することができるプレイヤーです。制作中はこのプレイヤーで鳴らして音を確認しています。環境設定についてはmck wikiを参照…。

 もしかしたらin_vgm.dllというプラグインを入れる必要があるかもしれません(もう設定したときの記憶があいまい)。その場合は下記ページから入手できます。

http://www.smspower.org/Music/InVgm

・SMS VGM Player

http://www.smspower.org/Music/SMSVGMPlayer

 楽譜データのような存在である.vgmファイルにプレイヤーをくっつけて、ゲームギア上で動作する.smsファイルにするツールです。

 

MMLを書きます

 MMLについては、mck wikiおよびそこから辿れるページを参照!

http://wikiwiki.jp/mck/?MML

 

 ppmckおよびmck向けにMMLを書いている方は、そのままの書き方で大丈夫かと思います。が、xpmckでは新コマンドが追加されています。下記マニュアルを読むと、xpmck用のコマンドと、機種ごとにどのコマンドが使えるか知ることができます。

http://jiggawatt.org/muzak/xpmck/manual.html

 

コンパイルします

 コマンドラインで下記の文を実行します。出力するvgmファイル名はお好みで。

xpmc.exe -sgg sample.mml sample.vgm

 -sggは「ゲームギア用にコンパイルしますよ」ってオプションです。詳細はマニュアル参照。生成したvgmファイルを前述のプレイヤーにてPC上で再生して、鳴ってくれるか確認しましょう。

エラーおよびワーニングがある場合は教えてくれるので、MMLを直してあげましょう。だいたいは「その音域(低すぎるor高すぎる)は正しく再生できないよ」か「譜面の長さが違うチャンネルがあるよ」だと思います。

 コンパイルするときの実行文の末尾に「]」(半角閉じ括弧)を入れると、譜面の長さがチャンネルごとに表示されるのですが、本来のコンパイルオプションはどう書くのだろう。

 

smsファイルにします

 SMS VGM Playerを用いて、.vgmファイルを.smsファイルにします。同ソフト内のreadme.txtをあらかじめ読んでおきましょう。コマンドライン上における実行文は下記のとおりで、出力するsmsファイル名はお好みでどうぞ。

copy /b vgmplayer.stub+sample.vgm sample.sms

 

ゲームギア本体で再生します

 生成したsmsファイルをmicroSDカードにコピーします。ファイルの設置場所は直下で大丈夫です。そしてEverdrive GGにmicroSDカードを挿し、ゲームギア本体でsmsファイルを起動するとVGM Playerが立ち上がって再生できます。

 

一連の流れはこんな感じです。

あとは気にしてるコトと、参考にしてるページ。

 

 

ゲームギア音源についてザックリと 

 参考ページ

DCSGのノイズについて - Simple Inspiration

Future Driver

 ゲームギアの音源チップであるSN76489は、矩形波3音+ノイズで演奏できる。デューティー比は50%のみだけど、ノイズをうまく使うと6.25%の矩形波を出せる。

 

Implementation specific notes
	
	SEGA Game Gear

		Volume range is 0..15. The lowest playable note is A in octave 2.
		Channels A, B, C are tone channels that output square waves.

		Channel D is used for noise. @0 selects white noise and @1 selects periodic
		noise.

		Limited panning is supported (negative values means full left, zero means center,
		positive values means full right).

		EP and MP can be used together, but they will interfere with eachother.

		For the noise channel the octave setting is irrelevant. The noise generator has
		four different clock settings that is determined by the current note MOD 4. Below
		is a list of what each note corresponds to:

			c, e, g+:	High pitch
			c+, f, a:	Medium pitch
			d, f+, a+:	Low pitch
			d+, g, b:	Pitch determined by channel C.

		By selecting periodic noise generation with pitch determined by channel C it is
		possible to use the noise channel as a kind of extra tone channel.

  XPMCKのマニュアルより引用。以下自分の解釈。

・一番低く出せる音は、o2のa。

・Dチャンネルの音色を@0に指定するとホワイトノイズ、@1に指定するとPeriodic Noise(6.25%矩形波)が出る。

・Panは左100%、中央、右100%の三択。だと思う。

・ノイズの音程について。カテゴリ内(例:c,e,g+)で高さの違いは無いので、お好みで記述して良い…はず…。自分はc,c+,dで記述してる。

  c,e,g+:高い。シンバル・ハイハット・スネアで使ってる。

  c+,f,a:中ぐらい。たまにタムっぽく使うぐらい。

  d,f+,a+:低い。バスドラムに使ってる。

  d+,g,b:Cチャンネルにて指定している音程。

 d+,g,bをちゃんと使えると表現の幅むっちゃ広がると思うけど、まだ全然つかえてない。

 Dチャンネルの音色を@1に指定し、高さはd+で発音タイミング&長さを記述し、本当に鳴らしたい音程をCチャンネルへ書くことで、6.25%矩形波の音程をコントロールできる。っぽい。

 

 個人的な気持ち。

複数チャンネルで同じ高さの音を鳴らすと、当然ながら変な音がする。

・o7ぐらいの高い音も出せるけど、高い音はちょっと音痴になる気がする。

・タイを表現するとき「^」か「&」で記述するが、^で書いてると譜面の長さカウントがおかしくてコンパイル時にワーニングとなる場合がある。なるべく&で記述するようにしてる。 

KbMedia Playerだと、6.25%矩形波が鳴らないかもしれない。

・vgmファイルのときにPC上で再生すると鳴ってくれるのに、いざsmsにしてゲームギア実機で起動するとVGM Playerが動いてくれない場合がある。どんな記述をすると動いてくれないのか、まだ不明。

 

 

その他の参考ページ

ぽんRev!! 個人的備忘録: Everdrive GG 届いた~

 Everdrive GGを購入した人のブログ記事。どんな感じなのか見せてくれています…ありがたや。microSDを頻繁に抜き挿しするならケースの加工をしましょう、と記述してあります。自分は以下のように加工しました。

 

f:id:NESS1943:20150327193136j:plain
突然の高坂穂乃果

  microSDの抜き挿し部分を、カッターナイフとはさみで豪快に切除しています。もっと安全な方法があったかもしれません。あと、内側の一番上にある出っ張り(伝われ)がmicroSDの抜き挿しの際オジャマになるので削りました。

 

 

新しいフォルダ (2) ゲーム音源

 実機演奏をしている方のブログ記事。SMS VGM Playerの存在はこのページで知りました。

 

 

おわり

 とりあえず知ってることは大体書いた…と思います。更に思い出したことがあったり、新しく知る事があった場合は追記していくつもりです。「ここ間違ってるよ」とか、ここに記述されてない情報があったら教えてくれるととっても嬉しいです。

 

 

2015/4/14 修正

 EverDrive GGを販売してるサイトは移転してたようなので、リンクを修正。