2010-03-24 5 views
1

System.Speech.Synthesis.TtsEngine 네임 스페이스에 대한 (간단한) 예제를 알고 있습니까?System.Speech.Synthesis.TtsEngine의 예제?

출력 음성의 음높이, 비율 및 음량을 제어 할 수있는 TTS 엔진을 사용하고 싶습니다. 위에서 언급 한 네임 스페이스가 그렇게 할 수있는 것처럼 보이지만 한 가지 예는 찾을 수 없습니다. 나는 내가 원하는 것을하기 위해, 텍스트를 말로 변환하는 (아마도 거대하고 복잡한) 전체 코드를 다시 작성해야할지, 아니면 프로세스에만 "연결"하고 싶으면 완전히 이해하지 못했다. 일부 변수를 수정하십시오.

나를 위해 가능한 옵션은 각 음소의 길이와 음높이를 쉽게 제어 할 수 있으므로 MBROLA가 될 수 있습니다. 문제는 MBROLA가 음소 - 음성 엔진이기 때문에 MBROLA에서 사용하기 전에 텍스트를 음소로 변환해야한다는 것입니다 (힘들 수 있습니다! 예 : "읽음"과 "읽음"), 다른 음소 "읽기"와 "읽기"!).

모든 의견은 매우 높이 평가됩니다.

감사합니다.

답변

1

System.Speech.SpeechSynthesizer가 이미 모든 기능을 노출 할 때 (System.Speech.Synthesis.TtsEngine은 자체 TTS 엔진을 작성하는 사람들을 대상으로합니다.) 왜 그렇게 낮은 수준으로 이동해야하는지 궁금합니다. 당신은 설명하고 훨씬 쉽게 사용할 수 있습니다.

System.Speech.SpeechSynthesizer에는 속도, 피치 및 볼륨을 제어하기 위해 properties이 있습니다. 또한 SpeakSsml 메서드를 사용하면 음성 이벤트를 처리하지 않고도 속도, 피치 및 볼륨을 제어하기 위해 음성 텍스트에 SSML markup을 포함시킬 수 있습니다.