텔레그램 봇 음성 메시지를 AI 목소리로
음성 메시지로 답하는 봇은 살아 있는 것처럼 느껴집니다. 소리 내어 읽어 주는 아침 요약, 캐릭터 목소리로 하는 답장, 외국어 학습자를 위한 발음 예시. 클라우드 음성 API는 메시지마다 요금을 받고 모든 텍스트를 봅니다.
무료 SuperClonica 엔진은 봇의 텍스트를 내 서버에서 자연스러운 목소리나 캐릭터 목소리로 읽어 줍니다. 이 가이드에서는 답장을 텔레그램 음성 메시지로 만드는 법, 봇을 빠르게 유지하는 법, 목소리를 공정하게 쓰는 법을 소개합니다.
음성 봇이 할 수 있는 일
짧은 답장이 가장 좋습니다. 몇 문장짜리 음성 메시지가 긴 독백보다 듣기 쉽습니다.
- 긴 글 대신 음성 메시지로 질문에 답하기.
- 뉴스, 게시물, 하루 요약을 소리 내어 읽기.
- 게임이나 팬 커뮤니티 봇에서 캐릭터로 말하기.
- 외국어 학습자에게 31개 언어로 예문 들려주기.
목소리를 무료로 들어 보기
아무 목소리 페이지에서 봇의 전형적인 답장을 30~100자로 입력하고 언어를 고른 뒤 생성 버튼을 누르세요. 몇 초 만에 봇이 어떻게 들릴지 알 수 있습니다. 계정은 필요 없습니다.
텍스트를 음성 메시지로
WAV는 중간 파일일 뿐입니다. Opus 파일은 작고 모든 텔레그램 앱에서 채팅 안에서 바로 재생됩니다.
- 엔진을 한 번 설치: python -m pip install superclonica-cpu.
- 한 번 만들고(tts = Superclonica()) 답장마다 생성: audio, rate = tts.synthesize("좋은 아침입니다! 오늘의 요약입니다.", voice="F1", lang="ko"); tts.save("reply.wav", audio).
- 텔레그램은 Opus 코덱의 OGG 파일을 음성 메시지로 보여 주므로 ffmpeg로 변환: ffmpeg -i reply.wav -c:a libopus -b:a 48k reply.ogg.
- 봇 라이브러리의 음성 메시지 전송 메서드로 파일을 보내세요. 텔레그램 Bot API의 sendVoice를 호출합니다.
봇을 빠르게 유지하기
엔진 로딩은 몇 초, 그 뒤 답장마다 1초도 걸리지 않습니다. 우리 테스트에서 짧은 문장은 CPU 4스레드에서 0.43초였습니다. aiogram이나 python-telegram-bot 같은 비동기 라이브러리에서는 합성을 별도 스레드에서 실행해 봇이 다른 채팅에 계속 답하게 하세요. 같은 텍스트, 목소리, seed면 항상 같은 소리가 나므로 반복되는 답장은 캐시하세요. 봇이 Python이 아니라면 Docker 이미지 superclonica/superclonica:cpu로 엔진을 로컬 HTTP 서비스로 실행하고 POST /synthesize를 호출하세요.
목소리, 공정하게
모델 기본 목소리 10종 M1~M5, F1~F5는 무료이고 어떤 봇에도 맞습니다. 카탈로그의 캐릭터 목소리는 팬이 만든 것이니 팬 커뮤니티의 재미용 봇에 쓰고, 누군가를 사칭하거나 공식처럼 보이게 하는 데는 쓰지 마세요. 목소리가 생성된 것임을 사용자에게 알리고, 브랜드나 사용자가 많은 공개 봇이라면 동의한 화자의 녹음으로 오리지널 목소리를 학습하거나 거래소에서 주문하세요.