无法启动服务? (语音识别)

2023-12-27

我想在服务中使用 pocketsphinx 连续收听“hello”这个词

我得到了错误。这里是完整的堆栈跟踪 https://gist.github.com/anonymous/d68e9ac7e5d98315a5a4。这是其中的一小部分。

Unable to create service curlybrace.ruchir.myApp.MyService: java.lang.RuntimeException: new_Decoder returned -1

其原因是这样的:

            setupRecognizer(assetDir); //SETUP

和这个:

                .getRecognizer();

In my onCreate:

 Log.v(TAG, "Voice recognition activated!");

        //Register voice recog listener :)

        Assets assets = null;
        try {
            assets = new Assets(MyService.this);
            File assetDir = assets.syncAssets();
            setupRecognizer(assetDir); //SETUP

            Log.v(TAG, "Set up listener");
        } catch (IOException e) {
            e.printStackTrace();
        }

这是我的setupRecognizer method:

  private void setupRecognizer(File assetDir) throws IOException {

        recognizer = defaultSetup()
                .setAcousticModel(new File(assetDir, "hmm/en-us-semi"))
                .setDictionary(new File(assetDir, "lm/cmu07a.dic"))
                .setKeywordThreshold(1e-5f)
                .getRecognizer();

        recognizer.addListener(this);
       // recognizer.addKeywordSearch("Hello", assetDir); //I don't know what this does...
    recognizer.startListening("Hello"); //Start listeneing


    }

这是实现的方法之一:

@Override
    public void onPartialResult(Hypothesis hypothesis) {

        String text = hypothesis.getHypstr();
        if (text.equals("Hello")) {
            //  do something

            Log.v(TAG, "SPEECH RECOGNIZED HELLO!");
        }

    }

如果有任何反馈,我将不胜感激。正面的、负面的,甚至是评论。经过两天的尝试,此时我绝望了!


你有这个:

private void setupRecognizer(File assetDir) throws IOException {
        recognizer = defaultSetup() 
                .setAcousticModel(new File(assetDir, "hmm/en-us-semi"))
                .setDictionary(new File(assetDir, "lm/cmu07a.dic"))
                .setKeywordThreshold(1e-5f) 
                .getRecognizer(); 
        recognizer.addListener(this);
       // recognizer.addKeywordSearch("Hello", assetDir); //I don't know what this does... 
    recognizer.startListening("Hello"); //Start listeneing 
    } 

尝试将其更改为这样:

private void setupRecognizer(File assetDir) throws IOException {
        recognizer = defaultSetup() 
                .setAcousticModel(new File(assetDir, "hmm/en-us-semi"))
                .setDictionary(new File(assetDir, "lm/cmu07a.dic"))
                .setKeywordThreshold(1e-5f) 
                .getRecognizer(); 
        recognizer.addListener(this);

    //Add this:
    File digitsGrammar = new File(modelsDir, "grammar/digits.gram");
    recognizer.addKeywordSearch(DIGITS_SEARCH, digitsGrammar);
    } 

要开始语音侦察,请从按钮调用此方法。当它工作时,从服务调用它,以使事情变得更简单:

    recognizer.startListening("Hello"); //Start listeneing 

现在,创建一个名为digits.gram的新文件,并将其放入此处名为的文件夹中:/youProjectRootFolder/grammar/digits.gram该文件实际上是一个 .txt 文件,但在将此文本放入其中后,请将扩展名更改为 .gram:

hello /1e-1/
hi /1e-1/
bye /1e-1/
goodbye /1e-1/
...etc. /1e-1/

在这里你会发现类似的情况:使用 PocketSphinx 识别多个关键字 https://stackoverflow.com/questions/25748113/recognizing-multiple-keywords-using-pocketsphinx/25749324?noredirect=1#comment58501150_25749324祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法启动服务? (语音识别) 的相关文章

