가이드

리눅스 텍스트 음성 변환: 터미널에서 자연스러운 오프라인 TTS

리눅스에서 텍스트 음성 변환이라고 하면 보통 espeak나 Festival입니다. 빠르고 무료지만 로봇 같은 목소리죠. 신경망 목소리는 사람처럼 들리지만 대부분 클라우드에 있습니다. 무료 SuperClonica 엔진은 신경망 모델 Supertonic 3를 내 리눅스 컴퓨터로 가져옵니다. 일반 CPU에서 오프라인으로 돌아가며 31개 언어를 말합니다.

이 가이드에서는 가상 환경에 설치하는 법, 터미널에서 읽히는 법, 선택한 글을 키보드 단축키로 소리 내어 읽히는 법, 목소리 고르는 법을 소개합니다.

필요한 것

espeak나 Festival과 달리 신경망 모델이라 말이 자연스럽게 들리며, 첫 실행 이후에는 인터넷이 필요 없습니다.

  • Python 3.10 이상이 있는 최신 64비트 리눅스 배포판.
  • Supertonic 3 모델용 약 400MB 디스크 공간. 한 번만 내려받습니다.
  • 그래픽 카드는 필요 없음: NVIDIA는 속도만 높여 줍니다.
  • 목소리: 내장된 10가지(M1~M5, F1~F5) 또는 카탈로그의 JSON 파일.

가상 환경에 설치

많은 배포판이 더 이상 pip로 시스템 Python에 설치하지 못하게 하므로 가상 환경을 쓰세요: python3 -m venv ~/.venvs/tts && ~/.venvs/tts/bin/python -m pip install superclonica-cpu. 그러면 명령은 ~/.venvs/tts/bin/superclonica가 됩니다. 이 폴더를 PATH에 추가하거나 별칭을 만드세요. NVIDIA 그래픽 카드가 있다면 대신 superclonica-gpu-cuda를 설치하세요. CUDA와 cuDNN은 pip가 알아서 설치합니다.

터미널에서 읽히기

모델은 첫 실행 때 내려받고, 그 뒤에는 네트워크 없이 작동합니다.

  • 한 문장: superclonica --text "리눅스에서 안녕하세요." --voice F1 --lang ko --output hello.wav && aplay hello.wav.
  • 파일 전체: --text 대신 --text-file article.txt. 긴 글은 자연스러운 쉼에서 나뉘어 하나의 WAV로 합쳐집니다.
  • 사운드 시스템에 따라 aplay, paplay, pw-play로 재생하세요.
  • 바쁜 컴퓨터에서는 --threads 4로 CPU 스레드를 제한하세요.

선택한 글을 단축키로 읽기

작은 스크립트를 저장해 데스크톱 설정에서 키보드 단축키에 지정하세요: xclip -o > /tmp/sel.txt (Wayland에서는 wl-paste -p > /tmp/sel.txt), 그다음 superclonica --text-file /tmp/sel.txt --voice F1 --lang ko --output /tmp/sel.wav && aplay /tmp/sel.wav. 아무 창에서나 글을 선택하고 단축키를 누르면 엔진이 소리 내어 읽습니다. 다른 언어를 읽으려면 --lang과 목소리를 바꾸세요.

목소리와 서버

SuperClonica 카탈로그의 모든 목소리에는 30~100자 문장을 온라인에서 무료로 들어 볼 수 있는 페이지가 있습니다. 무료 목소리는 계정 없이 내려받고, 유료 목소리는 한 번 구매하면 --voice로 지정하는 JSON 파일로 내 것이 됩니다. 네트워크의 다른 프로그램을 위해서는 Docker Hub의 superclonica/superclonica 이미지가 같은 엔진을 HTTP 서버로 실행합니다.