----------------------------------------------
SNESAPU Frontend 黒猫SPC 250101
取扱説明書
----------------------------------------------

Ｏ 他言語対応

  Langフォルダの中のiniをKuronekoSPC.exeと同じ場所にLang.iniとして置く事で各種メッセージ等が入れ替わります。
  Lang.iniが存在しない場合は日本語となります。文字コードはUTF-16LE(Unicode)で作成してください。


Ｏ 100605以前からバージョンアップする方へ

  プレイリスト、お気に入り、iniファイルの文字コードが従来のSJISからUTF-16LEに変わっています。
  下記のファイルを一度消すか、もしくは何かのテキストエディタで文字コードをUTF-16LEにして上書きしておいてください。
  KuronekoSPC.ini
  KuronekoSPC.spf
  KuronekoSPC.spl
  そのまま起動した場合、終了時に中身が破損します。


Ｏ 真とは別物です

  自分でも何をやってるのか解らないくらいに酷い真･黒猫SPCのコードを破棄して、
  41568k氏やSunburst氏の特製SNESAPUを使って新たに0から書き直しました。
  独特な黒猫のGUI(*1)はそのままにして見栄え事前とほぼ同一ですが、中身は大幅に変わってます。
  かつて正月版限定で動作していたインジケータ類も大幅にパワーアップ、(*2)
  Script700やID666、拡張ID6668(XID6)の読み書きにもフル対応(*3)し、一通りの事はできるようになったと思います。

  (*1) SPCをアーカイブしたものを単位として管理する、今は亡きSPC普及委員会特化とも言えたGUI
       アイコンも当時のまま

  (*2) 重さもパワーアップ

  (*3) 読み書きはフル対応ですがXID6の内容で一部実際の演奏に反映されないものがあります


Ｏ SNESAPUと黒猫の特徴

・本体が小さい
  前よりメインメニューをも削りさらに小さくなりました。小さけりゃいいってもんでもないですが。
  古今のHD解像度に逆行するコンパクトサイズに加えマルチリンガルを全く考慮できない全角1文字ボタンがデスクトップの調和を乱します。

・実機に近い補間
  Gaussianが実機と同じ手法で補完をしているみたいです。
  旧黒猫風味を出すならLinear、実機を超えるならSinc、
  Sinc補間はおよそスーファミと思えないような綺麗な音が出ます。
  (Gaussian2とSincはSunburstコアのみ)

・チャンネル毎のミュート
  BMS作成に役に立っているみたいです(?)

・HDD上にwavとして保存できる
  使い道は色々あると思います。

・音量の設定
  ゲームによって音量はマチマチなので、変更ができないと大変です。

・ID666/拡張ID666(XID6)に対応
  テキスト/バイナリ両形式のID666に対応、拡張ID666にも対応します。
  MP3でいえばID3v1とID3v2のような関係です。
  タグの読み書きに関しては仕様上の全ての項目を編集可能です、大量編集する方はID6666でどうぞ。

・アーカイブモード (*.rar,*.cab,*.7z,*.zip)
  圧縮ファイルの中のSPCを直接演奏できます。

・ZSNESのステートセーブからの曲抽出に対応
  *.zs?,*.zm?からのSPC抽出&再生ができます。

・テンポ変更 / 早送りとスロー / ピッチ変更等ができる
  Sunburstコア使用時にはさらに独自のオプションが使用可能です。

・.frmを表示する機能搭載
  本来はZopher's DomainにSPCを提供する際に入れておく書式ファイルですが、ただのテキストとしてこれを表示します。
  これを使ってアーカイブモード時に画像を表示したりする事も可能です。

・.GIF/.JPG/.PNG/.PCX/.MAG/.PI/.PICを表示する機能搭載(要susieプラグイン)
  .frmを同じファイル名で画像を入れておいた場合、表示できます。
  今時ならPNGが良いと思います。

・script700対応
  同梱の3つのコアのうち、41568kコアとSunburstコアで対応しています。

・WinAMPのDSPプラグインを使用可能
  簡易なのでなんでも使える訳でもないのですが、後述。

・鍵盤/スペアナ等の表示
  FMDSP(PC-98x1) / MMDSP(X68000)のデザインを公認の上拝借してます。懐かしいかもしれません。
  スキル不足で今時GDI描画なんかしてるので少々重たいです...


Ｏ 動作環境

  OS  : Windows2000以降 32Bit/64Bit版はどちらでも動作します
  なんかWindowsで音が出せるデバイス1個以上(複数の場合は出力先を選択可)

  今のご時世ではSPCの再生に困る程のスペックのPCを常用している環境はあまり無いと思いますが....


Ｏ 使い方の簡単な流れ

  使い方が独特なので、簡単な説明です。
  SPCをただ鳴らすだけであれば[開]か、SPCをD&Dしてやれば鳴ります。
  CABやRAR、7Z,ZIPで圧縮してあるものはプレイリストに投げてやります。
  ダブルクリックすれば開けますので普通に演奏、気に入った曲があれば[INS]を押すか、メニューの[お気に入りに追加]を押せばお気に入りに入るので、
  今後はお気に入りから演奏可能、という感じです。

  プレイリストと名が付いてますが実際は圧縮ファイルライブラリみたいな感じです。
  お気に入りが普通で言う所のプレイリストみたくなってます。
  黒猫の基本的な使い方としてはこのプレイリストがライブラリに該当し、お気に入りがプレイリスト…のようになっています。
  要はSPCを纏めて圧縮したのを1単位として管理して、好きな曲は解凍せずにお気に入りに入れてそのまま演奏する、
  というのを考えているので単体で鳴らした時の利便はあまり考えていません。


