見出し画像

【MIDI】東方紅魔郷のBGMをなるべく良い音で聴きたい ※追記あり

※追記※
こちらの記事で激推ししていた Sound Canvas VA ですが、販売終了に伴い新規に入手できなくなってしまいました。
もちろんそこに収録されていた sc-88Pro も。あまりに惜しい…

そこで、サウンドフォントを使ってMIDIを再生する方法を追記しました
。詳しくは目次の「サウンドフォントの場合」からどうぞ。

また、「追加で必要な設定」の内容に若干誤りがあったので、少々補足しました。

どうも、ミッドです。

最近は東方のアレンジ曲にハマっています。

特に、東方旧紅魔郷という紅魔郷の旧作風アルバムが最高なのでみなさんも是非聞いてみて下さい!(PVも音楽もとにかく旧作っぽさがすごいです。こんな紅魔郷もプレイしてみたい…)

閑話休題。

紅魔郷の楽曲ってめちゃくちゃ人気ですよね。

有名どころでは「U.N.オーエンは彼女なのか?」や「亡き王女の為のセプテット」、「おてんば恋娘」など、東方を代表する曲が勢揃いです。

今回は、東方紅魔郷のBGMをできる限りの手を尽くして良い音で聴こうというオタク精神丸出しの記事になります。

具体的には、sc-88Pro という公式推奨音源をなぜ導入すべきなのかという話と、MIDIを再生するのに最適な foobar2000 を導入する方法をお伝えします。

では、どうぞ。


なぜMIDI音源を使うのか

お気づきの方もいるかもしれませんが(というかそこそこ有名なことですが)、紅魔郷の曲はピッチ(音程)がズレています

ギターなどを弾く人ならわかると思いますが、楽器には決まったチューニングがあります。A=440Hzというのがもっともメジャーです。

ところが、紅魔郷の場合おおよそA=452Hzと半音のさらに半分くらいズレています(しかもズレは曲によって多少変わります)。

わかりやすく言えば、紅魔郷ではすべての音がピアノの鍵盤上にない音で演奏されているということです。

この方の記事に詳しいので、気になる方はチェックしてください。

しかしZUNさん曰く、これは意図してではなく、意図せずしてそうなったものらしいです。(ビートまりお談)

該当の発言は14:35ごろから

これが他作品とは異なる、紅魔郷独特の世界観を生んでいることは確かです。オーエンの形容詞し難い狂気じみた感じはピッチのズレも関係しているでしょうし、なんとなく印象に残りやすい曲が多いのも無意識に感じる違和感が一役買っているのかも。

音の良し悪しはあくまで主観的なものなので様々に異論があって然るべきです。しかし、紅魔郷の持つ違和感は必ずしもZUNさんの意図したものではない、というところは懸念点なわけです。(直感的にも妖々夢以降に比べたらあんま音質良くない、というのはわかって貰えると思う)

なるべくZUNさんの意図した音に近づけるには

そこで、MIDI音源です。紅魔郷のオプションを見てみると、BGMの項目に「Wav」か「Midi」かというものがあります。これのことですね。

簡単に言うと、「Midi」は曲を演奏するための楽譜みたいなものです。ピッチがズレて録音された「Wav」はいじりようがありませんが、「Midi」は演奏される前のデータなので正しい音に近づけられます。

Midiデータについてマニュアルを読むと、「sc-88Proもしくは上位のMIDI音源」を使えとのこと。

紅魔郷のマニュアル。サウンドの欄を参照。

以上のことから、紅魔郷はsc-88Proを使ってMidiで再生するのが最適(かもしれない)と言えるわけです。

この辺のことは下記のサイトに詳しいです。

また、このサイトではSound Canvas VAという、sc-88Proが収録された音源の導入方法について詳しく紹介されています。手っ取り早く体感したい方はとりあえずサイトの手順通りダウンロードして試してみてください。(ただ1点だけ、savihostはx86ではなく、x64を使わないと動作しません)

※追記※
冒頭に記した通り、販売終了に伴い入手できなくなりました…。

MIDI を使って鳴らせる他の東方楽曲

東方原作では、紅魔郷~花映塚(体験版)にMIDI版の音源が収録されています(妖々夢以降は、Wavのほうが音が良いように思いますが)。MIDI で再生するとよりメロディアスに感じられて新たな発見があるかも。

