---
generated_at: 2026-02-21 12:00:00
metrics:
  claims_total: 35
  claims_with_evidence: 33
  claims_without_evidence: 2
confidence_derived: 0.94
---

# 根拠レポート：131-VSTエフェクトDLL群

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.94**
  - 根拠あり：33 / 35、根拠なし：2
- 優先レビュー（高）
  1. **VSTエフェクトDLLの内部パラメータ仕様**：DLLはバイナリのため各パラメータの正確な意味はソースコードからの推測
  2. **bass_vst.dllの存在パス**：ルートディレクトリに配置とされるがファイル確認は未実施

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `src/audio/fxdef.hsp` - エフェクト定義テーブル（DLL名、パラメータ、priority等）
- E-02: `src/bass_vst.as` - BASS VST DLL関数宣言とリトライ付きラッパー
- E-03: `src/scene/play/play_audio_effects.hsp` - VSTエフェクト初期化・リアルタイム更新処理
- E-04: `src/scene/play/play_chart_load.hsp` - fl_*フラグ設定コード
- E-05: `kshooteditor.hsp` - エディタでのVSTエフェクト使用コード
- E-06: `lib/` ディレクトリ - 7種類のVSTエフェクトDLLファイル実体
- E-07: `docs/code-to-docs/機能一覧/機能一覧.csv` - 機能No.131の定義
- E-08: `docs/code-to-docs/画面機能マッピング/画面機能マッピング.csv` - 画面5(ゲームプレイ画面)との関連

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | 7種類のVSTエフェクトDLL（bitc/flan/phas/pitc/regawo/sich/tstp）が存在する | E-06 | ○ |
| C-02 | bass_vst.dllを介してVSTプラグインがホスティングされる | E-02 (4行目: #uselib "bass_vst.dll") | ○ |
| C-03 | BASS_VST_ChannelSetDSPでDLLをオーディオチャンネルに挿入する | E-02 (5行目), E-03 (222-296行目) | ○ |
| C-04 | BASS_VST_SetParam_Rは最大5回のリトライを行う | E-02 (16-21行目) | ○ |
| C-05 | ハンドルが-1の場合はBASS_VST_SetParam_Rは処理をスキップ | E-02 (13行目: if vst_a != -1) | ○ |
| C-06 | regawo.dllはRetrigger/Gate/Wobble/Echoの4種類で共用される | E-01 (84,96,156,180行目: fxdef_dllname) | ○ |
| C-07 | Retriggerのpriority値は25 | E-01 (85行目: fxdef_priority.FXDEF_FXTYPE_RETR = 25) | ○ |
| C-08 | Gateのpriority値は17 | E-01 (97行目: fxdef_priority.FXDEF_FXTYPE_GATE = 17) | ○ |
| C-09 | Flangerのpriority値は15 | E-01 (109行目: fxdef_priority.FXDEF_FXTYPE_FLAN = 15) | ○ |
| C-10 | PitchShiftのpriority値は20 | E-01 (121行目: fxdef_priority.FXDEF_FXTYPE_PITC = 20) | ○ |
| C-11 | Phaserのpriority値は16 | E-01 (133行目: fxdef_priority.FXDEF_FXTYPE_PHAS = 16) | ○ |
| C-12 | BitCrusherのpriority値は20 | E-01 (145行目: fxdef_priority.FXDEF_FXTYPE_BITC = 20) | ○ |
| C-13 | TapeStopのpriority値は18 | E-01 (169行目: fxdef_priority.FXDEF_FXTYPE_TSTP = 18) | ○ |
| C-14 | Echoのpriority値は26 | E-01 (181行目: fxdef_priority.FXDEF_FXTYPE_ECHO = 26) | ○ |
| C-15 | SideChainのpriority値は14 | E-01 (193行目: fxdef_priority.FXDEF_FXTYPE_SICH = 14) | ○ |
| C-16 | パラメータ29番でByPass制御を行う | E-03 (260行目, 311行目, 504行目: BASS_VST_SetParam_R ...,29,1.0f) | ○ |
| C-17 | テンポ同期パラメータの計算式は60.0*4.0*1000.0/bpmfx/10.0/divisor | E-03 (406行目, 409行目, 716行目等) | ○ |
| C-18 | PitchShiftのピッチ計算式はpitch/48.0/2.0+0.50 | E-03 (236行目, 602行目, 702行目) | ○ |
| C-19 | BitCrusherのリダクション計算式はreduction/128.0 | E-03 (243行目, 606-608行目, 706行目) | ○ |
| C-20 | Echo/TapeStopはL/R独立で2インスタンス生成される | E-03 (218-227行目: hFX_Echo, 245-250行目: hFX_TStp) | ○ |
| C-21 | fl_*フラグは譜面ロード時にplay_chart_load.hspで設定される | E-04 (914-922行目, 1113-1186行目, 1830-1870行目) | ○ |
| C-22 | SwitchAudioの最大数は31 | E-03 (48行目: if swaudionum>=31) | ○ |
| C-23 | ユーザー定義エフェクトはfxdef_dllname配列を参照してDLLを動的にロード | E-03 (296行目) | ○ |
| C-24 | SwitchAudioチャンネルにはユーザー定義エフェクトは適用されない | E-03 (205行目付近コメント) | ○ |
| C-25 | 譜面エディタでも同一のVSTエフェクトDLL群が使用される | E-05 (15515-15593行目) | ○ |
| C-26 | initCustomAudioEffectsでカスタムエフェクト解析が行われる | E-03 (1行目: #deffunc initCustomAudioEffects) | ○ |
| C-27 | applyVSTEffectsでVSTエフェクトの初期化が行われる | E-03 (215行目: #deffunc applyVSTEffects) | ○ |
| C-28 | processAudioEffectsで毎フレーム更新が行われる | E-03 (316行目: #deffunc processAudioEffects) | ○ |
| C-29 | SwitchAudioタイプはDLLを使用せずKSHLib経由で実現 | E-01 (204行目: fxdef_dllname.FXDEF_FXTYPE_AUDI = ""), E-03 (190行目: KSHLib_SwitchAudioOpen) | ○ |
| C-30 | DLLパスはdir_default+"\\lib\\"で構築される | E-03 (222行目, 229行目, 235行目等) | ○ |
| C-31 | ゲームプレイ画面（画面No.5）で補助機能として関連する | E-08 (119行目) | ○ |
| C-32 | Phaserはパラメータ9個を持つ | E-01 (124行目: fxdef_prmnum.FXDEF_FXTYPE_PHAS = 9) | ○ |
| C-33 | processAudioEffectsの実行頻度制御はts_bass > max(updateperiod/5,1)で行われる | E-03 (438行目, 820行目) | ○ |
| C-34 | VSTエフェクトDLLの内部パラメータの正確な信号処理仕様 | **根拠なし** | △ |
| C-35 | bass_vst.dllのルートディレクトリ配置 | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- C-34: VSTエフェクトDLLはバイナリファイルであり、内部のDSPアルゴリズムやパラメータの正確な動作仕様はソースコードからの推測に基づく。各パラメータ番号と機能の対応はfxdef.hspの定義から読み取れるが、DLL内部の信号処理実装は未検証。
  - 候補：VSTプラグインのドキュメント / DLL開発者の仕様書 / VSTホストでの手動検証
- C-35: bass_vst.dllの配置パスは`#uselib "bass_vst.dll"`の宣言から推測されるが、ファイルシステム上の実在確認は未実施。HSPの`#uselib`はカレントディレクトリまたはシステムパスからの検索を行う。
  - 候補：ファイルシステム上のDLL配置確認 / HSPランタイムのDLL検索パス仕様

## 5) リスクフラグ（レビュー観点）
- 0（低リスク）：エフェクト定義テーブル（fxdef.hsp）の記載内容 - ソースコードで直接確認済み
- 0（低リスク）：DLL名とエフェクトタイプの対応関係 - fxdef_dllname配列で明確に定義
- 0（低リスク）：priority値 - fxdef_priority配列で明確に定義
- 0（低リスク）：BASS_VST_SetParam_Rのリトライ仕様 - bass_vst.asのソースコードで確認済み
- 1（中リスク）：VSTパラメータの計算ロジック - ソースコード上の計算式は確認済みだが、DLL側での解釈が正確かは未検証
- 1（中リスク）：パフォーマンス要件の記述 - コード内コメントとif条件から推測したもので、定量的な性能測定に基づくものではない

## 6) レビュアーチェックリスト（最小）
- [ ] fxdef.hspの各エフェクト定義（DLL名、priority、パラメータ数）が設計書の記載と一致しているか
- [ ] BASS_VST_SetParam_Rのリトライ回数（最大5回）がbass_vst.asのコードと一致しているか
- [ ] テンポ同期計算式（60.0*4.0*1000.0/bpmfx/10.0/divisor）がplay_audio_effects.hspの実装と一致しているか
- [ ] 7種類のDLLファイルがlib/ディレクトリに実在することを確認
- [ ] regawo.dllが4種類のエフェクトタイプで使用されることがfxdef_dllname定義と一致するか
- [ ] Echo/TapeStopの2インスタンス生成がapplyVSTEffectsのコードと一致するか
- [ ] VSTエフェクトDLLの内部動作仕様について、パラメータ番号と機能の対応が正確であるか（バイナリDLLのため手動検証推奨）