Ｏ 黒猫SPCで扱えるファイルの種類

  *.spc *.sp1〜9等
  SPCです。普通に再生します。

  *.spl
  黒猫SPC/GMCのプレイリストです。保存してある場所から相対パスでファイルの一覧が入っているだけです。

  *.spf
  黒猫SPC/GMCのお気に入りリストです。
  アーカイブ中のSPCの場合は保存してある場所から相対パスでファイルの一覧の後に「<>」と、アーカイブ中のファイル名が入っています。

  *.cab
  CAB形式のアーカイブです。

  *.rar *.rsn
  RAR形式のアーカイブです。*.rsnは単なるrarとして扱います。

  *.7z
  7-ZIP形式のアーカイブです。

  *.zip
  ZIP形式のアーカイブです。
  ZIPはソリッド書庫が作成できないのでSPCをまとめて圧縮するとサイズがかなり膨れあがります。非推奨です。
  7-ZIP32.DLLが対応しているので、ついでに対応させた程度です。

  *.zst *.zs1-9
  ZSNESのセーブステートです。
  直接再生するのではなく、ファイルがあった場所に同じ名前で拡張子をspcとしてコンバートしてから再生します。

  *.zmv *.zm1-9
  ZSNESのムービーステートです。
  直接再生するのではなく、ファイルがあった場所に同じ名前で拡張子をspcとしてコンバートしてから再生します。

  *.700 *.7se
  script700 / SEです。特定条件でspcと一緒に自動的に読み込みされます。
  script700はSEかどうかの判断は一切しません、ただコアに渡します。
  後述。


Ｏ 実際の使い方

  注意：SNESAPU.DLLはSNESAPU\(コアの名前)、susieプラグイン、NOIAGE.BMPは黒猫と一緒の場所に置いて下さい。

  プレイリストのアーカイブモードを使用するには、

  UNRAR32.DLL & UNRAR.DLL (RARを読む場合に必要です)
  CAB32.DLL(CABを読む場合に必要です)
  7-ZIP32.DLL(7Z,ZIPを読む場合に必要です)

  が必要です。
  無い場合、下記URLにて入手可能です(個別ライブラリの項目)
  無くても圧縮ファイルが読めないだけですが、黒猫の魅力はこのプレイリストのアーカイブモードにあると思うので、
  価値は激減すると思います。是非入手して置いて下さい。

  統合アーカイバ・プロジェクト
  http://www.madobe.net/archiver/

  アーカイブモードでfrmとペアで画像表示を使用するには、
  対応している拡張子のsusieプラグインが必要になります。
  無い場合にはNOIAGE.BMPが表示されます。

  以下の形式に対応しています。
  *.jpg *.gif *.png *.mag *.pi *.pcx *.pic

  susieの部屋
  http://www.digitalpad.co.jp/~takechin/


・[開] & ファイル -> 開く
  SPCファイルや圧縮ファイルを開きます。
  開けるファイルは全てD&D、関連付け起動が可能です。

・[再]
  再生を開始します。

・[遅]
  押すと標準速度より25%遅い速度で再生します。(標準を100%として75%)
  もう一回押すか[再]で戻ります。

・[速]
  押すと標準速度より25%速い速度で再生します。(標準を100%として125%)
  もう一回押すか[再]で戻ります。

・[ぽ]
  一時停止です。
  もう一回押すか[再]で戻ります。

・[停]
  再生を停止します。

・[設]
  各種設定を開きます。
  もう一回押すと閉じます。

・[ぷ]
  プレイリストを開きます。
  もう一回押すと閉じます。

  [お]
  お気に入りを開きます。
  もう一回押すと閉じます。

  [絵]
  後述するDSP700という、かっこいいかもしれないインジケータ画面を開きます。


Ｏ 各種設定

  色々設定できます、色々いじって下さい(お
  昔あった16BitとStereoは廃止になりました。常に内部で16Bit Stereoとして演奏します。


  [SNESAPU] タブ
  SNESAPUの設定をここで変更できます

・再生周波数
  32000Hzが実機と同じで推奨です。Sunburstコア以外で上げると音色の再現性が変わるものがあります。
  Sunburstコアで上げる場合は合わせて後述のEchoMEMにチェックを付けるのをおすすめします。


あげた場合は

高い程音が綺麗になります。が、48000Hz以上はあまり意味が無いかもしれません。
  実機と同じ再生周波数は32000Hzです。


・補間方式
  出る音の質に直接関係します。お好みでどうぞ。

  None      : 補間無し
  Linear    : 線形補間(旧黒猫とほぼ同等)
  Cubic     : キュービックスプライン補間
  Gaussian  : ガウス分布補間                                   : Sunburstコアのみ
  Sinc      : シンク関数補間                                   : Sunburstコアのみ
  Gaussian2 : 実機と同じ分布テーブルを用いるガウス分布補間     : Sunburstコアのみ

  実機となるべく同じ音を楽しむならGaussian2、実機を超えた音を聞くならSincを選べば良いと思います。


・Mute
  チェックを入れたチャンネルだけ、音が出なくなります。
  チェックを付ける変わりに右クリックで全選択、全解除、選択の反転が可能です。
  曲を変更するとリセットされます。

・Noize (Sunburstコアのみ)
  チェックを入れたチャンネルだけ、強制的にノイズとして出力されます。
  チェックを付ける変わりに右クリックで全選択、全解除、選択の反転が可能です。
  曲を変更するとリセットされます。

・Analog
  Sunburstコア以外:
    内部でのミキシングをアナログ的にやるそうです(?)ごく一部のゲームで音が変わるものがあります。
  Sunburstコア:
    実機と同じ周波数でLPFがかかるようになります。

・OldADPCM
  音色の展開に旧方式を使用します、ごく一部のゲームで音が変わるものがあります。
  例) Ys V 失われた砂の都ケフィン
  例) 緋王伝 魔物達との誓い

