출처 : http://cafe.naver.com/msrskorea archegos
TTSAgent.exe(한국어 및 기타 언어 지원) 및 SpeechRecognizer.exe 입니다.
MSRS에서 WinMessage 서비스를 이용해 위의 한글TTS와 음성인식기를 사용할 수 있습니다.
TTSAgent 는 SAPI4를 지원합니다.
실행하시기 전에 SpeechRec&TTS.ZIP에 포함 된 SpchCpl.exe를
설치하고, 각 언어별 TTS 엔진은
http://www.microsoft.com/msagent/downloads/user.aspx
에서 다운로드해서 설치하시면 됩니다.
TTSAgent를 실행하고 나타나는 에이전트에 마우스 오른쪽 버튼을
클릭하시면 옵션을 조정하고 각 TTS엔진을 테스트할 수 있습니다.
WinMessage 서비스는 윈도우 메시지를 이용해 기존 윈도우 응용 프로그램과 MSRS 서비스 사이의 데이터 전송을 지원하는 서비스입니다.
MSRS에 설치된 현재 WinMessage예제는 영어를 지원하며 2byte코드인 한글을 지원하기 위해서
C:\Microsoft Robotics Studio (1.5)\samples\Misc\WinMessage 에 있는 예제의 솔루션 파일인 WinMessage.sln를 Visual Studio 에서 열어 다음 코드의 cbData = lpData.Length + 1;을 찾아 cbData = lpData.Length*2 + 1;로 아래와 같이 변경합니다.
/// <summary>
/// Structure required to be sent with the WM_COPYDATA message
/// </summary>
[StructLayout(LayoutKind.Sequential)]
class CopyDataStruct
{
public int dwData = 1;//32 bit int to passed.
public int cbData = 0;//length of string. Will be one greater because of null termination.
public string lpData;//string to be passed.
public CopyDataStruct()
{ }
public CopyDataStruct(string Data)
{
lpData = Data + "\0"; //add null termination
//cbData = lpData.Length + 1; //기존 cdData
cbData = lpData.Length*2 + 1; //2byte 코드인 한글 지원을 위한 cbData
}
}
Follower - WinMessage음성출력 및 인식버전.zip은
MSRS의 Follower 샘플 서비스를 WinMessage서비스를 통해
TTSAgent와 SpeechRecognizer를 사용하도록 변경된 예제입니다.