2011年11月23日

東方メドレー9 東方妖怪小町〜ネクロファンタジア

ほぼ一年間も放置してしまいました。超スローペースですが、「東方妖怪小町」以降の「二色蓮花蝶」、「御伽の国の鬼が島」、「ポイズンボディ」、「少女幻葬」、「ネクロファンタジア」までを耳コピして繋げました。ここまでで一区切りついたので最初からここまでの分をアップします。

前回の記事にも書きましたが、つなぎが想像していたよりも難しいです。前回は音色と同時発音数の違いが難しいと思っていましたが、それに加えて、コードの違いもつなぎを難しくする原因だと感じ始めました。特に二つの曲を重ねて鳴らす時に、どちらかの曲のメロディーが伴奏のコード(大抵ストリングスの白玉)と合わないです。コードの勉強をする必要があるような気がしてきました。

「二色蓮花蝶」
この曲はオリジナルである秋霜玉版の「二色蓮花蝶 〜 Ancients」と、ZUNさんが自分でアレンジした蓬莱人形版の「二色蓮花蝶 〜 Red and White」があります。今回は蓬莱人形版をコピーしてます。本家のSTGゲームでは使われていないため知名度は今一つですが、好きな曲です。私はイントロのピューピューなってる音が流れ星を連想します。喜多郎の「シルクロード」にも似たような音が入った曲があって、二色蓮花蝶を聞くといつもそれを思い出します。この曲は感情が向きだしであまり霊夢っぽくない気がします。個人的には霊夢は何でも受け流して、感情を表に出さなそうなイメージだからです。他の霊夢曲である「少女綺想曲」、「春色小径」は、あまり起伏がなくてまさに霊夢って感じがします。「東方妖恋談」も結構起伏ありますね。さて、コピーの方はかなり不満な出来です。埋没した音がさっぱり聞き取れなくて薄っぺらくなってしまいました。おかげで前後の曲と音の厚みが全然合いません。

「御伽の国の鬼が島」
東方萃夢想より最終ボス、萃香の曲。最初は全く好きじゃなかった曲です。主旋律だけ聞いて単調な曲と思っていました。後になって、主旋律だけではなくて伴奏とか裏で鳴ってる音と併せて聴くとすごくカッコイイのいいということに気がつきました。ピコピコ音いいですが、何といっても魅力なのはサビのドラムですね。この曲の半分はドラムで出来ているんじゃないでしょうか。スネアドラムのリズムが大好きです。コピーの方はSD-20のおかげで音色が近くて、聞き取れた音数の割には再現度は高めです。

「ポイズンボディ」
東方花映塚よりメディスン・メランコリーの曲。この曲はそれほど好きではないです。単調に感じてしまいます。個人的に曲に対する印象よりも弾幕の印象が強いです。ダメ!霧ダメ!見えないっ動けなピチューン。コピーの方はイントロしかしていませんが、バックでなっている鐘のような音が再現できませんでした。フランジャーとかのエフェクトを使うと少しは似るのですが、難しいです。

「少女幻葬」、「ネクロファンタジア」
東方妖々夢より藍の曲と、同じく紫の曲です。少女幻想はネクロファンタジアのアレンジです。どっちの方が好きか議論はよく見かけますが、私はネクロファンタジア派です。少女幻想はネクロファンタジアよりも完成度が高いというかまとまりがある気がします。イントロの長さがじれったいんですが、その分メロディー(サビ?)が始まった時のカタルシスが大きいですね。一方ネクロファンタジアは圧倒的な迫力が魅力です。少女幻想の爽やかさとはうってかわって怪しげなイントロから、サビまで曲全体がクライマックスです。私は特に今回のメドレーで使った部分が好きで、後ろでピロピロ鳴っている音が好きです。妖々夢は初めてやったゲームなので思いで補正も絶大です。コピーの方は、どちらも難しかったです。特にドラムのシンバルがサッパリ聞き取れなかったのでイントロの部分を流用しています。ネクロファンタジアは音色の再現はほとんど出来ず。もっと時間をかけるれば似せられるかもしれないのですが、現状そこまでの情熱が持てなくなっています。