・Surround
  逆位相の音出力になります。実際聞いてみるのが早いです。
  元々逆位相の音は正位相になります。Star Ocean等の最初から逆位相が多い曲だと解りやすいです。

・ReverseStereo (Sunburstコアのみ)
  音の左右が入れ替えます。

・DisableEcho
  エコーを一切無視します。

・NoModPitch (Sunburstコアのみ)
  ピッチモジュレーションを無視します。

・NoChangePicth (Sunburstコアのみ)
  発音中のピッチベンドを無視します。

・NoFIR (Sunburstコアのみ)
  FIRフィルタを無効にします。

・BassBoost (Sunburstコアのみ)
  低音強調をかけます。

・NoEarSafe (Sunburstコアのみ)
  イヤーセーフ機能(音割れ防止)を無効にします。

・NoScript700 (41568kコア/Sunburstコアのみ)
  Script700が使える状態であっても、使用しなくなります。

・NoEnv (Sunburstコアのみ)
  発音時にエンベロープの変化を無視します。
  鳴りながら音量が下がっていくような音色が音量固定でずっと鳴りっぱなしになります。

・NoNoise (Sunburstコアのみ)
  ノイズ指定を無視します。
  音色をノイズとして鳴らしてるものには効果ありますが、「ノイズを音色として」鳴らしてるものは当然効果がありません。

・EchoMEM (Sunburstコアのみ)
  エコー作業用メモリを確保してエコーをさらに実機に近づけます。
  Sunburstコアでは波形を32000Hzで生成してから設定されたサンプリングレートへと変換するので、
  サンプリングレートを32000Hz以外に設定する場合はこちらのチェックも推奨です。

・NoSurround (Sunburstコアのみ)
  逆位相パンの指定を無理します。
  このオプション有効時にSurroundのチェックを付けるとSunburstコア独自のサラウンドがかかります。

・EnvSpdSync (Sunburstコアのみ)
  エンベロープの速度が演奏速度と同期します。(減衰であれば速度を上げるほど早く減衰する)

・NoPitchLimit (Sunburstコアのみ)
  ピッチの上限を無効にします。(0x3FFFから0xFFFFへ拡張)

・Volumeバー
  音量を変更します。
  0で無音、16が標準で70が最大です。
  16〜30くらいが丁度良いと思いますが、音が割れれない程度にしてください。推奨は25です。
  SPCはゲームによって曲の音量バランスにかなりの変化があります。
  魔神転生や蓬莱学園等、元から音圧の高い作品は25でもギリギリです。
  [Volume(xx)]の部分をダブルクリックする事で16に戻ります。
  メインウインドウとDSP700上でマウスホイールを回す事でも調節可能です。(回転1カウントで±1)
  0の無音にした場合、後述の無音検出期間のカウント対象となるので注意して下さい。

・Pitchバー
  再生ピッチを変更します。
  32000が標準です。[Pitch(xxxxx)]の部分をダブルクリックする事で32000に戻ります。
  右端のセレクタで音階で+6〜-6と、おまけのプリセットが選択できます。

・Tempoバー
  曲のテンポを変更します。1%〜200%までです。
  [テンポ(xxx%)]の部分をダブルクリックする事で100%に戻ります。

・StereoSPバー
  ステレオ分離度を変更します。0〜65536までです。
  0で分離無し(モノラル化)、65536で完全分離します。
  どうしてもモノラルで演奏したい場合は0にしておくと疑似モノラルになります。
  [StereoSP(xxxxx)]の部分をダブルクリックする事で32768に戻ります。


  [黒猫] タブ
  黒猫SPCの設定をここで変更します

・常に最前面に表示
  チェックを入れるとメインフォームだけ最前面に出ます。

・お気に入りでアーカイブも一緒に開く
  お気に入りからアーカイブ経由で演奏をした際に、プレイリストの方でもそのアーカイブを開きます。

・ダークモード
  VCLのStyleを使った似非ダークモード(Carbon)を適用します。
  現状のWindows10(1809)より良い結果のダーク具合になりますが起動するまでに1秒近く時間が余計にかかるようになります。
  似非なのでWindows10以外でもダークになり、Windows10上ではダークモードの設定の有効/無効に関係無く任意に変更できます。
  ※次回起動後から有効になります

・使用するSNESAPU
  SNESAPUフォルダに置いてあるSNESAPUの一覧です。
  ※ここの変更は再起動時から有効になります※

・使用するWaveOutデバイス
  音の出力に使うデバイスを指定します。
  複数ある環境ではここを変える事で狙ったデバイスから音を出せます。
  ※ここの変更は再起動時から有効になります※

・サウンドバッファ
  再生周波数とか上げた場合に音が途切れたりしたら、ここの数値を上げて下さい。
  ただし上げる程ミュートや早送り、スローなどの応答がその分遅れますので注意して下さい。
  ※ここの変更は再起動時から有効になります※

・無音検出期間
  演奏中、この秒数間無音状態がずっと続くと自動的に演奏を停止させます。
  最低は3秒ですがこのままで問題無いと思います。

