在 sphinx4 5prealpha 中运行对话框演示时无法访问麦克风

2023-11-22

我正在尝试运行 sphinx 4 pre alpha 的对话框演示,但它给出了错误。

我正在创建一个实时语音应用程序。

我使用 Maven 导入了项目,并遵循了有关堆栈溢出的指南:https://stackoverflow.com/a/25963020/2653162

该错误表示有关 16 khz 和单声道通道的问题。很明显这是关于采样的事情。还谈到了麦克风。

我查看了如何将麦克风设置更改为 16 kHz 和 16 位,但 Windows 7 中没有这样的选项

: Only Options available in win 7

问题是 HelloWorld 和对话框演示在 sphinx4 1.06 beta 中运行良好,但在我尝试最新版本后,它出现以下错误:

Exception in thread "main" java.lang.IllegalStateException: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
    at edu.cmu.sphinx.api.Microphone.<init>(Microphone.java:38)
    at edu.cmu.sphinx.api.SpeechSourceProvider.getMicrophone(SpeechSourceProvider.java:18)
    at edu.cmu.sphinx.api.LiveSpeechRecognizer.<init>(LiveSpeechRecognizer.java:34)
    at edu.cmu.sphinx.demo.dialog.Dialog.main(Dialog.java:145)
Caused by: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
    at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(DirectAudioDevice.java:513)
    at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:121)
    at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:413)
    at edu.cmu.sphinx.api.Microphone.<init>(Microphone.java:36)
    ... 3 more

不知道该怎么做才能解决这个问题。


如果你修改SpeechSourceProvider要返回恒定的麦克风引用,它不会尝试创建多个麦克风引用,这是问题的根源。

public class SpeechSourceProvider {
    private static final Microphone mic = new Microphone(16000, 16, true, false);

    Microphone getMicrophone() {
        return mic;
    }
}

这里的问题是,您不希望多个线程尝试访问单个资源,但对于演示,识别器会根据需要停止和启动,这样它们就不会全部竞争麦克风。

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

在 sphinx4 5prealpha 中运行对话框演示时无法访问麦克风 的相关文章