原曲作曲者:ZUN

2010年12月01日

東方メドレー8 お宇佐さまの素い幡〜東方妖怪小町

東方メドレー8

7時間位かけて、「お宇佐さまの素い幡」と「東方妖怪小町」のメドレー使用部分の耳コピが大体完了しました。今一つ耳コピに気持ちが向かなかったため、4か月で2曲という超スローペースになってしまいました。

今後進捗を書くと同時にコピーした曲に対する思い入れや苦労した点等も書いていくことにします。今回は前回の分も含めて4曲分書きます。

「春の湊に」
東方星蓮船より1面道中曲。第7回シリーズ人気投票で投票した曲です。ひたすら爽やかなイントロがまず大好きです。サビのサックスは入り方は勢いがありノリノリだけど、メロディー自体は少し物哀しい。そしてバックのピアノはそんなことはおかまいなしに軽快で愉快です。この対比がたまりません。
この曲を聴いていると、家族旅行でピクニックを楽しんでいる光景が目に浮かびます。親は楽しみつつもそれが一時の休息だということを分かっていて、楽しい時間が終わるのを憂いてもいる。子供はひたすら無邪気にはしゃいでいる。そんな光景。
星蓮船の曲の中では、「感情の摩天楼」と並んで2強です。一面道中曲としては断トツで1番好きです。

「稲田姫様に叱られるから」
東方風神録より1面ボス、秋穣子の曲。タイトルがかわいらしくて好きです。この曲は1ループが非常に短いです。曲だけを聴いていると「おいっ!もうループするんかい!」ってなりますけど、ゲーム中だとボス戦がすぐに終わるのでこれ位が丁度いいです。曲自体もイントロのちょこまかしているリズムがかわいらしいです。サビの部分はゆったりとした感じで訊いていてほっこりした気分になります。私の中での秋穣子のイメージは、この曲から受ける印象そのものです。

「お宇佐さまの素い幡」
東方花映塚より因幡てゐの曲。第一印象はあまり良くなくて、「メロディーが単調で退屈な曲だなあ」と思っていました。ただある所で「兎が跳ねてるようなリズム等、物凄くキャラと音楽が合ってる」という旨の書き込みを読んで、この曲に対する見方が変わりました。この曲はメロディーを楽しむのではなくて、繰り返されるメロディーを背景に、飛び跳ねるドラムやベースのリズムが作る楽しげな雰囲気を楽しむものだと思うようになりました。

「東方妖怪小町」
東方永夜抄よりラストワードの曲。私の中では今のところ印象が薄く、それほど好きではない曲です。イントロはインパクトがあって好きなんですけど、その後ひたすら同じメロディーが繰り返されるのが単調だと感じてしまいます。イントロは好きですが。この曲を聴くことになるスペルプラクティスは、本編やExに比べてやっていてそれほど気分が盛り上がらないというのも影響していそうです。ラストワードはあと夢想天生と弾幕結界を取得できればコンプリートです。しかしとても難しい。タイトルはどういう意味なんでしょうか?

曲によって音色が違ったり同時発音数が違うとつなげる際にかなり調整が必要だということが分かってきました。このメドレーの曲順は主旋律の単音だけでつなぎを考えて決めたので、なかなか苦労しそうです。

2010年07月28日

東方メドレー7 春の湊に〜稲田姫様に叱られるから

今月はあまり耳コピに時間を割きませんでした。
10時間位かけて最初の2曲の耳コピがだいたいできたのでup。

原曲作曲者:ZUN

最近SD-20の調子が悪い気がします。音量がとても小さいのです。MIDIの方でvボリュームとべロシティを最大に指定しても小さいです。以前はそんなことなかったのにおかしいのは最近です。メーカーに問い合わせてみようかと思います

