Написал код преобразующий текст в голос и сохраняющий его в wav файл, но файл получается битым и открывается только VLC плеером PHP: //========= Copyright © 2009, Fire64, All rights reserved. ============ // // Purpose: // // $NoKeywords: $ //============================================================================= #include <stdio.h> #include <string.h> #include <sapi.h> #include <tchar.h> int main( int argc, char **argv ) { wchar_t *m_sText = L"This sounds normal but the pitch drops half way through"; ISpStream *spStream = NULL; ISpVoice * pVoice = NULL; WAVEFORMATEX _fmt; if (FAILED(CoInitialize(NULL))) { return 0; } CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice); CoCreateInstance(CLSID_SpStream, NULL, CLSCTX_ALL, IID_ISpStream, (void **)&spStream); _fmt.wFormatTag=WAVE_FORMAT_PCM; _fmt.nChannels=1; _fmt.wBitsPerSample=16; // 16 bit _fmt.nSamplesPerSec=44100; // 44 khc _fmt.nBlockAlign=2; _fmt.nAvgBytesPerSec=88200; _fmt.cbSize=0; spStream->BindToFile(L"out.wav", SPFM_CREATE_ALWAYS, &SPDFID_WaveFormatEx, &_fmt,SPFEI_ALL_EVENTS); pVoice->SetOutput( spStream, TRUE ); pVoice->Speak(m_sText, 0, NULL); pVoice->Release(); pVoice = NULL; CoUninitialize(); return 0; }