FastAPI backend, web UI, CosyVoice3/F5-TTS setup scripts, and handoff docs for GPU PC continuation. Co-authored-by: Cursor <cursoragent@cursor.com>
46 lines
1.3 KiB
Bash
Executable File
46 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 내 목소리 reference 녹음 가이드 출력 + 길이별 비교 실행
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
echo "=== 내 목소리 녹음 가이드 ==="
|
|
echo "자세한 내용: $ROOT/samples/README.md"
|
|
echo
|
|
echo "1) 30초 / 1분 / 3분 WAV를 samples/ 에 저장"
|
|
echo "2) my_voice_ref.txt 에 녹음 대본 작성"
|
|
echo "3) ./scripts/prepare_reference.sh samples/my_voice_30s.wav"
|
|
echo
|
|
|
|
shopt -s nullglob
|
|
WAVS=("$ROOT"/samples/my_voice_*.wav)
|
|
if [[ ${#WAVS[@]} -eq 0 ]]; then
|
|
echo "아직 my_voice_*.wav 없음. 녹음 후 다시 실행하세요."
|
|
exit 0
|
|
fi
|
|
|
|
OUT="$ROOT/outputs/voice_length_compare"
|
|
mkdir -p "$OUT"
|
|
PY="$ROOT/.venvs/cosyvoice/bin/python"
|
|
WORKER="$ROOT/scripts/workers/cosy_infer.py"
|
|
TEXT="안녕하세요. 이 문장은 reference 길이별 품질 비교를 위한 테스트입니다."
|
|
|
|
if [[ ! -x "$PY" ]]; then
|
|
echo "cosyvoice venv 없음. ./scripts/setup_cosyvoice.sh 후 재실행"
|
|
exit 1
|
|
fi
|
|
|
|
REF_TXT=""
|
|
[[ -f "$ROOT/samples/my_voice_ref.txt" ]] && REF_TXT=$(cat "$ROOT/samples/my_voice_ref.txt")
|
|
|
|
for wav in "${WAVS[@]}"; do
|
|
name=$(basename "$wav" .wav)
|
|
echo "생성: $name"
|
|
"$PY" "$WORKER" \
|
|
--ref-audio "$wav" \
|
|
--gen-text "$TEXT" \
|
|
--prompt-text "$REF_TXT" \
|
|
--out "$OUT/${name}_test.wav" || true
|
|
done
|
|
|
|
echo "결과: $OUT"
|