diff --git a/app/Services/Video/TtsService.php b/app/Services/Video/TtsService.php index b9498ab7..acbf0946 100644 --- a/app/Services/Video/TtsService.php +++ b/app/Services/Video/TtsService.php @@ -32,7 +32,7 @@ public function synthesize(string $text, string $savePath, array $options = []): try { $languageCode = $options['language_code'] ?? 'ko-KR'; $voiceName = $options['voice_name'] ?? 'ko-KR-Neural2-A'; - $speakingRate = $options['speaking_rate'] ?? 1.2; + $speakingRate = $options['speaking_rate'] ?? 1.4; $pitch = $options['pitch'] ?? 0.0; // TTS 전송 전 이모지/특수문자 제거 (읽어버리는 문제 방지) diff --git a/app/Services/Video/VideoAssemblyService.php b/app/Services/Video/VideoAssemblyService.php index df23f4c5..64e850e5 100644 --- a/app/Services/Video/VideoAssemblyService.php +++ b/app/Services/Video/VideoAssemblyService.php @@ -227,8 +227,8 @@ public function generateAssSubtitle(array $scenes, string $outputPath): string // 총 글자 수 기준으로 각 문장의 시간 비율 계산 $totalChars = array_sum(array_map('mb_strlen', $sentences)); - // 나레이션이 차지하는 시간 (장면 끝에 0.3초 여백) - $activeTime = max($duration - 0.3, $duration * 0.9); + // 나레이션이 차지하는 시간 (1.4x 속도에 맞춰 75% 구간에 압축) + $activeTime = $duration * 0.75; $offset = 0.0; foreach ($sentences as $sentence) {