🎵 오디오 가이드

오디오 생성 & 임포트 가이드

Story 모드에서 성우·효과음을 바로 만들고, 직접 만든 오디오를 가져오는 방법

🎬 Story 모드 오디오 (권장) v3.0.0+

v3.0.0부터는 외부 API를 직접 호출할 필요가 없습니다. Story 모드의 ⑤ 오디오 단계에서 대사 음성(TTS)과 효과음(SFX)을 앱 안에서 바로 생성합니다.

1

④ 씬 분리로 세그먼트 만들기

대본을 씬으로 나누면 각 씬이 나레이션·대사 세그먼트와 효과음(sfx) 세그먼트로 쪼개집니다. 세그먼트마다 화자와 감정이 함께 붙습니다.

2

⑤ 오디오에서 화자별 성우 지정

화자 목록에서 🎙 버튼을 눌러 성우 선택 모달을 엽니다. 지정하지 않은 화자는 기본 성우로 생성됩니다.

3

실행하고 세그먼트별로 확인

생성된 오디오는 프로젝트의 story/audio/segments/에 저장되고, 완료되면 화자별 트랙 타임라인이 패널에 나타납니다. 표에서는 세그먼트마다 ▶테스트 · 미리듣기 · ↻재생성을 쓸 수 있습니다.

💡 팁: 스텝마다 '자동'을 켜고 '전체 진행'을 누르면 씬 분리 → 오디오 → 프롬프트가 이어서 실행됩니다. Story 모드 전체 흐름은 스토리 모드 가이드를 참고하세요.

🎙️ 화자별 성우 지정

성우는 화자 단위로 지정합니다. 한 대본 안에서 나레이터는 Typecast, 주인공은 ElevenLabs, 조연은 Gemini처럼 엔진을 섞어 쓸 수 있습니다.

TTS 엔진 3종

엔진 설명
Typecast설정 → TTS 키 탭에 API 키를 넣으면 성우 목록이 로드됩니다. 감정 파라미터를 그대로 지원합니다.
Gemini TTSGemini API 키를 그대로 재사용합니다(별도 키 불필요). 다국어 프리빌트 보이스를 제공합니다.
ElevenLabs설정 → TTS 키 탭에 API 키를 넣습니다. 공유 보이스가 매우 많아, 모달 검색창에 2글자 이상 입력하면 원격 검색으로 더 불러옵니다.

성우 선택 모달

🔖
엔진 칩
전체 / Typecast / Gemini / ElevenLabs — 칩마다 성우 개수가 표시됩니다.
검색
이름과 특성(traits)으로 필터링합니다.
♀♂
성별 세그먼트
전체 / 여성 / 남성. 캐릭터 성별이 파악돼 있으면 그 성별로 열립니다.
미리듣기
카드의 재생 버튼으로 샘플 음성을 바로 들어봅니다.
🏷️
카드 정보
이름, 성별 태그, 언어, 특성 태그가 카드에 표시됩니다.
확정
[이 성우로 지정]을 눌러야 화자에 반영됩니다. 취소하면 기존 배정이 유지됩니다.

알아두면 좋은 것

— 캐릭터 성별과 성우 성별이 다르면 버튼에 가 붙습니다. 경고일 뿐, 생성은 그대로 진행됩니다.

— 성별이 확정되지 않은 성우 카드는 우클릭해서 여성/남성으로 직접 지정할 수 있습니다.

— 화자마다 별도의 나레이션 트랙으로 분리됩니다(나레이터는 0번 트랙). CapCut으로 내보낼 때 그대로 멀티트랙이 됩니다.

🎭 감정 처리 규칙

감정 값은 씬 분리 단계에서 세그먼트마다 자동으로 붙고, ⑤ 오디오 표의 세그먼트(감정) 열에서 확인할 수 있습니다.

감정 값

감정 설명
normal기본
happy밝은 / 기쁜
sad슬픈
angry화난 / 강한

적용 규칙

— 감정은 캐릭터 대사에만 적용됩니다. 나레이터 세그먼트는 감정 값과 무관하게 항상 normal로 합성됩니다.

— 엔진마다 처리 방식이 다릅니다 — Typecast는 emotion 파라미터, Gemini TTS는 스타일 지시문, ElevenLabs는 voice settings로 톤을 근사합니다.

— 화자의 성우·엔진·감정이 바뀌면 해당 세그먼트는 재사용되지 않고 다시 합성됩니다.

🔊 효과음 자동 추출

효과음은 대본에서 자동으로 뽑힙니다. 씬 분리 때 AI가 문 여는 소리·천둥·발소리처럼 효과음이 필요한 지점에 sfx 세그먼트(짧은 영문 묘사)를 끼워 넣고, ⑤ 오디오가 그 자리에 맞춰 생성합니다.

🎬 씬에 배치

효과음 세그먼트는 대사와 같은 순서 자리를 차지합니다. 씬 안에서 그 대사 사이에 그대로 놓입니다.

📋 표에서 보이는 모습

화자 칸에는 SFX, 세그먼트 칸에는 영문 묘사와 소스 선택 드롭다운이 나옵니다. 실제로 생성되는 소스는 ElevenLabs(기본값) 하나입니다 — Library는 아직 사용할 수 없습니다.

하나씩 들어보기

▶테스트로 그 효과음만 단건 생성해 들어보고, 마음에 안 들면 로 재생성합니다.

📁 저장 위치