・標準の再生時間
  WAV出力やお気に入りでの連続演奏時、タグから演奏時間を取得しない/できない場合はここの値が使われます。

・標準のフェード速度
  WAV出力やお気に入りでの連続演奏時、タグからフェード速度を取得しない/できない場合はここの値が使われます。

・フォント設定
  プレイリスト、FRMの表示、お気に入りのフォントを変更できます。

・関連付け設定
  Windows Vista以降の[既定のプログラム]の一覧に黒猫GMCを登録します。
  (コントロールパネルの[プログラム] -> [既定のプログラムの設定])
  登録するだけなので、実際どの項目に使うかは選んでください。
  [すべての項目に対し〜]はおすすめしません。全部はさすがにしない方が…
  ※この項目は管理者権限での起動が必要です※

・関連付け解除
  [既定のプログラム]の一覧から黒猫GMCを削除します。
  ※この項目は管理者権限での起動が必要です※

・WinAMPDSP設定
  WinAMPDSPを使用している場合のみ押せます。
  詳しくは後述の「WinAMPのDSPプラグイン使用について」を参照。

  [DSP700] タブ
  DSP700の表示に関する設定をここで変更します

・16進で表示する項目
  チェックした項目を10進ではなく16進で表示します。

・DSP700のスキン
  後述するDSP700の表示スキンを選びます。標準で7種類あります。

・フォント設定
  ID666/XID6の描画フォントを変更できます。


  [ID666] [XID6-1] [XID6-2] タブ
  現在演奏中のタグ情報の表示と変更、書き込みができます
  XID6-1とXID6-2は2つで1セットです。
  アーカイブから再生しているSPCには書き込みできません。

  XID6に対応するプレーヤは少ないです、非対応のプレーヤでは設定内容は無視されます。

  [ID666]
  ※内容を入力する際は[ID666無効]のチェックが外れているか確認して下さい

  曲名            : 32文字まで
  ゲーム名        : 32文字まで
  SPC作成者       : 16文字まで
  コメント        : 32文字まで
  作成年月        : [!]で現在の年月日を自動入力
  再生時間        : 秒で入力、0〜999、[!]で演奏中であればその時点の時間を自動入力
  フェード        : 1/1000秒(1000で1秒)で入力、0〜99999まで
  作曲者          : 32文字まで
  SPC作成元       :
  タグ種別        : 通常はテキストのままで良いと思います、古いプレーヤはバイナリタグが読めません

  [ID666無効]     : ID666を使用しません(これにチェックを付けて書き込みをするとID666をクリア)
  [ID666 -> XID6] : XID6-1の方へ入力内容のコピーを行います(当てはまる項目のみ)
  [重]            : XID6-1の方へ、入力内容の重ね合わせを行います(文字の長さ分だけ上書き)
  [書込]          : ID666、XID6-1、XID6-2の入力内容をファイルに反映させます(DSP700等に反映させるには再読み込みが必要です)
  [消去]          : ID666、XID6-1、XID6-2の入力内容を初期化します

  [XID6-1]
  ※内容を入力する際は[XID6無効]のチェックが外れているか確認して下さい

  曲名            : 256文字まで(入力エリアの幅を超える入力はDSP700の表示ではカットされます)
  ゲーム名        : 256文字まで(     〃      )
  SPC作成者       : 256文字まで(     〃      )
  コメント        : 256文字まで(     〃      )
  作成年月        : [!]で現在の年月日を自動入力
  作曲者          : 256文字まで(     〃      )
  SPC作成元       :
  [XID6 -> ID666] : ID666の方へ入力内容のコピーを行います(当てはまる項目のみ)
  [重]            : ID666の方へ、入力内容の重ね合わせを行います(文字の長さ分だけ上書き)

  [XID6-2]

  サントラ名      : 256文字まで(     〃      )
  発売元          : 256文字まで(     〃      )
  ディスク        : 1〜99
  トラック        : 1〜99 隣は補足の番号や文字(1文字) 11a等
  発売年          :
  音量倍率        : [演奏設定]のVolumeの数値に4096を掛けた数値、[!]で現在の数値を自動入力
  イントロ        : 最大100分(01:40:00)、[!]で演奏中であればその時点の時間を自動入力
  ループ          : 最大100分(01:40:00)、(     〃      )、隣はループ回数
  終了            : 最大100分(01:40:00)、(     〃      )
  フェード        : 最大60秒(60)
  Mute            : チェックを付けたチャンネルは演奏開始時からミュート状態になります


  [script700] タブ
  現在演奏中のファイルでscript700が使われている場合、ここに内容を表示します。
  表示するだけで特に何もできません。


  [WAV] タブ
  現在演奏中のSPCをWAV出力できます

  出力の際は、演奏設定が全て引き継がれます。WinAMPのDSP挟めている場合はそれも反映されるので注意して下さい。

  総再生時間は、[曲頭の無音] + [標準の再生時間] + [標準のフェード速度] + 最後1秒余白 になります。

  たとえば総時間2分(120秒)のWAVを作るとすれば、
  曲頭の無音1秒、再生109秒、フェード9000ms(9秒)、余白1秒、で120秒になります。

  フェードは5000〜9000msが丁度良いと思います。
  1000ms = 1秒です。
  サンプリングレートも引き継がれるので、CDに焼く場合等は44100Hzにした方がいいと思います。

  [タグの再生時間とフェード速度を使用する]
  [現在選択中のファイルのみ録音]と、[お気に入りで選択されてるものを連続録音]の録音時間に、
  タグの値を使います。値が無効の場合は[黒猫]タブの[標準の再生時間]と[標準のフェード速度]を使用します。
  チェック有: XID6 -> ID666 -> 標準の再生時間
  チェック無: 標準の再生時間

  [現在演奏中のファイルのみ録音]
  現在演奏している曲をWAVに変換します。再生をしないので実時間より速く出力できます。

  [お気に入りで選択されてるものを連続録音]
  お気に入りで選択しているファイルのみ、連続でWAV化します。他は[現在選択中のファイルのみ録音]と一緒です。

  [再生しながら録音]
  旧黒猫と同じ、実際に再生しながら録音をします。
  これを選択してWAV出力を押すと出力フォルダの選択の後、そこから演奏を開始するファイルを
  ファイル名.spcでそのフォルダに出力します。録音中に他ファイルの演奏をするとwavのファイル名も変わります。
  出力中は[WAV出力]が[録音停止]に変わるので、それを押すと出力が終了になります。


  [バージョン] タブ
  黒猫SPCのバージョン情報です
  SNESAPUのバージョンの下に、41546K氏のコアとSunburst氏のコアを使用中のみ、赤字で表示が追加で出ます。

  41568Kコア
  [with script700 powered by 41568k]

  Sunburstコア
  [with script700(compatible) powered by Sunburst]

  Sunburstコア(v2.17.1以降)
  [with script700(compatible)/G.I.M.I.C powered by Sunburst]

  Alpha-II Productionsコア(純正)
  表示無し


