🎵 음성 · 자막 · 환경음

VAG는 TTS 나레이션 · 자막 burn-in · 장면별 환경음의 3가지 오디오/자막 기능을 제공합니다.
3가지를 동시에 사용할 수 있으며, 각각 독립적으로 작동합니다.

🎤 TTS 나레이션 (OpenAI TTS)

AI가 생성한 narration 텍스트를 OpenAI TTS API로 음성 파일로 변환합니다.

동작 방식

1
활성화 조건

서버 환경설정에 [OpenAI API 키]가 설정되어 있어야 합니다.
키가 없으면 TTS 단계를 건너뜁니다 (무음 진행, 환경음·배경음은 정상 작동).

2
장면별 음성 생성

각 장면의 narration 텍스트를 개별 MP3 파일로 합성합니다.
저장 위치: jobs/{jobId}/audio/scene_1.mp3, scene_2.mp3, ...

3
나레이션 트랙 합성

각 장면 음성에 adelay 필터로 타이밍 오프셋을 적용합니다.
이전 장면들의 총 duration_sec 합계만큼 지연 적용 → 영상과 정확히 일치.

사용 모델

항목
APIOpenAI TTS (tts-1 또는 tts-1-hd)
기본 음성alloy (중성적, 명확한 발음)
출력 형식MP3
언어한국어 (narration 필드)
요금$0.015/1000자 (tts-1 기준)

🗣 자막 (Subtitle Burn-in)

AI가 생성한 subtitle 텍스트(15자 이내 한국어)를 FFmpeg drawtext 필터로 영상에 직접 소각(burn-in)합니다.
소각된 자막은 영상에 영구적으로 포함됩니다 (별도 자막 파일 없음).

자막 스타일

속성
위치하단 중앙 (y=H-80)
폰트 크기42px
글자색흰색 (#FFFFFF)
외곽선검정 2px (가독성 보장)
배경반투명 검정 (가로 영상) / 세로 영상도 동일
폰트서버 설치 한글 폰트 (NanumGothic 등)
자막 처리 시점: AI 엔진 클립 생성 직후 burn-in 후 원본 클립을 덮어씁니다. FFmpeg 폴백 클립은 생성 시점에 자막을 동시에 소각합니다.

🌖 장면별 환경음 (Ambient Sound)

각 장면에 맞는 배경 소리를 자동으로 생성하고 믹싱하는 기능입니다. (2026년 4월 신규 적용)

8가지 환경음 타입

🌿 nature
자연 소리 (새소리, 바람). 야외·공원·숲 장면에 적합
🌊 ocean
바다 파도. 해변·항구·수중 장면에 적합
🌧 rain
빗소리. 감성적·실내·우울한 장면에 적합
🌮 wind
바람 소리. 산·고원·개방 공간 장면에 적합
🏠 city
도시 소음. 카페·거리·도심 장면에 적합
🏠 indoor
실내 공기음. 강의·회의·인터뷰 장면에 적합
🎸 dramatic
저음 드라마틱. 오프닝·클라이맥스 장면에 적합
▶ default
기본 배경음. 타입이 지정되지 않은 경우 사용

환경음 생성 원리

1
SFX 파일 존재 확인

[내부경로]/[SFX폴더]/ 폴더에 SFX 파일이 하나 이상 있어야 환경음 트랙이 생성됩니다.
모두 없으면 이 단계를 건너뜁니다.

2
장면별 클립 생성

각 장면의 ambient_sound 타입에 해당하는 SFX 파일을 찾아
-stream_loop -1 -t {duration_sec}으로 정확한 길이의 MP3 클립을 생성합니다.
SFX 파일이 없는 타입은 anullsrc(무음)로 대체합니다.

3
전체 트랙 concat

장면 순서대로 클립을 concat하여 영상과 동일한 길이의 단일
ambient_track.mp3를 생성합니다.

🎲 3트랙 최종 믹싱

모든 오디오가 준비되면 아래 비율로 믹싱됩니다:

트랙볼륨처리 방식
🎤 TTS 나레이션100% (기준)장면 타이밍 오프셋 적용 (adelay)
🌖 환경음 트랙35%영상과 동일 길이, 나레이션과 amix
🎵 배경음악 (BGM)10%aloop=-1 무한 반복
3트랙 믹싱 예시 (FFmpeg filter_complex)
[bgIdx:a]volume=0.10,aloop=loop=-1:size=2e+09[bg];
[ambIdx:a]volume=0.35[amb];
[narIdx:a][amb][bg]amix=inputs=3:duration=first:dropout_transition=2[aout]
트랙 조합 우선순위: 3개 모두 → 나레이션+환경음 → 나레이션+BGM → 환경음+BGM → 나레이션만 → 환경음만 → BGM만 → 무음
어떤 조합이든 최선의 결과를 출력합니다.

💿 SFX 파일 관리

SFX 파일은 서버에 미리 생성되어 있습니다. FFmpeg로 노이즈 신호를 합성한 30초 MP3 파일입니다.

파일생성 방법
nature.mp3pink noise → lowpass 1200Hz
ocean.mp3brown noise → tremolo f=0.12:d=0.75
rain.mp3white noise → highpass 2500Hz → lowpass 12000Hz
wind.mp3pink noise → lowpass 700Hz → highpass 80Hz
city.mp3pink noise → lowpass 2000Hz
indoor.mp3white noise → lowpass 500Hz (volume 0.04)
dramatic.mp3sine 55Hz + 110Hz + 82Hz 합성
default.mp3ambient_default.mp3 복사본

SFX 파일 위치: [서버 내부 SFX 디렉토리]

📈 YouTube 트렌드 분석 →