花映塚は製品版にも没データとしてMIDIファイルが収録されています(場所は他と同じ th09.dat)。7曲だけですが。

あと、東方幻想的音楽からも ZUN さんの提供する MIDI 音源をダウンロードできます。旧作楽曲を MIDI 版にアレンジし直したものや西方Project の曲を聴けます。

sc-88Proで鳴らすと本当に綺麗なので、みなさんにも一度聞いてみて欲しい(かった)です。

ただ、sc-88Pro じゃなくてもフリーのサウンドフォントを使えばそこそこ綺麗に聴けます。この先、その方法も合わせて解説していきます。

ゲーム内でMIDI音源を鳴らすことの問題点

ここからはさらにもう一歩進んだ話になります。ゲームを起動しなくても音楽プレイヤーでMIDIを再生する方法と、そのメリットについて説明していきます。

先程ご紹介したサイトの方法に従えば普通にゲーム内でSound Canvas VAを使ってMidi音源を鳴らせますが、いくつか問題があります。

①曲がループ再生されてしまう

1つ目は実用上の問題として、ゲーム内のMusic Roomを使って曲を流す場合、延々とループ再生されてしまうという点が挙げられます。

普通、アルバムの曲順に自動的に再生されますよね。曲を聞きながら作業をしている際に、いちいちゲーム画面に戻って曲を選択してという手間が挟まれるのが億劫です。あと、PCを起動するたびにloopMIDIとsavihostを立ち上げるのも。余計な手間なくMIDIファイルを流したい。

②ゲームの動作が不安定になる

Music Room から曲を流している場合は問題になることはないと思いますが、Midi を選択した状態でゲームをプレイしているとたまにクラッシュします。怖い。

↑ こちらの記事で報告されていて、ふ~んとか思ってたら魔理沙AでHARDを初クリアしたあと、エンディング中にクラッシュしましたorz(スコアも残らなかった泣)。みなさんは同じ轍を踏まないでください。

③サンプルレートが低くなる

サンプルレートというのは、音楽における解像度のことです。動画だとフルHDとか4Kとかありますよね。それに対応するものです。

普通、サンプルレートは44.1kHzです(CDとかがそう)。しかし、後述する設定を用いれば2倍以上の解像度の96kHzで再生できます。これが結構変わります。

④ASIO接続ができない

高音質で曲を再生するためにはDACが欠かせません。音質劣化を最小限にするために多くのDACでASIO接続が推奨されていますが、ゲーム中にASIO接続すると効果音が聞こえなくなるので実用的ではありません。

⑤東方幻想的音楽で配布されているMIDIファイルが再生できない