追記
SD-20の音量の問題解決しました。故障ではなくて初歩的な設定の問題でした。それもSD-20ではなくて、一緒に接続しているオーディオインターフェースのUA-1Gの。UA-1GにはINPUT LEVELを調整するつまみがあります。これをいじると、音源から入ってくる音の大きさを調整できるようです。完全に存在を忘れていました。これがいつの間にか以前よりも小さく設定されてしまっていたのが原因でした。大きくなるように調整し直して無事解決しました。

2010年06月21日

東方メドレー6 骨組み

メロディだけですが、一通り流れができました。
「思いついたつなぎを入れて、好きな曲もできるだけ入れて」という姿勢で作っています。
現時点では60曲位で30分位。完成版ではスピードをもうチョイ遅くする予定なので、35分位になるかと思います。
ここまで作るのにも相当時間かけたけど、なんだか曲が間延びしてしまってあまり格好良く思えないのが残念。今後は耳コピをひたすら進めていく予定。はたして完成までこぎつけられるだろうか…。

原曲作曲者:ZUN他

2010年06月04日

TiMidity++で複数のサウンドフォントを組み合わせて使う

■前置き■
・この記事は以前書いた「DominoとTiMidity++をつないでサウンドフォントを使う」
http://hanihoni.seesaa.net/article/139060187.html
の続きです。単体でも読めると思います。
・Windows XPの話です
・この説明で扱っているTiMidity++はsaurceforge版です
・TiMidity++の中でもMIDIプレーヤの使い方です。この説明がMIDIドライバでも当てはまるかどうかは私は分かりません
・説明といっても、自分が使う為に試行錯誤した結果を、辻褄が合うように解釈したものなので、この説明が正しいかどうかはかなり怪しいです。とりあえず、何かの参考になればということでまとめました
・指摘歓迎です(というかこちらが正しいこと教えて頂きたいくらいです)


■本題■
TiMidity++では、cfgファイルをいじることで、複数のサウンドフォントを組み合わせて使うことができるようになります。
今回は例として、SGM-V2.01と Airfont380finalというサウンドフォントを組み合わせて使うことを目標とします。
例えば「バイオリンとトランペットだけはAirfont380finalの音色を使い、残りはSGM-V2.01の音色を使う」といったことも可能です。


**********************概要**************************
●準備
●cfgファイルには何が書いてあるのか?
●「プログラムナンバー」、「バンクナンバー」とは
●MIDIにおける音色指定のルール
●音源によってナンバーの割り当てが違うと
●SGM-V2.01とAirfont380finalを組み合わせて使う
●ドラムについて
****************************************************

●準備
説明のための準備として、SGM-V2.01とAirfont380finalの本体ファイル(SGM-V2.01.sf2、Airfont380final.sf2)と、そのTiMidity++用cfgファイル(SGM-V2.01.cfg、Airfont380final.cfg)がそれぞれ用意されているものとします。今回用意したcfgファイルはcfgforsfとCreateCFGを用いて作成したものです。
そして、TiMidity++にSGM-V2.01.cfgを読み込ませればSGM-V2.01の音色を、Airfont380final.cfgを読み込ませればAirfont380finalの音色を鳴らすことができる状況だとします。

jumbisf2cfg.PNG

図のように4つのファイルを用意。「C:\timidity\sf2\temp」のフォルダに置かれている。


●cfgファイルには何が書いてあるのか?
(注:cfgファイルはドラムだけは他の音色と書き方が少し違います。この説明で使っている図等はドラム以外の音色についてのものです。ドラムについては後述します。)
図はcfgファイルの中身をキャプチャーしたものです。cfgファイルはテキストエディタで開くことができます。

cfgintro.png