Ｏ プレイリスト

  プレイリストは2つの動作モードがあります。
  一つはリストモードとしてのSPCや圧縮ファイルの管理、もう一つはアーカイブモードで、
  こちらは圧縮ファイルの中のSPCの演奏や、FRM、画像の表示等をします。

  *.txtがあった場合、開く事も可能です。

  圧縮ファイルは開くとアーカイブモードに切り替わります。
  モードの行き来は自由で、BackSpaceキー、マウスの右クリック、メニューの[モード/表示] -> [モード切り替え]で行います。

  アーカイブモード時に[INS]か[お気に入りに追加]で、そのファイルがお気に入りに追加されます。
  詳しくは後述。

  圧縮ファイルの中に*.frmがあった場合はそれをプレイリスト左下に表示、
  同じく画像があった場合はその上に表示します。詳しくは後述。

  リストモード時にはリストの編集が出来ます。SHIFTやCTRL押下による複数選択も可能です。
  順番移動等は現在選択してるもの全てに適用されます。

  [モード/表示] -> [FRMと画像の表示をしない]のチェックを付ける事で、
  FRMと画像を非表示にして目一杯リスト表示にします。画像やFRMの表示が不要な人向けです。
  この時のみプレイリストの最小高、最小幅のリサイズ制限も解除されます。


Ｏ プレイリストのアーカイブモードでの画像表示について

  ファイル中に*.frmが入っているにそのファイル名と同じ画像ファイルを探し、
  見つかった場合にはプレイリストの左上に表示します。
  従って画像を表示させる場合には*.frmとセットで使って下さい。

  また、曲ファイルと同じ名前で画像を作っておくと、ファイル毎に画像の切り替えも可能です。
  ただし画像の形式はタイトル画像と同一で、タイトル画像がある場合に限ります。

  *.frmの中身は以下のようになっています。
  基本的に5行以内で書いて下さい。縦や横の幅を超えるとスクロールバーがついてさらに狭くなります。
  改行を含めて5行なので、最終行に改行は入れないで下さい。


  作成者の名前
  日付
  メーカー
  ゲームタイトル
  曲数等

  例)

  SPC普及委員会 No.13 婆猿騎士
  (1999/09/29)
  スクウェア
  クロノ･トリガー
  全曲(65)＋OMAKE(25)＋効果音(52)

  ※これは独自の方式です、本来frmというのはZophar's DomainにSPCを登録する際に使われる情報ファイルです※
  ※黒猫はただのテキスト扱いをします※


Ｏ お気に入りについて

  プレイリストのアーカイブモードや、直接SPCを登録できるリストです。
  主にアーカイブの好みの曲だけ登録するような用途を考えてます。

  アーカイブモードから登録すると、-> のような矢印が付くようになっています。

  リストの編集も可能です。プレイリストと一緒の操作方法です。
  こちらもSHIFTやCTRL押下による複数選択が可能です。

  [演奏] -> [リスト順に再生]にチェックを付けると、その後の再生から連続再生を行います。
  曲の演奏時間とフェード速度は基本的にタグを参照しますが、タグに値が入ってなかった場合は、
  [演奏設定]の[標準の再生時間]と[標準のフェード速度]を使用します。

  連続再生はお気に入りからの再生のみで有効になります。

  優先高 : XID6
     |   : ID666
  優先低 : 標準の再生時間]と[標準のフェード速度]

  曲の移り変わりは無音検出を使って行うので、短い曲等はタグやWAV出力よりも無音検出が優先されます。
  [ランダム再生]は文字通りランダムで曲を選択します。

  簡易的に付けたものですが、BGMとしてずっと流す場合とかそういう時に使って下さい。


Ｏ NOIMAGE.BMPについて

  縦横のサイズは固定ですが、色数等に制限はありません。
  気にくわなければ自由に差し替えてOKです。


