TTS 관련..이것 저것 …쓰레기수준..

그냥 정리 하지 않고 올립니다.

Speech SDK 5.1

http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&DisplayLang=en

http://msdn.microsoft.com/en-us/library/ms717236%28VS.85%29.aspx

http://www.bytecool.com/voices.htm


 

http://www.bytecool.com/dlcoolspch.htm


 

음…

Example

http://blog.niwota.com/a/1647456.htm


 

CoInitialize(NULL);

    CLSIDFromProgID(L"SAPI.SpVoice", &CLSID_SpVoice);

    ISpVoice * pSpVoice = NULL;

    if (FAILED(CoCreateInstance(CLSID_SpVoice, NULL,

        CLSCTX_INPROC_SERVER, IID_ISpVoice, (void **)&pSpVoice)))

    {

        cout << "Failed to create instance of ISpVoice!" << endl;

        return -1;

    }

    现在我们用它来说 "Hello World",非常简单:

pSpVoice->Speak(L"Hello World!", SPF_DEFAULT, NULL);

最后,一切

pSpVoice->Release();

CoUninitialize();

很容易,是不是?下面我稍微改一下:


 

IEnumSpObjectTokens *pSpEnumTokens = NULL;

if (SUCCEEDED(SpEnumTokens(SPCAT_VOICES, L"language=409", NULL, &pSpEnumTokens)))

{

    ISpObjectToken *pSpToken = NULL;

    while (SUCCEEDED(pSpEnumTokens->Next(1, &pSpToken, NULL)) &&

        pSpToken != NULL)

    {

        pSpVoice->SetVoice(pSpToken);

        pSpVoice->Speak(L"Hello World!", SPF_DEFAULT, NULL);

        pSpToken->Release();

    }

    pSpEnumTokens->Release();

}

如果只需要一 Voice,SpFindBestToken 更加方便:

ISpObjectToken * pSpObjectToken = NULL;

if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L"gender=female",

    NULL, &pSpObjectToken)))

{

    pSpVoice->SetVoice(pSpObjectToken);

    pSpVoice->Speak(L"Hello World!", SPF_DEFAULT, NULL);

    pSpObjectToken->Release();

}

在改使用中文:

ISpObjectToken * pSpObjectToken = NULL;

if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L"language=804",

    NULL, &pSpObjectToken)))

{

    pSpVoice->SetVoice(pSpObjectToken);

    pSpVoice->Speak(L"世界你好!", SPF_DEFAULT, NULL);

    pSpObjectToken->Release();

}

ISpVoice::Speak 可以允许朗读的句子中包含 XML 标记,其实以上这一切用 XML 标记将变得十分简单:

pSpVoice->Speak(L"世界你好!", SPF_DEFAULT, NULL);

    pSpVoice->Speak(L"Hello World!", SPF_DEFAULT, NULL);

最后,以一段简单报时结篇文章:

SYSTEMTIME st;

GetLocalTime(&st);

ISpObjectToken * pSpObjectToken = NULL;

if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L"language=804", NULL, &pSpObjectToken)))

{

    pSpVoice->SetVoice(pSpObjectToken);

    WCHAR wsz[128];

    swprintf(wsz,

        L"现在是%.4d-%.02d-%.2d %.2d:%.02d",

        st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute);

    pSpVoice->Speak(wsz, SPF_IS_XML, NULL);

    pSpObjectToken->Release();

}


 

http://www.hcilab.co.kr/demo/tts-1.asp



 


by 미친감자 | 2009/11/02 10:11 | 트랙백
오늘도 펌프질 을 해야 한다….


하루도 빼먹지 말고 하자….

나는 할 수있다고 ,,,나에게 외치자…..나는 할 수 있어

나의 마음속에 있는 풍선에 이렇게 바람을 불어 넣자..

by 미친감자 | 2009/10/30 14:28 | 트랙백
죽기 살기로 하는 분이 있다.


이 분 조용기 목사님은 기도하실 때. 이렇게 항상 간정하게 하신다.

한번도 눈을 뜨고 하신다거다 건성을 기도하시는 것을 보질 못했다.

by 미친감자 | 2009/10/26 13:42 | 트랙백
KongHee 목사님


Kong Hee 목사님 설겨전 기도하는 모습


찬양에 동참하시는 Kong Hee 목사님


설교하시는 Kong Hee 목사님

"What to do When you don't know what to do"

역대하 20:1~4, 12~14, 22~26

  1. 하나님께 눈을 돌려라.
  2. 하나님의 말씀에 집중해라.
  3. 떨지마라.
  4. 성령님을 기다려라
  5. 불가운데서 찬양하라


 

정말 재미게 설교를 해주셨다. 통역해주신 목사님도 정말 재미있게 통역해 주시었다.


 

by 미친감자 | 2009/10/26 09:28 | 트랙백
< 이전페이지 다음페이지 >