(a)検索パス:使いたいサウンドフォンファイルがおいてあるフォルダを指定します。サウンドフォントファイルはここで指定したフォルダまたは、twsyng.exeと同じフォルダ置く必要があります。「dir $basedir/」と書くと相対パスで指定することができるので便利かと思います。($basedirはTiMidity++に読ませているcfgファイルがあるフォルダを表すようです)
(b)編集後のバンクナンバー:cfgファイルで組んだ音色の並びにおけるバンクナンバーを表します。例えばシーケンサからバンクナンバー0、プログラムナンバー
(c)編集後のプログラムナンバー:cfgファイルで組んだ音色の並びにおけるバンクナンバーを表します。
(d)使うサウンドフォントの指定:「%font サウンドフォント名」と書く決まりだそうです。
(e)使う音色の元ファイル中のバンクナンバー:使いたい音色の、元のサウンドフォントファイル(〜.sf2)中でのバンクナンバー
(f)使う音色の元ファイル中のプログラムナンバー:使いたい音色の、元のサウンドフォントファイル(〜.sf2)中でのプログラムナンバー 

一言で説明すると、cfgファイルには「各プログラムナンバー、バンクナンバーに対してどのサウンドフォントファイル(〜.sf2)のどの音色を割り当てるか」が書かれています。この意味は後ほど噛み砕いて説明しますが、そのために先にいくつか理解しておくとよいことがあるので説明します。


●「プログラムナンバー」、「バンクナンバー」とは
「プログラムナンバー」と「バンクナンバー」の意味を説明します。
プログラムナンバーとバンクナンバーは、音色に割り当てられた識別番号のようなものと考えればよいと思います。
あるいは、音色が音源の中どこに保存されているかを表す住所のようなものと考えてもよいかと思います。
全ての音色にはプログラムナンバーとバンクナンバーが割り当てられています。

プログラムナンバーとバンクナンバーはそれぞれ0〜127までの数字を使うことができるようです。
図のように128×128=16384個の箱に、音色が入れられているとイメージすると分かりやすいかもしれません。
(バンクナンバーは本当は0〜128まで使えるようです。ただし、バンクナンバー128はドラム専用のようなので、ドラム以外の音色に使えるのは実質的には0〜127の128個と考えてよいと思います)

progbank_MSGS.png

この図はMSGS(Microsoft GS Wavetable SW Synth)の例です。
MSGSでは、プログラムナンバーとバンクナンバーがこのように割り当てられています。
例えば
プログラムナンバーが0、バンクナンバーが0の音色はPiano 1
プログラムナンバーが4、バンクナンバーが8の音色はDetuned EP1
プログラムナンバーが127、バンクナンバーが2の音色はLaser Gun
です。
同系統の音色には同じプログラムナンバーを割り当てるようです。(表を横に見ると同系統の音色があります)
図を見ると割とスカスカなのがわかるかと思います。(私の知る限り、一つの音源にはせいぜい千種類位しか音色が用意されていないので当然ではありますが)
以上がプログラムナンバーとバンクナンバーの説明です。


●MIDIにおける音色指定のルール
プログラムナンバーとバンクナンバーの意味自体は先ほど説明しましたが、ここで重要なのは、「MIDIでは音色の指定をプログラムナンバーとバンクナンバーで行う」ということです。
例として、シーケンサが音源に対して、鳴らす音色をどのように指定するのかを説明します。
シーケンサの例としてDominoを、音源の例としてMSGS(Microsoft GS Wavetable SW Synth)を用います。

DominoPC.PNG

図はDominoで音色を選ぶためのウィンドウです。ここでDetuned EP1の音色を選んだとしましょう。
すると曲を再生するときには、Dominoは音源に対して「プログラムナンバー4、バンクナンバー8が割り当てられている音色を鳴らしてくれ」という命令を出すことになります。
そして、その命令を受け取ったMSGSは、自身の中から「プログラムナンバーが4、バンクナンバーが8の音色」を探してきて鳴らします。

音色を指定するのに、その音色の名前ではなくて、その音色に割り当てられたプログラムナンバーとバンクナンバーを使っていることが重要です。
MSGSは「Detuned EP1の音色鳴らしてくれ」のように音色の名前で言われても、その音色がどこにあるのかが分かりません。
MSGSに出来るのは「指定されたプログラムナンバー、バンクナンバーに対応する音色を鳴らす」ことです。