Ｏ 同梱のSNESAPUについて

  SNESAPUフォルダにそれぞれ3人が作成したSNESAPUが入っています。
  作者名のフォルダの下にそれぞれSNESAPU.DLLを入れておくという形式ですので、
  他に互換なコアがある場合等はフォルダを作れば自動で認識します。
  (script700機能の有効だけは黒猫側の調整が必要です)

  各コアの簡単な説明です。

  ・ALPHA-II
    SNESAmp等に使われている、純正のSNESAPUです。script700は当然使用できません。
    バグが結構な数あります(下記参照)

  ・41568k
    41568k氏が純正のSNESAPUにscript700エンジンを載せたものです。script700本家として、
    Pコマンドを含む全機能が使用できます。
    純正SNESAPUと同じバグがあります。

  ・Sunburst (デフォルト)
    Sunburst氏が互換のscript700エンジンを載せ、
    純正のバグ修正 + その他見つかったバグ修正 + SNESAPU v3系での新機能の一部を逆移植
    となっていて現在のSNESAPUとしては本家を超えた品質になってます。
    script700のPコマンドは代用方法があります。


  現在のSNESAPUのバグは解りやすい例が以下の通りです。将来これは改善される可能性があります。
  通常聞くだけでも解る範囲で他にもあると思われます。
  ここに書いてあるバグはSunburstコアでは修正済となっていますのでSunburstコアで演奏時は気にする必要はありません。

  ・ReverseStereoが効かない

  ・ループしないで終了するSPCにおいて終了後に負荷100%になる
    曲終了時10秒後あたりから負荷100%になります。黒猫側で無音検出を行って対策をしてあります。

  ・特定の曲でエコーが原因で特定箇所で負荷100%になる
    数曲ほど確認してますが、その部分だけPCのスペックに関係無く負荷が100%になり演奏が途切れます。

  ・要Script700ではなく本当に再生できない
    今まで1ゲームしか該当してませんが、RET命令で暴走します。

  ・DSPのENDXのフラグがリセットされない
    DSP700でDSPフラグの所のXが付きっぱなしになります。

  ・一部の音色が減衰しない場合がある
    今まで1ゲームしか該当してませんが、実機では徐々に減衰するはずの音が減衰せず鳴りっぱなしになります。


