SPCファイルからFurnace用のSNES音色を作る
備忘録。
SPCファイルを用意する
エミュレータによってはspc形式でログを保存できるものがありますので自力でカートリッジから吸い出してログ録りする事でSPCファイルを用意する事が出来ます。
本筋から逸れるのでこれ以上は触れません。
BRR-GUI
https://www.romhacking.net/utilities/1561/
GUIを備えたSPCからBRRを抽出するツールです。UIがあるのでこれが一番使いやすかったです。

Input FolderでSPCファイルが格納されているパスを指定し、Get BRRを押す事でBRRファイルが一気に書き出されます。
SPC to BRRでSPC内で使用されているサンプルを.brr形式で全て書き出しますがGrab Unique BRRで重複するファイルを排除し一意のBRRファイルのみ残したり(多分)、BRR to WAVで.wav形式のサンプルにする事も可能です。
ループ音色の場合は書き出されたファイル名の末尾にループポイントが併記されているので、Furnaceで開いてループポイントの開始点をそのまま指定すれば完了です。

これでサンプルファイル本体とループポイントは用意できました。しかしFurnaceでサンプルを読み込むとサンプルレートC4=32000Hzの状態で読み込まれてしまい、そのまま鳴らすと本来の音階とは異なる高さの音が出ると思います。自分の耳で合わせて調整してもいいですが、同じSPC内のサンプルでも元のサンプルレートがまちまちである事が多く全てを確実に揃えるのはかなり大変なので実際に指定されている値を確認したいところです。
spc2it
まずはSPCファイルをImpulse Trackerのファイル形式(.it)に変換します。
spc2it.exeにSPCファイルをドロップすれば勝手にITファイルが出来上がると思います。
ModPlug Tracker
出来上がったITファイルを開くために使用します。Impulse Trackerを現代の環境で使うのは大変なので互換性のあるトラッカーで代用します。ITファイルを開いたらSamplesのタブに移動します。

Sampleの番号を変更して目的のサンプルを探してから(今回は5番)左下にあるFreq.(Hz)の値を確認し、これをFurnaceのサンプルHzに適用します。

あとはHzの下にあるNoteの値を変えてピッチシフトしていき、実際の鍵盤の音と合わせます。ここは音感が必要かもしれませんが、実際の鍵盤などと聴き比べながら頑張ってください。

実際はピッチシフトしていく中でHzの値が微妙に変わったり、ModPlugTrackerで同じようにピッチシフトを行った結果と僅かにズレてしまうのですが、基本的に耳で合わせるよりは遥かに正確な結果になると思いますのであまり気にしない事にします。