これを例えるならば、学校の靴箱から、他人に自分の靴を取ってきてもらう時のお願いの仕方に似ています。
自分が小学校の生徒とします。校舎が土足厳禁で、入り口で上履きに履き替えるものとします。この状況で、友達に自分の靴を取ってきてもらいたい時にどのようにお願いするかを考えてみましょう。普通、他人の靴が靴箱のどこに置いてあるかをいちいち覚えていません。
なので、「靴箱の上から何段目、左から何列目のところにある靴を取ってきて欲しい」というように、靴が置いてある場所を指定してお願いするはずです。
「靴箱から私の靴を取ってきて欲しい」とお願いしても、友達は「私の靴」がどこに置いてあるか分かりません。

この例え話と音色指定の話は次のように対応します。
私=Domino
友達=MSGS
私の靴=Detuned EP1の音色
「自分の靴は上から何段目、左から何列目にあるか」=「Detuned EP1はプログラムナンバーが何番、バンクナンバーが何番であるか」
例え話は以上です。

以上が、シーケンサが音源に対して、鳴らす音色をどのように指定するのかという説明です。
言いたいことは、「MIDIでは音色の指定をプログラムナンバーとバンクナンバーで行う」ということです。

この音色の指定の仕方はMIDIファイルをMIDIプレーヤで再生するときも同じです。
MIDIファイルには「このプログラムナンバー、このバンクナンバーの音色を鳴らしてくれ」という命令が書いてあります。
それをMIDIプレーヤが読み込んで、音源に伝えることになります。


●音源によってナンバーの割り当てが違うと
次に少し話は脱線しますが、cfgファイルの理解のために別の説明をします。
先ほど説明した通り、MIDIでは音色の指定をプログラムナンバーとバンクナンバーで行います。ということは、「プログラムナンバーとバンクナンバーの割り当て方が違う音源を使った場合、同じMIDIファイルを再生しても、鳴る音色が全く別のものになる」ということがおこり得ます。
このことについて具体的に説明します。
例としてMSGSと、別のある音源Aについて考えてみましょう。MSGSでは図のようにプログラムナンバーとコントロールナンバーが割り当てられています。

progbank_MSGS.png

音源Aでは図のようにプログラムナンバーとコントロールナンバーが割り当てられているとします。

progbank_A.png

例えばMIDIファイルに「プログラムナンバー2、バンクナンバー0の音色を鳴らせ」という命令が書いてあったとします。
すると、MSGSではPiano 3の音が鳴るのに対して、音源AではXylophoneという別の楽器の音が鳴ります。

あるいはMIDIファイルに「プログラムナンバー4、バンクナンバー8の音色を鳴らせ」という命令が書いてあったとします。
すると、MSGSではDetuned EP1の音が鳴るのに対して、音源Aでは音が鳴りません。なぜなら、音源Bではプログラムナンバー7、バンクナンバー1には音色が割りてられていないからです。

このように音色に対するプログラムナンバーとバンクナンバーの割り当て方が違う音源を使うと、同じ命令を受け取っても、違う楽器の音色が鳴ったり、場合によっては音が鳴らなかったりすることがあります。(このようなことが頻繁にあると面倒なので、実際の音源はどれもある程度は似たような割り当てがされています。それを取り決めているのが。GM、GS、XGなどの規格です)
脱線は以上です。


●SGM-V2.01とAirfont380final組み合わせて使う
cfgファイルの説明に戻ります。『cfgファイルには「各プログラムナンバー、バンクナンバーに対してどのサウンドフォントファイル(〜.sf2)のどの音色を割り当てるか」が書かれている』と説明しましたが、これをもう少し噛み砕いて説明します。

サウンドフォントの音色の情報が実際に保存されているのは、「〜.sf2」というファイルです。そのファイルの中には、MSGSと同様にそれぞれのやり方で各音色にプログラムナンバー、バンクナンバーが割り当てられて音色が保存されています。
例えばSGM-V2.01.sf2とAirfont380final.sf2では、図のように割り当てられています。

progbank_sgm.png


progbank_Airfont2.png

