SI_VOX를 사용한 프랑스어 및 FreeTTS를 사용한 영어 텍스트 음성 변환

텍스트 음성 변환 또는 텍스트 음성 변환  (또는 TTS, 텍스트 음성 변환) 는 텍스트에서 인공 음성을 만들 수 있는 방법입니다. 음성 버전에서 beeps를 생성하는 신호 처리를 포함하여 텍스트를 전사하기 위해 언어 처리 기술에 의존합니다. 스티븐 호킹  이 기술을 사용하여 다른 사람과 통신합니다.

1 - 프랑스어 텍스트 음성 변환(SI_VOX 포함)

SI_VOX는 프랑스어 라이브러리이자 Java에서 프랑스어로 된 텍스트 음성 변환을 위한 최고의 API입니다. 사용하려면 다음 단계를 따르세요
  1. SI_VOX API 다운로드:  http://users.polytech.unice.fr/~helen/SI_VOX-SRC.tar.gz
  2. 프로젝트를 만든 후 라이브러리 'SI_VOX.jar'를 프로젝트로 가져옵니다.
  3.  에있는 "data"폴더를 복사하여 붙여 넣으십시오. 프로젝트 루트의 압축 폴더에 있는 이 파일에는 voice.
  4. 텍스트를 읽을 클래스 가져 오기 :
import t2s.son.TextReader를 사용합니다.
  5.    텍스트 리더 만들기:
ReaderTextReader = new ReaderText("안녕하세요");
 6. 본문 읽기: 
player.playAll()을 호출합니다.
 7.    텍스트 편집: 
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>


텍스트를 음성으로 변환하려면 인터페이스가 필요합니다.  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);
}
}