생성된 효과음도 대사 음성과 같이 story/audio/segments/에 저장됩니다.

🎧 앱 내 오디오 탭

임포트 후, 오디오 탭에서 오디오 패키지의 전체 개요를 확인할 수 있습니다.

📊 요약 뷰

캐릭터별 음성 수, 카테고리별 SFX 수, 전체 재생 시간 분석.

⏱️ 타임라인 뷰

타임코드를 통한 자동 씬 매칭과 함께 시간순으로 표시.

▶️ 재생

인라인 플레이어로 앱 내에서 바로 오디오 파일 미리듣기.

🚩 플래그 및 정렬

교체가 필요한 오디오에 플래그. 이름, 재생시간, 상태별 정렬.

💡 결과 패널 뷰 3종: 생성 탭 하단의 결과 패널은 ▶ 타임라인 · ☰ 결과표 · ⊞ 그리드 세 가지 뷰로 전환됩니다. 그리드 뷰는 v3.0.0에서 추가됐습니다.

📦 직접 만든 오디오 가져오기 수동

외부에서 만든 오디오를 그대로 쓰고 싶다면, 예전 방식인 오디오 패키지 임포트도 그대로 동작합니다. Story 모드를 쓰지 않거나, 이미 확보한 음성·효과음이 있을 때 사용하세요.

1

외부에서 TTS 음성 생성

Typecast 또는 ElevenLabs로 인물별 대사 음성을 생성하고, 캐릭터별 폴더로 정리합니다.

2

효과음 생성

ElevenLabs Sound Generation API로 환경음, 발소리, 소품 소리 등을 카테고리별로 생성합니다.

3

AutoFlowCut에서 임포트

프로젝트 디렉토리의 media/ 폴더에 오디오 파일을 배치하면 AutoFlowCut이 자동으로 오디오 패키지를 감지하고 임포트합니다.

💡 팁: 파일명에 타임코드가 포함된 오디오 파일은 해당 SRT 자막 타임스탬프에 자동으로 매칭됩니다.

📁 오디오 패키지 구조 수동

프로젝트 폴더 내에서 다음 디렉토리 구조로 오디오 파일을 구성하세요:

media/
├── voices/                    # 인물별 TTS 파일
│   ├── narrator/
│   │   ├── narrator_001_0000.mp3
│   │   └── narrator_002_0035.mp3
│   └── scholar/
│       └── scholar_001_0120.mp3
├── sfx/                       # 카테고리별 효과음
│   ├── 01_주판/
│   ├── 02_환경음_바람/
│   ├── 03_침묵_호흡/
│   ├── 04_발소리/
│   ├── 05_금속_타격_문/
│   ├── 06_붓소리/
│   └── 07_군중/
└── .audio_review.json         # 부적합 오디오 추적

💡 참고: voices/ 폴더에는 캐릭터별 서브폴더가, sfx/ 폴더에는 카테고리별 서브폴더가 들어갑니다.

🎙️ TTS (대사 음성) 수동

Text-to-Speech API로 생성하는 인물별 대사 음성입니다.

생성 API: Typecast

API: https://api.typecast.ai/v1/text-to-speech

파일명 규칙

{인물명}/{인물}_{번호}_{타임코드}.mp3

예시:
  소은/소은_01_0159.mp3          # 소은, 1번 대사, 01:59 위치
  곽주사/곽주사_05_1030.mp3      # 곽 주사, 5번 대사, 10:30 위치

타임코드(MMSS)를 통해 SRT 자막 타임스탬프와 자동 매칭됩니다.

감정 파라미터

감정 값은 앱이 생성할 때와 같습니다(normal / happy / sad / angry). 자세한 내용은 감정 처리 규칙을 참고하세요.

🔊 SFX (효과음) 수동

AI 사운드 생성으로 만드는 환경음, 폴리, 효과음입니다.

생성 API: ElevenLabs

API: https://api.elevenlabs.io/v1/sound-generation

7가지 SFX 카테고리

🧮
소품
01_주판/ — 물체 상호작용, 클릭
🌿
환경음
02_환경음_*/ — 바람, 빗소리, 새소리
💨
호흡
03_침묵_호흡/ — 숨소리, 한숨
👣
발소리
04_발소리/ — 걷기, 뛰기
🚪
금속 / 문
05_금속_타격_문/ — 문 여닫기, 자물쇠
✍️
필기
06_붓소리/ — 붓, 펜 소리
👥
군중
07_군중/ — 수군거림, 웅성거림

파일명 규칙

{카테고리}/{설명적_이름}.mp3

타임코드 SFX (특정 씬에 동기화):
  abacus_beads_dark_01_0015.mp3   # 00:15 씬용
  abacus_beads_01_0134.mp3        # 01:34 씬용

타임코드 파일명(_MMSS로 끝남)은 해당 씬에 자동 매칭됩니다.

🔍 오디오 리뷰 시스템 수동

앱 UI 또는 Claude Code MCP 도구를 통해 부적합한 오디오 파일에 플래그를 지정합니다. 플래그된 파일은 .audio_review.json에서 추적됩니다.

.audio_review.json 구조

{
  "media/sfx/02_환경음_바람/wind_howl_01.mp3": {
    "status": "flagged",
    "reason": "타임코드 없음",
    "flaggedAt": "2026-03-16T05:44:55.228Z"
  }
}

MCP 도구

list_audio_reviews — 부적합 마크 목록 조회
update_audio_review — 마크 추가/해제