Windows Voice + Unity3D

WindowsVoiceProject + Unity3D 는 윈도우 TTS 를 Unity3D 에서 사용할 수 있게 해주는 플러그인 입니다. 원 소스의 출처는 https://chadweisshaar.com/blog/2015/07/02/microsoft-speech-for-unity/ 입니다.

TTS(Text To Speech) 는 모바일이나 클라우드를 이용해서 많은 서비스가 이미 나와 있습니다. 그럼에도 불구하고 이 플러그인을 사용하는 이유는 클라우드 TTS가 온라인이라는 특성상 음성이 나오기까지 딜레이가 발생하기 때문입니다. 본 플러그인은 윈도우에 있는 기본 TTS를 이용하므로 실행과 동시에 바로 TTS 를 출력합니다.

다만 아직 오디오 소스를 선택하는 코드가 없고 이전 TTS 를 취소할 수가 없어 연속적으로 TTS 요청시 밀리거나 출력되지 않는 버그가 있습니다.

빌드를 위해서는 Windows 8.1 SDK 가 필요
이미 윈도우에 설치된 음성만 사용 가능

음성을 선택하기 위해서는 아래 부분의 소스를 수정해야 합니다.

void speechThreadFunc()
  {
    ISpVoice * pVoice = NULL;

    ... 중략 ...

	if (SUCCEEDED(hr))
	{
		hr = cpEnum->Item(3, &cpVoiceToken); // 원하는 음성의 인덱스를 선택 
	}

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.