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:
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
Post a Comment