Разговаривающая по английски программа - это просто

  • Автор темы uis99
  • Дата начала
U

uis99

#1
По-русски никто не знает как сделать?
Прилагаю код и прогу консольного приложения, говорящего слова и фразы, набираемые с клавиатуры, на инглиш.
Проверьте, плис, работает ли под ХР, я делал под вистой.
Использовал SpeechAPI от Билла.
По-русски не могу заставить говорить.

Код:
#include <sapi.h>

int _tmain(int argc, _TCHAR* argv[])
{
ISpVoice * pVoice = NULL;

if (FAILED(::CoInitialize(NULL)))
return FALSE;

HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
if( SUCCEEDED( hr ) )
{
hr = pVoice->Speak(L"Hello world", 0, NULL);

// Change pitch
//hr = pVoice->Speak(L"This sounds normal <pitch middle = '-10'/> but the pitch drops half way through", SPF_IS_XML, NULL );

wchar_t phrase[1024]=L"yes";
do{
puts("Enter Phrase:");
_getws(phrase);
hr = pVoice->Speak(phrase, 0, NULL);
}while(phrase[0]!=0);

pVoice->Release();
pVoice = NULL;
}

::CoUninitialize();

return 0;
}
 

Вложения

04.09.2006
2 566
3
#2
Хм, я не специалист в данном вопросе, но на сколько знаю, для поддержки русского языка должен быть установлен специальный движок
 
U

uis99

#3
Программа говорит без всякого словаря (150 кб - какой тут словарь)
то есть все это встроено в винды
но даже русифицированные винды при наборе букв кириллицы чего-то мыкают и замолкают
 
04.09.2006
2 566
3
#4
Причем тут словарь и 150 КБ? Зайди в панели управления на закладку "Речь", посмотри какие движки у тебя установлены и попытайся там же заставить их говорить по-русски
 
U

uis99

#5
В настройках речи нормально говорит только Microsoft Anna, Michael говорит от Windows, но бормочет что-то непонятное от программы. Дво оставшихся вообще не запускаются, Винды говорят о невозможности их выбрать.
Анна говорит нормально, но если дать ей русский тект, произносит по буквам, и буквы не русские, а похоже, по-китайски.
Похоже, надо скачивать локализацию SpeechSDK.
 
S

skysun

#6
можно по-пробовать ActiveX - MS Agent. Сам непробовал, но наши 1с-ки баловались! :D
 
04.09.2006
2 566
3
#7
<!--QuoteBegin-uis99+2:12:2007, 23:36 -->
<span class="vbquote">(uis99 @ 2:12:2007, 23:36 )</span><!--QuoteEBegin-->Похоже, надо скачивать локализацию SpeechSDK.
[snapback]88000" rel="nofollow" target="_blank[/snapback]​
[/quote]
Не локализацию SDK, а нормальный голосовой движок