delphi - Microsoft speech api 5.1 GetVoices returns voices that don't exist on Windows 7 -


i'm migrating xp windows 7 64 bit. app compiled on xp machine works on xp. when run exe on w7 machine, list of voices returned getvoices follows:
microsoft anna
microsoft mary
microsoft mike
sample tts voice.

checking w7 speech properties dialog shows microsoft anna loaded on machine. checking registry @ hkey_local_machine/software/microsoft/speech/voices confirms this.

recompiling app on new windows 7 development machine creates exe duplicate above behavior. (the xp compiled code , w7 compiled code reproduce same error when executed under w7)

i'm developing in delphi 7 on windows 7 64 bit , i'm using microsoft speech object library (version 5.4) (note: 5.4 shows in import type library list).

i installed speechsdk51.exe onto w7 machine. came from:

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

the following code produces list of 4 voices on windows 7 though there should 1 voice:

procedure tform1.formcreate(sender: tobject);   var       i: integer;       sotoken: ispeechobjecttoken;       sotokens: ispeechobjecttokens;   begin       cbbvoices.clear;       sotokens := spvoice1.getvoices('', '');        := 0 sotokens.count - 1 begin           sotoken := sotokens.item(i);           cbbvoices.additem( sotoken.getdescription(0), tobject(sotoken) );           sotoken._addref;       end;   end;   

any suggestions on how deal problem?

thanks,
shawnh

microsoft anna 64-bit voice have other ones 32-bit engines. system can use 64-bit engine(anna) 1 can selected in panel. other ones installed well. if open file: /%windows%/systemwow64/speech/speechux/sapi.cpl see dialog similar 1 control panel able select 1 of voices standart voice.


Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -