首页 > 解决方案 > 以编程方式将新 wordlist.txt 添加到 SAPI 字典

问题描述

我正在开发一个新的 Delphi 应用程序,它使用语音到文本听写作为其主要数据输入,所需的数据与医学术语特别相关,例如用户只需要输入任何或所有这些词(高血压、中风,心脏病,肾病,...等)。由于我对 COM 对象编程的知识非常有限,因此我正在寻找一种简单的解决方案来训练 sapi 5.4 关于那些可能有数百个医学术语的医学术语,方法是制作一个文本词表,并以编程方式将此列表引入 sapi 语音识别引擎。我希望它通过代码而不是通过 sapi 培训窗口或向导来完成。我尝试以下操作:通过将整个 wordlist.txt(大约 100,000 个单词)复制到名为 (WordList) 的 TFDTable 中,然后运行此代码,但运行失败且没有任何错误消息。

 Procedure TForm1.BtnClick( Sender : TObject );
Var
  Hr : HRESULT;
Begin
  Wordlist.First;
  While Not Wordlist.Eof Do
    Begin
      SpLexicon.AddPronunciation( Wordlist.FieldByName( 'Field1' )
          .AsString ,
        406 , SPPS_Noun , '' );
      If Hr = S_OK Then
        Wordlist.Next
      Else
        Begin
          ShowMessage( 'Failed' );
          Exit
        End;
    End;
  ShowMessage( 'OK' );
End;

我做错了什么?非常感谢您提前。

标签: delphisapi

解决方案


推荐阅读