37 lines
4.0 KiB
Markdown
37 lines
4.0 KiB
Markdown
---
|
|
name: short-video-tts
|
|
description: 짧은 영상의 05 발화 단위로 기존 qwen3-tts 환경의 Qwen3-TTS 요청과 실제 WAV 결과를 관리하고 06-tts 검토를 작성한다.
|
|
---
|
|
|
|
# Qwen3-TTS 음성 제작
|
|
|
|
## 먼저 읽을 자료
|
|
|
|
- [공통 제작 계약](../../../docs/workflow-contracts.md): 실제 파일·시간 확인, 외부 결과와 상태, 승인 경계.
|
|
- [제작 지침의 음성 기준](../../../docs/short-video-guide.md#음성을-기준으로-컷과-연결을-확정한다): 의미·호흡·발음과 실제 음성 구간.
|
|
- [06 양식](../../../templates/stages/06-tts.json), [결과 스키마](../../../contracts/artifact.schema.json), [검토 양식](../../../templates/review.md).
|
|
|
|
## 입력과 환경 확인
|
|
|
|
개별 호출에서도 같은 제작물의 유효한 05-tts-split과 그 근거인 03의 story 승인을 확인한다. 선행 결과·승인 부재나 오래된 버전이면 총괄에 issues를 보고하고 기다린다. `inputs`는 실제 사용한 05 버전을 기록한다.
|
|
|
|
기존 conda 환경 `qwen3-tts`의 `Qwen3-TTS`를 사용한다. 환경 재설치·전역 설정 변경으로 해결하지 않는다. 실제 제작 시 사용 가능한 모델·화자·입력 언어 지원을 확인한다. 환경이나 패키지 존재, 모델 로딩 성공, 실제 추론 성공을 따로 보고한다. 설치 확인만으로 음성 생성이 성공했다고 쓰지 않는다.
|
|
|
|
지원되지 않는 언어나 도구 부재는 blocking issues로 총괄에 보고하고 결과·해결 입력을 기다린다. 요청 언어를 임의로 바꾸거나 다른 도구로 대체하지 않는다. 외부 실행파일 경로·키·인증정보는 결과에 기록하지 않는다.
|
|
|
|
## 요청과 실제 결과
|
|
|
|
1. 양식의 `request.engine`, `request.conda_env`, `request.language`, `request.units`에 도구·환경·입력 언어·05 단위를 기록한다. 정확한 구조는 스키마를 따르며 새 필드를 만들지 않는다.
|
|
2. 외부 결과를 받기 전에는 `result=null`을 유지한다. 요청 작성과 추론 성공을 구분한다. 실제로 사용한 모델·화자는 `result.model`, `result.voice`에 기록한다.
|
|
3. 요청 단위별 WAV를 `result.files`에 연결하고 실제 통합 WAV를 `result.narration`에 기록한다. unit_id는 요청에 존재하며 모든 단위가 순서대로 누락·중복 없이 포함되어야 한다.
|
|
4. WAV 실존·내용 형식·실제 길이를 확인한 파일만 media.verified=true로 기록한다. kind=audio, width/height=null이며 duration_ms는 실측한다. 예제 경로나 요청 길이를 실제 파일로 표시하지 않는다.
|
|
5. `result.unit_ranges`는 실제 통합 음성 안의 단위별 구간이다. 단위 WAV의 파일 길이, 03의 예상 길이, 통합 음성에서의 시작·끝을 구분한다. 구간의 순서·전체 포함·겹침과 발음·호흡·언어·누락·중복을 실제 청취로 확인한다.
|
|
|
|
실제 통합 음성이 180000ms를 넘으면 03 대본 수정과 story 재승인으로 돌아간다. 임의로 언어를 바꾸거나 발화를 빠르게 재생해 상한에 맞추지 않는다. 실측·청취·정렬 확인 방법과 미확인 내용을 review.md에 남겨 07의 timing_evidence 작성 근거로 전달한다.
|
|
|
|
## 제출과 진행 보고
|
|
|
|
자기 단계의 새 버전을 `projects/<project_id>/stages/06-tts/r<revision>/artifact.json`과 같은 폴더의 `review.md`에 저장한다. 데이터 경로는 저장소 루트 기준이며 이전 버전을 덮어쓰지 않는다. review.md에 실제 사용한 의미·호흡·발음 원칙과 결과, 적용하지 않은 구성의 이유를 적는다. 추가 입력·승인 지점을 만들지 않는다.
|
|
|
|
총괄에 제출 경로·선행 버전·실제 파일 검증·남은 issues를 보고한다. result 부재는 awaiting_input, 실행·검증 실패는 failed다. 부분 파일은 보존하되 모든 요청 파일·통합 음성·구간을 확인하기 전 complete로 보고하지 않는다. `project.json`의 상태·포인터·승인은 총괄만 작성한다. 검증된 통합 음성과 구간을 07로 전달한다.
|