SRT 자막을 음성으로: 자막을 음성 트랙으로 바꾸기
자막 파일에는 내레이션에 필요한 모든 것이 들어 있습니다. 대사와, 각 대사가 들려야 할 시점입니다. 이를 음성으로 바꾸면 튜토리얼, 쇼츠, 번역한 영상에 화면과 딱 맞는 음성 트랙이 생깁니다. 한 줄도 녹음하지 않고요.
무료 SuperClonica 엔진이 각 대사를 오프라인에서 자연스러운 목소리로 읽고, 짧은 Python 스크립트가 시작 시각에 맞춰 배치합니다. 이 가이드에서는 스크립트, 긴 대사를 구간에 맞추는 법, 트랙을 영상 아래에 까는 법을 보여 줍니다.
필요한 것
엔진 자체는 SRT 파일을 읽지 않습니다. Python 20줄 정도면 됩니다.
- SRT 파일: 편집 프로그램, 자동 자막, 번역에서.
- 무료 SuperClonica 엔진과 Python 3.10 이상: python -m pip install superclonica-cpu. numpy도 함께 설치됩니다.
- 목소리: 기본 목소리 10종, 카탈로그 목소리, 또는 학습한 내 목소리.
- 그래픽 카드는 필요 없습니다. 일반 CPU면 충분합니다.
대사를 무료로 들어 보기
아무 목소리 페이지에서 자막 한 줄을 30~100자로 붙여 넣고 언어를 고른 뒤 생성 버튼을 누르세요. 몇 초 만에 영상이 어떻게 들릴지 알 수 있습니다. 계정은 필요 없습니다.
대사에서 하나의 트랙으로
엔진은 반복문 전에 한 번만 만드세요. 로딩은 몇 초, 대사마다 1초도 안 걸립니다.
- 파일 읽기: 항목마다 번호, 시작·끝 시각 줄, 텍스트로 이루어져 있습니다.
- 항목마다 읽히기: audio, sample_rate = tts.synthesize(text, voice="F2", lang="ko", seed=7).
- 영상 길이만큼 조용한 numpy 배열을 만들고, 각 대사를 그 항목이 시작하는 샘플(시작 초 × 샘플링 레이트)부터 더합니다.
- 결과를 tts.save("track.wav", track)로 저장.
구간에 안 들어가는 대사
읽은 대사 길이를 그 항목의 길이와 나란히 출력하세요. 음성이 구간보다 길면 다음 대사와 겹칩니다. 먼저 텍스트를 줄이고, 짧은 항목 두 개를 하나로 합치고, 그래도 안 되면 Superclonica(speed=1.15)처럼 조금 빠른 엔진을 만드세요(허용 범위 0.7~2.0). 같은 텍스트, 목소리, seed는 항상 같은 오디오를 내므로 한 줄만 고쳐 트랙을 다시 만들 수 있습니다.
목소리를 영상 아래에 깔기
track.wav를 편집 프로그램에 오디오 트랙으로 불러오거나 명령 하나로 영상과 합치세요: ffmpeg -i video.mp4 -i track.wav -map 0:v -map 1:a -c:v copy -c:a aac voiced.mp4. 목소리 아래에 음악이나 효과음을 남기려면 원래 소리를 두 번째 트랙에 두세요. 내가 만든 영상이나 허락받은 영상에만 목소리를 입히고, 실제 인물을 흉내 낸 목소리를 동의 없이 쓰지 마세요.