Ｏ DSP700について

  演奏状態を派手に表示する各種インジケータ画面です。
  それなりに重いですが、今風のPCなら気にするような重さではないと思います。

  鍵盤表示に関してはSPC700はサンプリング音源の為、基準音階が解らない為にFFTを駆使して割り出しています。
  その為、音色によってはズレが生じます。100%正確にはできませんので目安程度に考えて下さい。
  初回演奏時に解析と平行して演奏も始まるので鍵盤が左端に寄った状態が少しの間出ます(マシンパワー依存)。
  解析が終わった音色から順次反映されていきます。
  演奏するファイルを変えない限り結果は保持されるので解析に時間がかかるようであれば終わってから再演奏とかも可能です。

  描画周期は約60fps(9ms程度に一回描画)くらいになるようタイマで制御をしています。
  100104以前のバージョンでは約30fps(16ms程度に一回描画)なので以前より多少重たいですが、
  環境等の都合で前の状態の方がいい場合はkuronekoSPC.iniの[DSP700]セクションに、
  Interval=16
  と追加してください。
  デフォルトは記述無しで9の扱いになっています。

  殆ど見るだけなのですが以下の一部はマウスとキーボードで操作可能になってます。

  ・鍵盤を押すとそのチャンネルがミュート状態になります。再度押すと解除です。

  ・STOPやPLAYの部分はマウスで操作可能です。

  ・DSP VOLUMEの下の[2x]はDSP700自体を2倍角で描画します。
    単純に2倍に拡大するので1270x670の大きさになります。
	フルHDに近い解像度等でDSP700が小さすぎて文字が見えない等、そういう場合に使って下さい。
    はみ出して[2x]が押せなくなった場合、そのまま終了してKuronekoSPC.iniの[DSP700]セクションの、
    Stretch2を0にして立ち上げ直せば戻ります。

  ・ミュートはキーボードでも操作可能です。テンキーではない方の数字の1-8までがそれぞれのミュート、
    SHIFTを押しながらでそのチャンネルだけ残して他を全てミュート、9で全ミュート、0で全解除です。
    全ミュートをかけると無音検出の対象になるのは仕様です。
    左クリック       -> 指定chをミュート
    SHIFT+左クリック -> 指定ch以外をミュート
    右クリック       -> ミュートを全て解除

  ・右下付近のID666のタブを押す事でタグのページ切り替えができます。(ID666 -> XID6-1 -> XID6-2)

  [キーボード周り]
  トラック番号の隣は音色のエンベロープ状態とモード表示です。
  上段がADSRまたはGAINモード時の実際の状態、下段が現在ADSR/GAINモードどちらなのか、の表示になります。

  上段 : DEC (Linear decrease / GAINモード時)
       : EXP (Exponential decrease / GAINモード時)
       : INC (Linear increase / GAINモード時)
       : BNT (Bent line increase / GAINモード時)
       : DIR (Direct setting / GAINモード時)
       : REL (Release mode / ADSRモード時)
       : SST (Sustain mode / ADSRモード時)
       : ATK (Attack mode / ADSRモード時)
       : DCY (Decay mode / ADSRモード時)

  下段 :  GN (GAINモード)
       :  AD (ADSRモード)

  キーボードはMMLで言うo1cからo7b+までの範囲を表示します。これ以上や以下の音もありますが限度はこの範囲になります。
  ゲージはENVXゲージです。激しく動きます。
  TNは音色番号、VLとVRは左右の音量です。マイナスになる場合がありますがその時は逆位相の状態です。
  左端のMは発音状態で、左からPNEKO--Xで6,7番目は未使用です。
  P : ピッチモジュレーション有効
  N : ノイズ有効
  E : エコー有効
  K : キーオン
  O : キーオフ
  - : 未使用
  - : 未使用
  X : 発声音色の非ループ部分の終了 (Sunburstコア以外ではバグによりほぼ常時点灯状態になります)

  発音状態の上が、視覚でのパン表示です。
  サンプルの元音量が解らないので耳で聞くのと違う結果が出たりします。ただの目安にしてください。
  VLとVRの音量差でパン決めてますので、たとえば、

  音量が低いサンプルでVLが100でVRが0
  音量が高いサンプルでVLが10でVRが0

  これらが音量の補正で大体同じ音量で耳に聞こえたとしても、
  パン振りは上が思いっきり振れて下は微動するかどうかくらい、になります。
  大体のSPCは下の場合が殆どなのである程度大げさに振れるようにしてあります。

  キーボードはクリックでそのチャンネルがミュートになります。

  [くるくるカウンタ]
  再生中にただくるくる回転しています。それだけです。

  [演奏状態]
  くるくるカウンタのすぐ右です。マウスでも操作できます。
  Script700を使用中の場合はすぐ下にインジケータが出ます。

  [シークバー]
  演奏状態の上のゲージです。
  タグ(入ってない場合は標準)の再生時間でゲージが増えていきます。
  クリックでシーク可能です。

  [スペクトラムアナライザー]
  横軸16kHzまでのスペクトラムを表示します。モノラル合成をしているので逆位相音が含まれないのは仕様です。
  クリックでOFFになります。

  [チャンネル別音量1]
  1chにつき4本ゲージがあり、左2本はch別の出力(L/R)、右2本はch音量(L/R)です。
  ch別の音量はエコー合成前のゲージです。

  マスター部分は左から順に

  マスター出力L
  マスター出力R
  マスター音量L
  マスター音量R
  エコー音量L
  エコー音量R
  エコーディレイ
  エコーフィードバック

  になっています。
  マスター音量(L/R)、エコー音量(L/R)、エコーフィードバックは逆位相時に色が変わります。
  マスター出力はエコー合成後のゲージです。

  このエリアをクリックすると次のページに表示が切り替わります。

  [チャンネル別音量2]
  ADSR/GAINの表示は以下の並び順です。

  ・ADSRモード
    AD(固定文字)
    現在のADSRモード(ATK,DCY,SST,REL)
    AR ： エンベロープが最大になるまで(Attack)の時間設定(0〜15)です。Attack中はA(ATK) が表示されます。
    DR ： エンベロープが最大になった後、SLの設定値になるまで(Decay)の時間設定(0〜7)です。Decay中はD(DCY)が表示されます。
    SL ： 最大値を8分割(0〜7)したうちの値です。Sustain中はS(SST)が表示されます。
    SR ： エンベロープがDRになった後、0になるまで(Sustain)の時間設定(00〜31) です。

  ・Gain(GA)、自動遷移モード
    GA(固定文字)
    現在のGainモード(DEC,EXP,INC,BNT)
    A(文字固定)
    0,1   : 0 エンベロープを徐々に低く設定します。遷移中は+(INC)が表示されます。
            1 エンベロープを徐々に高く設定します。遷移中は-(DEC)が表示されます。
    0,1   : 0 エンベロープを直線方向で遷移します。遷移中はLが表示されます。
            1 エンベロープを折れ線的に遷移します(上昇時)。遷移中はB(BNT)が表示されます。
            1 エンベロープを指数関数的に遷移します(下降時)。遷移中はE(EXP)が表示されます。
    0〜31 : エンベロープの遷移時間設定です。

  ・Gain(GA)、直接指定モード
    GA(固定文字)
    DIR(固定文字)
    D(文字固定)
    表示なし
    表示なし。値を指定しての発音中はDが表示されます。
    エンベロープの設定値です。この値が直接エンベロープとして使用されます。

  VOLUME  : チャンネルの音量になります。鍵盤のVL/VRと同一です。
  PITCH   : 音程です。基準音階を求める前の生の音階になります。
  ENV     : エンベロープです。鍵盤のENVXゲージを数値化したものです。
  BRR-F/R : BRR復元時のフィルタとレンジ番号です。

  このエリアをクリックすると次のページに表示が切り替わります。

  [チャンネル別音量3]

  TN       : 音色番号です。
  ADDR     : 音色のアドレスです。
  LOOP     : 音色のループアドレスです。
  READ     : 発声時に実際読み取っているアドレスです。
  FIR      : FIRフィルタの係数です。

  MVOL     : マスター音量(L/R)です。0以下はは逆位相になります。
  EVOL     : エコー音量(L/R)です。0以下はは逆位相になります。
  EDL      : エコーディレイ(遅延時間)です。
  EFB      : エコーフィードバック(リバーブ)です。0以下は逆位相になります。

  SRCADDR  : RAM内に波形データの場所が保存されているアドレスです。
  ECHOADDR : エコー計算時にRAM内のメモリを書き換えるアドレスです。
  NOISECLK : ノイズ発生器のクロック周波数です。

  レジスタとポートに関してはそのままの通りとなります。

  [タグ表示]
  普通に表示しているだけです。
  このエリアをクリックするとXID6-1、XID6-2と表示ページが切り替わります。


  スキンは画面やパーツのサイズさえ同じであれば自作が可能です。見れば解ると思うので敢えて説明はしませんが...
  DSP700フォルダに入っています。
  PARTS.BMPの右上の1ドットの囲いはタグや演奏中のファイル名に使うフォントの色です。


