Kotoha Ph1 Brush-up
1. UI改善(UI_Brushup_Phase1.mdより)
1-1. 試聴エリアの再生ボタン
- 未選択状態でもボタンの形が視認できるよう
--color-primary-mutedで塗る - disabled時は
opacity: 0.4+cursor: not-allowed
1-2. サイドバー幅
220px → 240pxに拡張- 「TTSスタジオ」が1行に収まるように
1-3. GPU/CPUバッジ
- CPUモード時:
--color-warning(橙系)ベース - GPUモード時:
--color-primary(グリーン)ベース
1-4. 録音ボタン
- マイク未接続時は明示的にdisabled(グレーアウト)
- ホバー時にツールチップ「マイク未接続」表示
2. 推論パラメーター拡張
2-1. APIスキーマ追加
interface ConvertRequest {
// 既存
input_path: string
model_path: string
index_path?: string
pitch_shift: number
index_rate: number
f0_method: string
// 追加
rms_mix_rate: number // 音量エンベロープ融合率 0〜1 default: 0.25
protect: number // 子音・呼吸音保護 0〜0.5 default: 0.33
filter_radius: number // メディアンフィルター 0〜7 default: 3
resample_sr: number // リサンプリング 0=なし default: 0
}
2-2. Python側(convert.py)
@app.post("/convert")
async def convert(req: ConvertRequest):
rvc.infer_file(
req.input_path,
req.output_path,
f0_up_key=req.pitch_shift,
f0_method=req.f0_method,
index_rate=req.index_rate,
rms_mix_rate=req.rms_mix_rate, # 追加
protect=req.protect, # 追加
filter_radius=req.filter_radius, # 追加
resample_sr=req.resample_sr, # 追加
)
2-3. UI追加(ConvertPage.tsx)
詳細設定をアコーディオンで折りたたむ。初心者はデフォルトのまま使え、こだわる人だけ触れる設計。
変換設定
├─ モデル選択 (既存)
├─ ピッチ (既存)
├─ インデックス強度 (既存)
├─ F0推定 (既存)
└─ [詳細設定 ▼]
├─ 音量融合率 slider 0〜1 default: 0.25
├─ 子音保護 slider 0〜0.5 default: 0.33
└─ フィルター強度 slider 0〜7 default: 3