随机推荐

  • 地址栏中的 JavaScript - 这是恶意的吗?

    我在 Facebook 上收到一条消息 要求我将其复制并粘贴到我的地址栏中 我想我应该把它发布在这里 看看大家对此有何看法 它有什么作用 它是如何工作的 这是源代码 DO NOT DO THIS Javascript var a x69 x
  • 序列化异步有很多关系

    我对 EmberJS 相当陌生 我整个晚上都在摆弄 试图在我正在开发的新应用程序中保留一些 hasMany 和多对多关系 我正在使用 Ember DataActiveModelAdapter将其连接到我正在使用的 Rails 后端Activ
  • Angular JS,“nomod”,模块“{0}”不可用!你要么拼写错误

    这是我的index html中的代码
  • 出生日期验证不断显示

    我正在输入一个DOB 22 12 1986进入我的文本框 验证不断触发 它说 The field DOB must be a date My MODEL System ComponentModel DisplayName DOB Displ
  • 如何加密 cookie 值?

    如何在 PHP 中加密并随后解密 cookie 值 加密的安全性如何 有多种不同的方法可以对 cookie 和其他地方的信息进行加密 加密强度将根据您选择进行实际加密的方法而有所不同 mycrypt是一个很好的起点 看这个答案有关使用 mc
  • 在 gRPC 客户端服务器通信中使用 SSL

    我对 SSL TLS 一无所知 并且正在尝试按照网上找到的说明在 gRPC 中使用 SSL TLS 通道 这是服务器代码 std string server address 0 0 0 0 50051 GreeterServiceImpl
  • jpa hibernate @OneToOne @JoinColumn referencedColumnName 被忽略

    我在对与另一个具有一对一关系的实体执行 jpql 查询时遇到意外行为 关键点在于 关系是从根实体的主键到目标实体的字段 不是 ID 这是示例 root entity Entity Table name PERSON public class
  • 将 Picasso 与 Image Getter 结合使用

    我正在构建一个聊天应用程序 并尝试将图像附加到 EditText 通过使用 Picasso 从 URL 获取图像 并使用附加和 ImageGetter 将图像附加到 EditText 但是 我在下面实现的内容不起作用 因为使用应用程序时附加
  • 在 2 行 Gridview 之间添加视图

    我有一个 GridView 每行有 3 个元素 当我单击一个项目时 该行下方会出现一个新视图 它有点像 iOS 上的文件夹应用程序 我在 SO 或 Google 上没有找到任何答案 也许你可以给我一些提示 您可以轻松地做到这一点GridLa
  • Android AsyncTask - 执行顺序

    我面临有关 AsyncTasks 执行顺序的问题 我的问题是 假设我有 AsyncTask 的 2 个实现 我的异步任务1 and 我的异步任务2 按以下方式调用 new MyAsyncTask1 execute new MyAsyncTa
  • 按钮边框颜色问题

    我使用以下 HTML 和 CSS 代码创建了一个按钮 btnstyle2 height 28px text align center background color F8F8F8 border radius 3px border colo
  • Spark List 中的 itemChangeEffect 等效项是什么?

    在 Flex 3 中 使用 List 组件 您可以向 itemChangeEffect 属性添加效果 从而允许您以动画方式添加 删除列表控件中的项目 Spark 列表中的等效项似乎是 rendererAdd 和 Removed 事件 但这不
  • 16:9 宽高比,固定宽度

    例如 如果我要嵌入 YouTube 视频 使用 jQuery 我会设置纵横比为 16 9 的高度 因此如果宽度为 560 则高度应为 315px 我有这个 jquery 来设置高度 但我不知道如何应用 16 9 比例 player pare
  • Python - 从可执行文件运行时,Multiprocessing.processes 成为主进程的副本[重复]

    这个问题在这里已经有答案了 我刚刚在我的程序中发现了一个与 Python 多处理模块的使用相关的奇怪错误 当我在我的机器上从源代码运行程序时 一切正常 但我一直使用 pyinstaller 将其构建为可执行文件 并且由于某种原因 当我运行从
  • JAXB:所有元素都需要命名空间前缀

    我正在使用 Spring WebServiceTemplate 进行 Web 服务调用 该调用使用 JAXB 生成请求 XML 我的要求需要 SOAP 请求中的所有元素 包括根 都具有名称空间前缀 只有一个名称空间 Ex
  • 以编程方式从 Google Play 商店下载 APK

    我正在创建一个 Android 应用程序 它依赖于其他一些 Android 应用程序 因此 如果这些依赖的应用程序尚未存在于用户的移动设备上 我想以编程方式从游戏商店下载它们 但在此过程中 我不希望控件转到 Play 商店应用程序 即不应显
  • iOS 8:UIAlertView / UIAlertController 不显示文本或按钮

    我有一个 UIAlertView 它在 iOS 7 中完美显示 但在 iOS 8 中 它不显示任何按钮或标签 警报仍然可见 但只是一个小白框 确定 和 取消 按钮也会接收其事件 但看不到任何文本 我已使用此警报在单击按钮时显示 IBActi
  • 重用 WCF 代理当前程序集中的类型

    VS WCF 集成有一个很好的选项 在引用的程序集中重用类型 问题是我需要相同的东西 但对于当前的程序集 有些类型已在我的程序集中定义 我需要重用它们 使用场景 我有组装 这里有 TypeA 我向其中添加了服务引用 其中一种方法返回与 Ty
  • display.getRealMetrics() 已弃用

    我正在使用 getRealMetrics 方法并发现它已被弃用 val display this display display getRealMetrics outMetrics 任何人都知道替代方案是什么 据官方称docs推荐的方法是使
  • 在 sphinx4 5prealpha 中运行对话框演示时无法访问麦克风

    我正在尝试运行 sphinx 4 pre alpha 的对话框演示 但它给出了错误 我正在创建一个实时语音应用程序 我使用 Maven 导入了项目 并遵循了有关堆栈溢出的指南 https stackoverflow com a 259630