(もしこれらの「〜.sf2」ファイルを、MSGSなどの他の音源と同じように使うことができるとしたら、(cfgファイルやTiMidity++を経由せずにMSGS等のように直接使うことができたらという意味で)
例えば、再生するMIDIファイルに「プログラムナンバー2、バンクナンバー0の音色を鳴らせ」という命令が書いてあったとしたら、SGM-V2.01.sf2ではPiano3の音色が、Airfont380final.sf2ではCP-80Pianoの音色が鳴るはずです)

cfgファイルはそれらを組み合わせて、新たに音色にプログラムナンバーとバンクナンバーを割り当て直す役割を持っているのです。
例えば、SGM-V2.01.sf2とAirfont380final.sf2の音色を組み合わせて、図の様に割り当て直すことが可能です。

progbank_custom.png

これを意識しながらcfgファイルの中身を詳しく説明していきます。

図は、先ほどのように割り当てるために書かれたcfgファイルのキャプチャです。

cfgcustom.png

新しいプログラムナンバーとバンクナンバーの割り当てをひたすら並べてあります。青字の部分はベースにしたSGM-V2.01.cfgから書き換えた部分です。
例えば青字でかかれた4行について、その意味を説明します。上の行から順に、

バンクナンバーが0、プログラムナンバーが3の音色としては、Airfont380final.sf2のバンクナンバーが0、プログラムナンバーが3の音色を使う。
バンクナンバーが1、プログラムナンバーが5の音色としては、Airfont380final.sf2のバンクナンバーが0、プログラムナンバーが4の音色を使う。
バンクナンバーが1、プログラムナンバーが6の音色としては、Airfont380final.sf2のバンクナンバーが0、プログラムナンバーが6の音色を使う。
バンクナンバーが2、プログラムナンバーが5の音色としては、Airfont380final.sf2のバンクナンバーが0、プログラムナンバーが5の音色を使う。

という意味です。
このように好きなように割り当て直すことが可能です。

ちなみに、SGM-V2.01.cfg、Airfont380final.cfgは、元のサウンドフォントファイルにおけるプログラムナンバーとバンクナンバーの割り当て方と同じになるように書かれています(多分)。


●ドラムについて
ドラムだけはcfgファイルの書き方が少し違うので個別に説明しまします。ドラムの各音色にはプログラムナンバーとバンクナンバーの他に、キーナンバーという数字が、割り当てられています。これは、ドラムの音色はキーによって(音の高さによって)スネアドラムだったり、シンバルだったりと音色が違うからだと思われます。キーナンバーがあることによって、キーごとにどのサウンドフォントのどの音色を使うかを指定することが可能になります。キーナンバーは0〜127を使うことができます。音の高さで言えば、0が一番低く、127が一番高いです(ドラムの打ち込みをする際のピアノロール画面をイメージするとわかりやすいかもしれません)。
ドラムの場合、バンクナンバーは宣言不要で、全ての音色に自動的に128を割り当てるようです(多分)。

cfgintrodrum.png

図はSGM-V2.01.cfgのドラムの割り当てが書かれた部分をキャプチャしたものです。
(g)がプログラムナンバー、(h)がキーナンバーを表しており、ドラム以外の音色の指定の時とは、変わっている点に注意してください。
意味は例えば一行目は

バンクナンバーが128、プログラムナンバーが0、キーナンバーが0の音色としては、SGM-V2.01.sf2のバンクナンバーが128、プログラムナンバーが0、キーナンバーが0の音色を使う。

という意味です。キーごとに違うサウンドフォントの音色を使うことも可能です。


■最後に■
この記事を書くにあたって、というか私自身が使えるようになるために
「羽根のあるところ」様
http://bluewing.usamimi.info/timidity/intro.htmlの説明をかなり参考にさせて頂きました。特にcfgファイルの図は真似させて頂いています。こちらのサイトも是非ご参照下さい。

気が向いたら、次は「自分で組み合わせたサウンドフォントをDominoで楽に使うにはどうするか(定義ファイルの書き換え)」をまとめてみようかなと思います。
posted by hanihoni | Comment(0) | DTM | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。