随机推荐

  • SQLite数据库-选择两个日期之间的数据?

    我想按日期选择数据 从一个日期到另一个日期 所以我有这个查询 SELECT FROM mytalbe WHERE date BETWEEN 2014 10 09 AND 2014 10 10 但这个查询只返回数据 2014 10 09 排除
  • 为什么 rownames(installed.packages()) 有一个名称属性?

    我有以下功能供个人使用 它需要输入作者的名字来查看我的机器上是否有他们的任何软件包 authoredPackages lt function author s lt sapply rownames installed packages pa
  • 为学说集合中的每个实体构建一个具有复选框的表单

    我正在显示一个经过过滤的实体集合的 html 表 并且我想在每行中显示一个复选框作为表单的一部分 该表单会将所选实体添加到会话变量中 我认为每个复选框都应该将实体 id 作为其值 并且我将从表单字段数据中获取 id 数组 好吧 所以该值应该
  • 如何获取 PostgreSQL 中聚合的定义/源代码?

    我发现这个相关答案很有用 从 PostgreSQL 导出 创建聚合 函数 https stackoverflow com questions 15112971 export create aggregate functions from p
  • 始终以基本形式处理 PreviewKeyDown 事件

    我们需要在基本表单中处理此事件 无论当前哪些控件具有焦点 我们有几个全局关键命令 无论控制焦点如何 它们都需要工作 这是通过正常处理表单中的 PreviewKeyDown 事件来实现的 当我们将用户控件添加到表单时 该事件不再触发 我在这里
  • 在 repl.it 上运行discord.py bot时如何解决“429:太多请求”?

    我的代码 见下文 运行良好 但随后弹出此错误并且不会消失 http py line 293 in static login data await self request Route GET users me File opt virtua
  • 通过ajax将当前页面html发送回服务器

    在我的应用程序中 我通过 jquery ajax 将网页的 html 发送回服务器 因为我需要在服务器中存储此页面的副本 代码如下 document ready function var pcontent document body inn
  • 如何使用自定义文档根在 Apache 2.4 中显示目录索引

    我在 Ubuntu 13 10 中的 Apache 2 4 中遇到问题 我尝试将文档根目录更改为 home fandi public html 一切工作正常 但我尝试在 public html 中创建文件夹 但收到如下错误 Sat Jan
  • 这个 Coldfusion 查询 SQL 注入证明吗?

    通常 我在应用程序中使用整数 id 但对于这个开发 我正在文本字段 标签名称 上进行查找 我确实使用了 cfqueryparam 但考虑到它是一个文本字段 它是否容易受到 SQL 注入攻击 如果是这样 除了繁琐地搜索 SQL 命令的字符串之
  • 我可以使用layout_weight来定位RelativeLayout吗?

    我一整天都在努力让它发挥作用 我想我可以使用RelativeLayout android layout weight 0 3 将三个按钮放置在屏幕右侧 不居中 而是距顶部向下 30 这可能吗 如果可以我该怎么做 以下是我的 XML 其中显示
  • 允许的内存大小 php.ini

    我有一个 Symfony 4 应用程序 我上传文件有 2MB 限制 这个限制有效 在开发环境中一切正常 图像上传得很好 但在产品中 我总是收到相同的消息 Fatal error Allowed memory size of 13421772
  • 泛型函数类型中的通用量化

    正在阅读paper http lucacardelli name Papers OnUnderstanding A4 pdf关于编程语言中的类型和多态性 我想知道是否可以用 Scala 表达类型成员上类似的通用量化 论文中的示例 type
  • 如何使用 Postgres 和 Tomcat7 JDBC Pool 配置PreparedStatement 缓存?

    我将 Tomcat7 与 Postgres 9 1 结合使用 将 JPA 与 Hibernate 结合使用 并且我想配置准备好的语句池 我通过查看 postgres 查询日志看到的正常默认行为是看到许多 PARSE BIND 对同一查询执行
  • 在 NanoHTTPD 中检索 HTTP 正文

    如何检索 HTTPPOST实施时请求主体纳米HTTPD http nanohttpd coms serve method 我尝试过使用getInputStream 的方法IHTTPSession已经 但我总是得到一个SocketTimeou
  • 如何模拟cmd-shift-4截屏界面?

    我正在构建一个 OSX 应用程序 并希望使用与 cmd shift 4 UX IE 启动操作类似的界面来捕获屏幕的一部分 呈现一个鼠标光标 mouseDown 并拖动 mouseUp 捕获屏幕坐标 同时绘制半透明覆盖层以表示正在捕获的区域
  • 每 n 个添加类

    我有一个元素列表 我想用 3 种不同的方式设置它们的样式 我希望每个第三个列表项在整个列表中都具有相同的类 例如 li class A Some Content li li class B Some Content li li class
  • 具有特定范围的 angularjs 部分模板

    我想在主模板中包含一个部分模板 但在调用部分模板时具有特定的范围 例如 这是我的主模板 非常简化 实际模板更复杂 所以这里不能使用 ng iterate h1 title my item1 name is item1 name h1 div
  • 如何在 JBoss 中配置 ActiveMQ JCA 连接器以使用 XA 连接?

    在 JBoss 5 1 0 上 我使用 ds xml 标准 jboss DS 配置了数据源 PostgreSQL 8 3 11 它使用 XADataSource PGXA数据源 http jdbc postgresql org develo
  • 我正在尝试编写一段 Javascript 以定时间隔在两个视频之间切换 不要问 更糟糕的是 每个视频都必须从特定位置开始 大约十秒 再次强调 不要问 我通过使用 YUI 异步库来定期切换视频来了解基础知识 YUI use async que
  • 无法启动服务? (语音识别)

    我想在服务中使用 pocketsphinx 连续收听 hello 这个词 我得到了错误 这里是完整的堆栈跟踪 https gist github com anonymous d68e9ac7e5d98315a5a4 这是其中的一小部分 Un