Ｏ Script700について

  SPC700のエミュレートだけでは演奏できないSPCに必要な65816側からの制御等を擬似的に再現する補助スクリプトです。

  読み込みは、演奏するspcと同じ場所に同名で拡張子が.700/7SEのファイル又は、
  同じ場所に65816.700/7SEがあった場合に自動で読み込みされます。(*.7SEに対応しているのはSunburstコアのみ)

  優先順位は以下の通りです。
  ゲーム単位で吸った際に特定の曲だけ違うscript等の場合にはこの優先順位をうまく使って下さい。

  優先高 : filename.700
     |   : filename.7SE
     |   : 65816.700
  優先低 : 65816.7SE

  アーカイブやお気に入りからの演奏も同条件です。

  文法についてはSNESAPUフォルダの41568kとSunburstフォルダにあるscript700.txtを読んで下さい。
  とはいってもSPC700周りに関する知識が無いととても扱えないですが...

  数値の16進表記はSunburstコアのみですので、なるべくであれば数値は10進で書くのをお勧めします。

  SunburstコアのV2.17.0から搭載された、#i や #ib コマンドを使用する場合、
  アーカイブ経由からの再生では必要ファイルを解凍しない為動作しません。
  予め解凍した状態で演奏してください。


  必要なゲームや実際のscriptについてはページを用意してありますので、
  こちらを見て下さい。

  特殊なSPCについて
  http://kurohane.net/spc/


Ｏ WinAMPのDSPプラグイン使用について

  一応できる人向けの機能になってます、よく解らない方は読み飛ばして下さい。

  使用できるプラグインは一応dsp_enh.dll(Enhancer v0.17)専用としておきます。
  が、他プラグインもリネームで動くのを数個確認してます。人柱精神旺盛な方は試してみて下さい。
  dsp_enh.dllの名前で読み込むので他のDSPプラグインはリネームが必要です。

  dsp_enh.dll(Enhancer v0.17)はWinAMP公式ページからダウンロードできます。
  MDXWinにも入ってますのでMDXWinを使っている方はそちらからdllを持ってきてもOKでしょう。

  dsp_enh.dllを黒猫と同じ場所へ置き、KuronekoSPC.iniの[Main]セクションの最後にでも、

  UseWinAMPDSP=1

  と付け加えて立ち上げ直すと有効になります。
  結構重たいので息切れする場合はサウンドバッファを多くして下さい。

  一切無保証、自己責任で。質問にも答えませんのであしからず。
  WAV出力時にも作用しますが、EnhancerならPower切れば素通りするのでこれはお好みで。


Ｏ バグについて

  黒猫SPC自体の挙動不審は大抵私にミスがあります。
  そのようなバグに関しては、掲示板等で教えて貰えればなるべく治すようにします。

  演奏の方はSNESAPUにお任せなのでまず大抵の曲はちゃんと鳴ってくれると思います。

・最初の音が間延びしたまま演奏が続かない/旧黒猫のTimerTrickを使わないと鳴らない曲
  script700にて対応しています。
  詳しくは上の「Ｏ Script700について」を見て下さい。

  演奏がおかしい等の場合は、総合掲示板の黒猫SPCスレへ書き込みお願いします。


Ｏ その他 & スペシャルサンクス

・TListBoxEx コンポーネント Vre0.31
  Y.Ponta氏

・Susie Plug-in 読込コンポ
  計氏

・FMDSPのデザイン拝借の許可を頂いたHyps氏
  好意で頂いた本物の描画パーツを一部使用させてもらっています、ありがとうございました。

・MMDSPそっくりスキンの許可を頂いたかるちゃん氏
  画面モードの比率の関係でうまく再現できませんが雰囲気と色は同じにしてみました。

・Super Nintendo Entertainment System(tm) Audio Processor Unit Emulator
  Dynamically Linking Library version 2.0
  SNESAPU is copyright (C)2001-2004 Alpha-II Productions (www.alpha-ii.com)

  ※ 別フォルダに同梱の41568K氏によるscript700搭載のSNESAPUですが作者の方にソース提供をしております。※
  ※ SNESAPUはGPLライセンスですが、DLLをGUIで使用する分には問題無い、                                ※
  ※ というのをSNESAPU作者から許諾を頂いています。黒猫SPC自体はGPLライセンスではありません。         ※

・改良版 SNESAPU.DLL for サードパーティ製 SPC プレイヤー / 英語版定義(english.ini)
  Copyright (C) 2001-2016 degrade-factory. All rights reserved.
  http://dgrfactory.jp/

  SNESAPU(41568kコア) / spc_note.dll / 41568k氏
  Script700搭載コアと、基準音階計算のコア部です。色々ありがとうございました。

・Mersenne Twister (mt19937ar.c)
  Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
  All rights reserved.
  Copyright (C) 2005, Mutsuo Saito
  All rights reserved.
  http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html

・デバッグに協力、SNESAPU作者との連絡等をして下さった元SPC普及委員会のあすか氏
  非常に助かりました。

・当時のSPC普及委員会会員/常連の皆様
  またあの頃に戻ってみたいですね。


------------------------------------------------------
黒羽製作所 / KUROHANE Works
https://kurohane.net/
kurohane@kurohane.net
