【问题标题】:Pocket Sphinx for Xamarin Android适用于 Xamarin Android 的袖珍狮身人面像
【发布时间】:2023-04-10 05:34:01
【问题描述】:

我试图在pocketsphinx上对其语音识别功能进行Java绑定(我使用了aar方法),似乎我成功完成了Java绑定部分(没有错误),但在我调用后它崩溃了:

 Assets assets = new Assets(this);
 File assetDir = assets.SyncAssets();
 SpeechRecognizer recognizer = SpeechRecognizerSetup.DefaultSetup().SetAcousticModel(new File(assetsDir,"sync/en-us-ptm")).SetKeywordThreshold(1e-20f).SetDictionary(new Java.IO.File(assetsDir,"sync/cmudict-en-us.dict")).Recognizer;
 recognizer.AddListener(this);

我已经发现错误就行了:

 File assetDir = assets.SyncAssets();

SyncAssets() 方法需要 Assets.lst 的地方。如何自动生成 Assets.lst,如: PocketSphinx for Android tutorial 还是有人有其他有效的 java 绑定方法?

谢谢

【问题讨论】:

    标签: c# android xamarin pocketsphinx


    【解决方案1】:

    所以我尝试了几种方法,其中一种对我有用的是:

    1. 安装 Android Studio 和 SDK

    2. 在 Android Studio 上打开 pocketsphinx 演示项目

    3. 确保 pocketsphinx 的所有 assets 文件夹名称和路径都相同
    4. 构建!
    5. assets.lst 和 .md5 文件(针对每个文件)由 Android Studio 生成
    6. 将这些文件复制到 Visual Studio 项目中
    7. 完成!

    而且我创建识别器的方法也是错误的。应该是:

    SpeechRecognizerSetup.DefaultSetup().SetAcousticModel(new File(assetDir,"en-us-ptm")).SetKeywordThreshold(1e-20f).SetDictionary(new Java.IO.File(assetDir,"cmudict-en-us.dict")).Recognizer;
    

    (没有同步/)

    特别说明: 您必须将 pocketsphinx 的所有资产放在同步文件夹中 Click to see the Image

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      相关资源
      最近更新 更多