SI_VOX를 사용한 프랑스어 및 FreeTTS를 사용한 영어 텍스트 음성 변환
텍스트 음성 변환 또는 텍스트 음성 변환 (또는 TTS, 텍스트 음성 변환) 는 텍스트에서 인공 음성을 만들 수 있는 방법입니다. 음성 버전에서 beeps를 생성하는 신호 처리를 포함하여 텍스트를 전사하기 위해 언어 처리 기술에 의존합니다. 스티븐 호킹 이 기술을 사용하여 다른 사람과 통신합니다.
1 - 프랑스어 텍스트 음성 변환(SI_VOX 포함)
SI_VOX는 프랑스어 라이브러리이자 Java에서 프랑스어로 된 텍스트 음성 변환을 위한 최고의 API입니다. 사용하려면 다음 단계를 따르세요- SI_VOX API 다운로드: http://users.polytech.unice.fr/~helen/SI_VOX-SRC.tar.gz
- 프로젝트를 만든 후 라이브러리 'SI_VOX.jar'를 프로젝트로 가져옵니다.
-  에있는 "data"폴더를 복사하여 붙여 넣으십시오. 프로젝트 루트의 압축 폴더에 있는 이 파일에는 voice.
- 텍스트를 읽을 클래스 가져 오기 :
import t2s.son.TextReader를 사용합니다. |
ReaderTextReader = new ReaderText("안녕하세요"); |
player.playAll()을 호출합니다. |
reader.setText("나는 텍스트 음성 변환 프로그램이다"); |
import t2s.son.TextReader;
public class Synthese_Vocale{
public static void main(String[] args) {
ReaderTextReader = new ReaderText("hello");
player.playAll();
reader.setText("저는 음성 합성기인데, 누구세요?");
player.playAll();
}
}
2- 영어 텍스트 음성 변환(FreeTTS 포함)
FreeTSS es 오픈 소스 텍스트 음성 변환 시스템이며 Java 언어로 만들어졌습니다. FreeTTS는 Java Speech API.FreeTTS 라이브러리 다운로드 링크 :
http://sourceforge.net/projects/freetts/files/FreeTTS/FreeTTS%201.2.2/freetts-1.2.2-bin.zip/download< / a >< / span >< / span>< / div>
http://sourceforge.net/projects/freetts/files/FreeTTS/FreeTTS%201.2.2/freetts-1.2.2-bin.zip/download< / a >< / span >< / span>< / div>
FreeTTS API에 대한 자세한 내용을 보려면 이 링크를 클릭하십시오 http://freetts.sourceforge.net/docs/index.php#what_is_freetts
텍스트를 음성으로 변환하려면 인터페이스가 필요합니다. FreeTTSSpeakable 텍스트를 FreeTTSSpeakable 객체로 변환합니다.
Voice: FreeTTS의 중심점이며, FreeTTSSpeakable을 입력으로 사용하고 관련 텍스트를 음성으로 변환한 다음 해당 오디오를 출력합니다.
VoiceManager: FreeTTS의 목소리가 담긴 창고입니다. 음성을 선택하는 방법은 다음과 같습니다.
VoiceManager voiceManager = VoiceManager.getInstance(); // 음성 목록 만들기 Voice[] voice = voiceManager.getVoices(); //각 음성에는 속성이 있으므로 목록을 탐색하여 필요에 따라 음성을 찾을 수 있습니다. // 이 음성에 리소스 할당 voice [x].allocate(); |
다음 코드는 데모 응용 프로그램입니다. 신디사이저 음성의 사용을 시연하기 위해 프리TTS . 이 프로그램은 FreeTTS 사용 방법을 보여줍니다. "JSAPI"API가 필요하지 않습니다.
import com.sun.speech.freetts.Voice;
import com.sun.speech.freetts.VoiceManager;
public class Synthese_Vocale {
/**
* 모든 음성을 표시하는 방법
*/
public static void voicelist() {
System.out.println("사용 가능한 모든 음성:");
VoiceManager voiceManager = VoiceManager.getInstance();
음성[] 음성 = voiceManager.getVoices();
for (int i = 0; i < voice.length; i++) {
System.out.println(" " + voice[i].getName()
+ " (" + voice[i].getDomain() + " domain)");
}
}
public static void main(String[] args) {
/*사용 가능한 모든 음성을 표시할 수 있는 메서드*/
voicelist();
문자열 VoiceName = "kevin";
System.out.println("\n사용된 음성: " + 음성 이름);
/* VoiceManager는 FreeTTS의 모든 음성을 관리합니다.TTS
*/
VoiceManager voiceManager = VoiceManager.getInstance();
/*음성 불러오기
*/
음성 = voiceManager.getVoice(VoiceName);
/*음성 이름이 없으면 error
*/
if (voice == null) {
System.err.println(
"음성 "
+ voicename +". 인식되지 않는 경우 다른 이름을 사용해 보세요.");
System.exit(1);
}
/* 음성이 사용하는 리소스를 불러옵니다
*/
voice.allocate();
/* 음성 합성
*/
voice.speak("hello world");
voice.speak("오늘 어땠어");
voice.speak("저는 프로그래머입니다.");
/* 할당 해제
*/
voices.deallocate();
/*프로그램이 성공적으로 완료되었습니다
*/
System.exit(0);
}
}