やはりsc-88Proが用意できたら是非聞いておきたいところ。(個人的には西方Projectに霊夢と魔理沙がゲスト出演した際のBGM、「二色蓮花蝶」と「魔女たちの舞踏会」が聞けるのが激アツ

これらの問題を解決するための方法として、foobar2000を使います。 

MIDIファイルを抜き出す

foobar2000を導入する前に、まずは再生するMIDIファイルを用意しましょう。

MIDIファイルは「紅魔郷MD.dat」というファイルに保存されています(妖々夢や永夜抄だと「th〇〇.dat」)。しかし、そのままでは開けないので「brightmoon」というソフトを使ってMIDIファイルを抽出します。

こちらのbrightmoon神霊廟対応版からダウンロードできます。インストールの必要はなく、展開後brightmoon.exeを起動すれば使用できます。

このサイトだけ、もとの配布先ではなく二次配布っぽいのでちょっと警戒したほうがいいかも。どうももともとの配布先がリンク切れになってるんですよね… もっと探したらちゃんとしたサイトが見つかるかも知れません。

一応ダウンロードして使えはしたので載せておきます。

念の為バックアップを取ることをおすすめしておきます

使い方はシンプルで、File > Open から抽出したいファイルを選択します。今回は「紅魔郷MD.dat」を選択。

拡張子が「.mid」となっているものをすべて選択し、Extractをクリック。任意の場所にファイルを保存できます。(私はミュージック内に MIDI > 紅魔郷というフォルダを作って保存しました)

これでMIDIファイルの用意ができました。次に、いよいよfoobar2000で再生する方法について解説します。

foobar2000でMIDIファイルを再生する

foobar2000は古くからあるフリーの音楽再生ソフトで、動作が軽く、拡張性が高いことが特徴です。

Audacityや世界樹といったフリーの再生ソフトを試してみましたが、どれも再生中にフリーズして動作が安定しませんでした。なので、設定が少し面倒ですが、私はfoobar2000を導入することをおすすめします。(foobar2000なら必ずしも動作が安定するわけではありませんが、フリーズするパターンがあるので対策できます(後述))

こんな感じで再生できるようになります。
(Columns UI 導入済み)

ASIO接続のための拡張コンポーネントについてはこの記事では割愛します。大量の解説サイトがあると思うので、必要であれば適宜調べてplease。

foobar2000のインストール

Latest Stable Versionから64-bitを選択してダウンロードしてください。(Windows32bit版の方は32-bit)

インストールする際に色々聞かれますが、デフォルトのままで基本的に問題ありません。

最初にレイアウトの選択があります。お好きなものを選択してください。私は下記のように設定してみました。

見た目の設定は Preferences > Display > Defalt User Interface > Theme management > Quick Setup からやり直せます。

MIDI Player(拡張コンポーネント)の導入

そのままでは再生できないので、MODを導入します。

ダウンロードしたファイルを開けば勝手にfoobarが立ち上がって、インストールできます。(設定が終わったらApplyを選択して適用してください)

Sound Canvas VA を使う場合

最初に Sound Canvas VA の設定方法から。サウンドフォントを使うやり方は、次の章で解説します。

まず、エクスプローラーから Program Files > foobar2000 のフォルダを開いてください。フォルダ内に「vsti」というフォルダーを新規作成します。(管理者権限が必要と言われますが、続行を選択すると作成できます)

こんな感じで作成

そして、「vsti」の中にSound Canvas VA のデータを丸ごとコピペします。Sound Canvas VA のデータは Program Files > Vstplugins > Roland > Sound Canvas VA の中に保存されています。

vstiの中にペースト(管理者権限が必要と言われたら続行)

ここでfoobar2000を一度閉じて、開き直してください。その後、FilesタブからPreferencesを選択すると、設定画面が開きます。

Playback > Decoding > MIDI Player > Paths > VSTi Plugins に、先程作成した「vsti」フォルダのファイルパスを指定します。(最初は隠れていますが、▽をクリックすれば展開します)

… からフォルダの場所を参照してください。Program Files > foobar2000 と開いていけば見つかります。

画像では隠れていますが、Apply を最後に押してください。

最後に、Preferences > Playback > Decoding > MIDI Player を開きます。

すると、Output > Player から Sound Canvas VA(Roland Cloud)が選べるようになっています。これで、とりあえず再生できます!

サウンドフォントを使わない場合、次の章は読まなくて大丈夫。


サウンドフォントで再生する場合

サウンドフォントとはなにか、というお話をここまでしてきませんでした。冒頭にお話したように、MIDIは曲の「楽譜」のようなものですが、サウンドフォントは「楽器(の音色)」にあたります。最低限 MIDI を再生するのに必要なものです。では、やっていきましょう。

▼必要なもの
◯FluidSynth:サウンドフォントを再生するのに必要な外部ソフト
◯サウンドフォント:お好みのものを。(ここでは GeneralUser GS を使います)

▼手順
①それぞれをダウンロード
②設定からデータを読み込む
③再生時の音源に指定する

①それぞれをダウンロードしていく

このリンクの「fluidsynth-2.3.5ーWin10ーX64. zip」というところからダウンロードしてください。foobar2000 のフォルダ内に展開するといいかも。

見づらいので拡大推奨。
警告されたら「すべての項目にこれを実行する」を選択し、続行。

次に、サウンドフォントを用意します。とりあえずここでは、GeneralUser GS を使っていきます。

他にもSGM V2.01、Neo GMなどいろいろあるので、興味があったら試してください。

青文字がリンクになってるので、GeneralUser GS 1.471をダウンロード。

展開したら、なかにある GeneralUser GS v1.471.sf2 を使います。これも foobar2000 のフォルダ内に展開すると見つけやすいです。

②設定からデータを読み込む

設定から、Playback > Decoding > MIDI Player > Paths と開きましょう。
(最初は隠れていますが、▽を押すと展開します)

まず FluidSynth のファイルパスを指定します。bin というフォルダに入ってます。

先程の手順に従っていれば、 Program Files > foobar2000 > fluidsynth-2.3.5-win10-x64 と開いていけば目的のフォルダが見つかるはず。(なければダウンロードの中)

次に、SoundFont の欄に GeneralUser GS 1.471.sf2 を指定してください。

これも展開時に指定していれば、Program Files > foobar2000 > GeneralUser GS 1.471 の中にあります。

画像では隠れていますが、最後に Apply を押してください。

③再生時の音源に指定する

Playback > Decoding > MIDI Player を開きます。

Output > Player から FluidSynth が選択できますね。
これでひとまず再生できます。


追加で必要な設定

先程の設定画面から、いくつか項目を設定します。ここはどちらも共通だと思います。

Output 内の Sample rate がデフォルトだと44100になっているので、96000に設定してください。これで解像度が上がります。

Looping 内の Playback をLoop and fade when detectedに設定してください。ループの有無を自動で判別してくれます。これを設定しないと、曲が1ループで終わってしまって非常に物足りなくなります(曲によっては1分以内に終わってしまう)。
またループ回数を指定するには、設定の Advanced > Playback > MIDI Player > Playback timing when loops present > Loop count に数字を入力してください(指定しない場合が '2' なので、増やしたければ '3' 以上にすると良いです)。

Flavor に GS SC-88 Pro っていう項目があるのでお好みで選ぶといいかも?
Sound Canvas VA の場合、Configure から OPTION > SYSTEM > Map Mode で SC-88Pro を選択するのがいいです。

余談ですが、 SC-55 を選択すると Windows標準音源を高音質化したような音になります(これの下位互換みたいなものとして SC-33 というのがあって、Windows音源はそれをベースにしてるらしい)。ゲーム音楽感が増して結構好み。お試しあれ。
https://www.musewiki.net/MuseWiki/?SC-33(←詳しくはこちらを参照ください)

こんな感じ。

実際に再生してみる

左の列に?というタブがあるはずです(なければ曲データをミュージック内へ移動)。展開すると曲のファイルが表示されます。

Columns UI を導入済みの場合は、All の中の <no artist> というところに入っています。

聞きたいファイルを選択して、Send to Current Playlist を選ぶと右下の枠にファイルが移動します。そこでファイルをダブルクリックすると再生できます。

一番上のやつを選択。

そのままだと?ばかりで見た目がよろしくないので、ファイルを全選択して右クリック、Propertiesからアーティスト名とアルバム名、リリース年だけでも設定しましょう。

個別のファイルを選択すれば曲名やトラックナンバーも登録できます。また、MIDIデータが入ったフォルダに「アルバム名.jpg」の画像ファイルを入れておけばジャケットとして表示させられます。(pngだと認識されません)

これだけでもちょっと見やすくなります。

これで最低限曲を再生できるようになったはずです。いやぁ、設定ばっかりで骨が折れますね。

これで紅魔郷のBGMをMIDIファイルで再生できるようになったはずです。お疲れ様でした。ここまでできれば妖々夢や永夜抄のBGMもMIDIで再生できるはず。東方幻想的音楽もダウンロードして再生しちゃってください。

補足:foobar2000がフリーズする原因と対策

①MIDIファイルの読み込み中に別のMIDIファイルを読み込むとフリーズする(ことがある)

MIDIファイルの再生が始まるのに大体5秒程度かかります。再生したい曲の1個上のファイルを間違ってクリックした場合でも、曲の再生が始まるのを待ってから選択し直してください。(曲の再生中なら大丈夫です)

②PreferencesのMIDI PlayerからConfigureを開いている際に、Preferencesを閉じるとフリーズする

一旦 Configure を開いたら、必ず Configure を閉じてから他の操作を始めると良いです。

私が気付いたのはこの2点です。気をつけていればフリーズすることはないと思います。多分。

あとフリーズではないけど、たまに無音になる。なぜ?

最後に

ここまで読んでくださった方がいれば、お付き合い頂きありがとうございました。なるべく簡単に説明しようと思ったのですが、それが出来たかどうか…

foobar2000はこのままだとちょっと使いづらいので、Columns UIを導入して使いやすくする方法もお伝えしたかったのですが、長くなってきたので別の記事にします。(かなり使い勝手が改善するのでおすすめです)

では、また。


ヘッダーにはるか氏&dairi氏による立ち絵を使用させていただきました。お礼申し上げます。


この記事が気に入ったらサポートをしてみませんか?