시 낭독 텍스트 음성 변환: 쉼이 있는 낭독
시는 쉼으로 살아 있습니다. 행 끝의 숨, 연과 연 사이의 긴 침묵, 허공에 남는 한 단어. 대부분의 음성 합성 도구가 바로 여기서 실패합니다. 시를 문단처럼 읽어 버리기 때문이죠. 짧은 영상, 학교 과제, 생일 축하, 혹은 그냥 내 시를 소리로 듣고 싶을 때 시를 위한 목소리가 필요합니다.
SuperClonica에는 차분하고 따뜻하고 낮은 목소리가 있어 온라인에서 무료로 들어 볼 수 있고, 무료 엔진은 시를 한 행씩 진짜 쉼을 넣어 읽을 수 있습니다. 이 가이드에서는 어울리는 목소리, 텍스트 준비, 쉼을 제대로 넣는 법을 소개합니다.
시에 어울리는 목소리
안나, Keeper of the Light, Ember Spirit, Muerta는 러시아어로 녹음되어 한국어에서는 억양이 약간 남을 수 있으니 먼저 들어 보세요.
- 안나: 편지, 추억, 1인칭 시를 위한 차분하고 조금 낮은 여성 목소리.
- Keeper of the Light와 Ember Spirit: 서두르지 않고 쉼을 두는 목소리로, 발라드와 전설, 우화에.
- Muerta: 이별과 사랑 시를 위한 따뜻하고 조금 슬픈 낮은 목소리.
- 세베루스 스네이프: 영어로 녹음된 낮고 진지한 목소리로, 어둡거나 극적인 시에.
- 모델의 기본 목소리 10개: 또렷하고 중립적이며, 공개하는 모든 것에 무료입니다.
무료로 온라인에서 한 연 만들기
아무 목소리 페이지에서 30~100자의 한 연을 붙여 넣고 언어를 고른 뒤 생성 버튼을 누르세요. 몇 초면 듣고 내려받을 수 있으며 계정은 필요 없습니다.
시 준비하기
먼저 직접 소리 내어 읽고 숨 쉬는 곳에 표시하세요. 그곳에 쉼이 필요합니다.
- 줄바꿈과 빈 줄은 쉼이 되지 않습니다. 숨을 쉬어야 할 행은 쉼표나 마침표로 끝내세요.
- 말줄임표와 대시는 쉼표 정도의 짧은 쉼만 줍니다.
- 숫자는 글자로, 이름은 들려야 하는 대로 쓰세요.
- 잘못 읽히는 단어는 소리 나는 대로 고쳐 쓰거나 리듬을 지키는 다른 단어로 바꾸세요.
한 행씩, 진짜 쉼
시다운 쉼을 원하면 행마다 따로 만들고 사이에 무음을 넣으세요. 시를 poem.txt에 한 줄에 한 행씩, 연 사이는 빈 줄로 저장하고, 무료 엔진을 python -m pip install superclonica-cpu로 설치한 뒤 실행하세요: import numpy as np, soundfile as sf; from superclonica import Superclonica; tts = Superclonica(); r = tts.sample_rate; gap = lambda s: np.zeros(int(r * s), np.float32); lines = [l.strip() for l in open('poem.txt', encoding='utf-8')]; sf.write('poem.wav', np.concatenate([np.concatenate([tts.synthesize(l, 'F2', 'ko')[0], gap(0.6)]) if l else gap(1.2) for l in lines]), r). 행마다 0.6초, 연이 바뀔 때 1.2초의 무음이 들어가며 숫자는 취향대로 바꾸면 됩니다. 더 느리고 엄숙하게 읽히려면 명령줄 엔진에서 --speed 0.9를 쓰세요.
내 시와 남의 시
내가 쓴 시는 자유롭게 음성으로 만들어 공개할 수 있습니다. 작가가 오래전에 세상을 떠난 고전은 대개 퍼블릭 도메인이지만, 최근 시는 작가나 출판사의 것이라 녹음을 공개하려면 허락이 필요합니다. 공개하는 영상에는 OpenRAIL-M 라이선스로 무료인 기본 목소리 10개(M1~M5, F1~F5)나 SuperClonica 스튜디오에서 학습한 내 목소리를 쓰세요.