delphi - 以编程方式将新 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;
我做错了什么?非常感谢您提前。
解决方案
推荐阅读
- oracle - 在 LOV Oracle 表单中调用 GET_LIST
- sql - BigQuery 重复的 rank() 数字
- java - Java - 从文本文件中读取并将项目(字符串,数组列表)添加到哈希图中
- android - kotlin - 以编程方式为视图设置 aplha
- javascript - Javascript API GET 请求失败,代码为 404。服务器响应被截断
- python - 多维度上的 Tensorflow embedding_lookup
- python-3.x - 删除烛台_ohlc 图表中两个日期之间的空格
- html - 垂直下拉菜单未正确显示
- c++11 - C++在基类非静态函数中调用派生类静态函数
- python-3.x - 无法访问 rdkit 中 Chem.Atom 子类中的实例属性