60 lines
3.1 KiB
Markdown
60 lines
3.1 KiB
Markdown
# TASK — Find-Word v0.1.1 Korean neural voice upgrade
|
|
|
|
## 사용자 지시
|
|
|
|
현재 v0.1의 한국어 음성이 제대로 만들어지지 않았다. 음성 품질을 높이고 샘플을 다시 생성하며 버전을 0.1.1로 올린다. 모든 소스는 Gitea에 push 및 main merge할 예정이다. Codex는 구현만 하고 commit/push/deploy는 하지 않는다.
|
|
|
|
## 고정 계약
|
|
|
|
- 정확한 크레딧: `Designed by OZ at Heat-T Medical Inc.`
|
|
- canonical repository: `https://source.ibit.kr/OZ-Group/Find-Word`
|
|
- 작업 브랜치: `fix/v0.1.1-neural-voice`
|
|
- 버전: UI/package/docs/manifest 모두 `0.1.1`
|
|
- 한국어 상세 소스 주석 유지
|
|
- 기존 10개 mechanic, 100개 문장 조합, 8개 환경, 5단계 SNR, 객관식·주관식 기능 보존
|
|
|
|
## 선택한 생성 방식
|
|
|
|
- 직접 생성한 사전 샘플에서 사용 가능한 고품질 음성: `ko-KR-HyunsuMultilingualNeural`
|
|
- 생성 클라이언트: `edge-tts==7.3.1`
|
|
- 권장 prosody: rate `-6%`, pitch `-4Hz`
|
|
- 앱 런타임에는 외부 TTS/API 요청이 없어야 한다.
|
|
- 생성 시 임시 MP3를 받아 ffmpeg로 24kHz mono PCM s16 WAV로 변환한다.
|
|
- 음성 간 레벨 편차와 peak를 완화하되 발음을 훼손하는 과도한 DSP를 하지 않는다.
|
|
- 네트워크·provider 오류에 bounded retry와 명확한 실패를 제공한다.
|
|
- 부분 실패가 기존 public/audio를 훼손하지 않도록 임시 디렉터리에서 전체 생성·검증 후 원자 교체한다.
|
|
- API 키·쿠키·인증정보를 저장하지 않는다.
|
|
|
|
## 품질·재현성 요구사항
|
|
|
|
- intro 1개 + 목표 문장 100개, 총 101개를 모두 새로 생성한다.
|
|
- manifest에 version, provider, voice, rate, pitch, edge-tts version, ffmpeg version, sample rate, SHA-256, bytes, duration, 원문을 기록한다.
|
|
- 24kHz mono 16-bit PCM, 비무음, peak full-scale 미도달, 비정상적으로 짧거나 긴 파일 없음.
|
|
- `audio:generate`는 pinned venv의 Python으로 재현 가능해야 하고 README/AUDIO_PROVENANCE에 설치·생성 절차와 provider 의존성·한계를 기록한다.
|
|
- `public/audio/intro.wav`와 대표 샘플 `luck-apple.wav`가 청취용 샘플이다.
|
|
- eSpeak cache/download 경로·문서·manifest 의존성을 제거한다. 과거 evidence는 당시 기록이므로 내용 변조 없이 보존한다.
|
|
- 생성 도구의 오픈소스 라이선스와 서비스 사용 조건을 과장 없이 문서화한다. 프로젝트가 음성 자체에 독점 권리를 주장한다고 쓰지 않는다.
|
|
|
|
## TDD
|
|
|
|
1. 버전 0.1.1 계약 테스트 RED
|
|
2. neural provider/voice/manifest 계약 RED
|
|
3. 24kHz·비무음·peak·duration·101개 integrity RED
|
|
4. generator atomicity/retry/unsafe secret absence 테스트 RED
|
|
5. 기존 full suite와 browser suite GREEN
|
|
|
|
## 최종 검증
|
|
|
|
- npm ci
|
|
- npm run lint
|
|
- npm test
|
|
- npm run audio:generate 또는 명시적 생성 명령
|
|
- npm run build
|
|
- sandboxed system Chrome browser tests
|
|
- npm audit --audit-level=high
|
|
- 101개 manifest/hash/PCM 독립 검사
|
|
|
|
## 기록
|
|
|
|
`.agent/RESULT-v0.1.1.md`에 RED/GREEN, 변경 파일, 생성 provider/voice, 자산 크기, 최종 결과, 남은 청감·provider 위험을 기록한다.
|