가이드

MIT App Inventor 음성 합성을 원하는 목소리로

MIT App Inventor로는 말하는 Android 앱을 쉽게 만들 수 있습니다. TextToSpeech 컴포넌트를 끌어다 놓고 Speak를 부르면 되죠. 문제는 목소리입니다. 휴대폰에 있는 목소리라 기기마다 다르게 들립니다.

이 가이드는 기본 컴포넌트의 원리와, 무료 SuperClonica 엔진으로 만든 오디오 파일로 캐릭터, 내레이터, 내 목소리처럼 앱만의 목소리를 입히는 방법을 소개합니다.

기본 TextToSpeech 컴포넌트

App Inventor 레퍼런스에 따르면 TextToSpeech는 Speak로 메시지를 말하고 Stop으로 멈추며, BeforeSpeaking과 AfterSpeaking 이벤트를 발생시킵니다. Pitch와 SpeechRate는 0~2 값을 받고 1.0이 기본입니다. Language는 말하는 언어가 아니라 단어의 발음을 바꿉니다. 영어 텍스트에 언어를 프랑스어로 두면 프랑스어 억양의 영어처럼 들립니다. 사용할 수 있는 언어와 국가는 기기에 따라 다릅니다.

휴대폰마다 목소리가 달라지는 이유

이 컴포넌트는 휴대폰 자체의 음성 엔진을 쓰기 때문에 같은 앱도 기기마다 다르게 들리고, 특정 캐릭터나 내레이터를 고를 수 없습니다. 퀴즈, 게임, 알아볼 수 있는 목소리의 말하는 도우미라면 녹음된 오디오를 재생하세요.

오디오 파일로 나만의 목소리

앱의 고정 대사를 무료 SuperClonica 엔진으로 음성화하세요. python -m pip install superclonica-cpu로 설치하고 예를 들어 superclonica --text "Well done! Next level." --voice voice.json --lang ko --normalize --output well_done.wav를 실행합니다. 파일은 디자이너에서 Media로 올립니다. 레퍼런스는 효과음이나 문구 같은 짧은 파일에는 Sound, 긴 파일에는 Player를 권합니다. Source를 정하고 Play를 부르세요. 먼저 각 페이지에서 30~100자로 무료로 목소리를 들어 보세요.

실행 중에 바뀌는 텍스트

사용자 이름처럼 앱 실행 중에만 알 수 있는 텍스트는 Web 컴포넌트로 키와 함께 SuperClonica 음성 API에 보내고, SaveResponse로 응답을 파일에 저장해 Player에 넘길 수 있습니다. 무료 키로 하루 3분의 오디오를 쓸 수 있으며, 요청 형식은 작업 공간의 Speech API 항목에 있습니다. 휴대폰이 오프라인일 때를 위해 기본 TextToSpeech도 예비로 남겨 두세요.

학교 프로젝트 아이디어

말하는 단어 카드, 퀴즈 진행자, 독서 친구, 게임 내레이터는 미리 만든 대사 수십 개로도 잘 만들 수 있습니다. 모든 파일에 같은 목소리와 seed를 쓰면 앱이 늘 같은 목소리를 냅니다. 엔진은 31개 언어를 말하며 중국어는 아직 지원하지 않습니다. 카탈로그의 캐릭터 목소리는 팬메이드이니 이를 쓰는 프로젝트는 비상업적으로 유지하세요.