TTS (텍스트 음성 변환) 용 음성 플랫폼을 사용하고 있습니다.Microsoft 음성 플랫폼 : "SPF_NLP_SPEAK_PUNC"가 작동하지 않습니다.
나는 구두점 (구두점)의 발음으로 음성 출력을 원합니다.
MSDN 말한다 :
ISpVoice::Speak speaks the contents of a text string or file.
HRESULT Speak(
LPCWSTR *pwcs,
DWORD dwFlags,
ULONG *pulStreamNumber
);
...
dwFlags
[in] Flags used to control the rendering process for this call. The flag values are contained in the SPEAKFLAGS enumeration.
...
http://msdn.microsoft.com/en-us/library/speechplatform_ispvoice_speak.aspx
SPEAKFLAGS
...
SPF_NLP_SPEAK_PUNC
Punctuation characters should be expanded into words (for example, "This is a sentence." would become "This is a sentence period").
...
http://msdn.microsoft.com/en-us/library/speechplatform_speakflags.aspx
을 그래서, 나는 아래의 코드 작성 :
#define TOKEN_ID L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech Server\\v11.0\\Voices\\Tokens\\TTS_MS_en-US_Helen_11.0"
int main(void) {
CoInitialize(NULL);
ISpVoice* spVoice = NULL;
CoCreateInstance(CLSID_SpVoice, NULL,
CLSCTX_INPROC_SERVER, IID_ISpVoice, (void**)&spVoice);
ISpObjectToken* token = NULL;
SpGetTokenFromId(TOKEN_ID, &token, FALSE);
spVoice->SetVoice(token);
spVoice->Speak(L"This is a sentence.",
SPF_DEFAULT | SPF_NLP_SPEAK_PUNC, NULL);
CoUninitialize();
return 0;
}
을하지만,이 예상대로 작동하지 않습니다. "this is a sentence"라는 말을 출력하고 "마침표"는 발음하지 않습니다.
도와주세요.
어떤 음성을 사용하고 있습니까? –