Speech Services에 액세스(Microsoft 에이전트 서버 인터페이스)

[Microsoft 에이전트는 Windows 7을 기준으로 사용되지 않으며 이후 버전의 Windows 사용할 수 없습니다.]

Microsoft 에이전트의 서비스에는 음성 입력에 대한 지원이 포함되어 있지만 에이전트의 음성 입력 서비스에 액세스하려면 호환되는 명령 및 제어 음성 인식 엔진을 설치해야 합니다. 마찬가지로 Microsoft 에이전트의 음성 서비스를 사용하여 문자에 대한 합성된 음성 출력을 지원하려면 문자에 호환되는 TTS(텍스트 음성 변환) 음성 엔진을 설치해야 합니다. Microsoft 에이전트의 음성 서비스는 SAPI(Microsoft Speech API)를 기반으로 하므로 필요한 음성 인터페이스를 호환해서 지원하는 모든 엔진을 사용할 수 있습니다.

애플리케이션에서 음성 입력 지원을 사용하도록 설정하려면 Command 개체를 정의하고 해당 Voice 속성을 설정합니다. Microsoft 에이전트는 사용자가 수신 대기 키를 누르거나 수신 대기를 호출할 때 음성 인식 엔진이 로드되도록 음성 서비스를 자동으로 로드합니다. 기본적으로 문자의 언어 ID는 로드되는 엔진을 결정합니다. 에이전트는 SAPI가 이 언어와 일치하는 것으로 반환하는 첫 번째 엔진을 로드하려고 시도합니다. 특정 엔진을 로드하려면 IAgentCharacterEx::SetSRModeID 를 사용합니다.

텍스트 음성 변환 출력을 사용하도록 설정하려면 Speak 메서드를 사용합니다. Microsoft 에이전트는 문자의 언어 ID와 일치하는 엔진을 자동으로 로드하려고 시도합니다. 문자의 정의에 특정 TTS 엔진 모드 ID가 포함되어 있고 해당 엔진을 사용할 수 있고 문자의 언어 ID와 일치하는 경우 에이전트는 해당 엔진을 문자에 로드합니다. 그렇지 않은 경우 에이전트는 SAPI가 문자의 언어 설정과 일치하는 것으로 반환하는 첫 번째 TTS 엔진을 로드합니다. IAgentCharacterEx::SetTTSModeID를 사용하여 특정 엔진을 로드할 수도 있습니다.

일반적으로 Microsoft 에이전트는 수신 모드가 시작될 때 음성 인식 엔진을 로드하고 Speak 가 처음 호출될 때 텍스트 음성 변환 엔진을 로드합니다. 그러나 음성 엔진을 미리 로드하려는 경우 음성 인터페이스와 관련된 속성을 쿼리하여 이 작업을 수행할 수 있습니다. 예를 들어 IAgentCharacterEx::GetSRModeID 또는 IAgentCharacterEx::GetTTSModeID 를 호출하면 해당 유형의 엔진을 로드하려고 합니다.