问题标签 [voice-recognition]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
568 浏览

android - 语音搜索对话框准备好接受输入时的音频信号?

谷歌语音搜索从您通过 startActivityForResult() 调用它的那一刻起,直到它的对话框出现,准备好接受您的演讲,都会有很大的延迟。

这要求用户在说话之前总是看着屏幕,等待对话框显示出来。

当语音搜索准备好接受语音输入时,添加“叮”声或其他一些非视觉提示会很好。

这可能吗?

如果是这样,该怎么做呢?

0 投票
3 回答
4708 浏览

c# - 单声道语音识别

有没有办法将语音识别功能添加到单声道应用程序。有一个 System.Speech(在 .net 中)和 Microsoft.Speech(在 MS Speech Platform 中)命名空间,但我在 Mono 中找不到任何命名空间。那么如何在 Mono 中添加语音识别功能呢?

0 投票
4 回答
5250 浏览

iphone - 如何在 iOS 上比较两个语音样本?

首先,我想说的是,我的问题并不是关于语音识别的“经典”定义。

在以下意义上,我们正在尝试做的事情有些不同:

  1. 用户记录他的命令
  2. 稍后,当用户说出预先录制的命令时,就会发生某种动作。

例如,我录制了一个呼叫妈妈的语音命令,所以我点击她并说“妈妈”。然后当我使用该程序并说“妈妈”时,它会自动呼叫她。

如何将口述命令与保存的语音样本进行比较?

编辑:我们不需要任何“文本到语音”的能力,只需要比较声音信号。显然,我们正在寻找某种现成的产品或框架。

0 投票
3 回答
4011 浏览

android - Android:语音识别显式停止?

我知道您可以通过调用来增加考虑输入完成的时间:

但是,在启动 Android 语音识别活动之后,有没有办法明确地停止它,比如在收到“关键字”之后。

0 投票
3 回答
3523 浏览

iphone - iOS的声学指纹代码?

我已经开始为我的 iOS 宠物项目寻找声学指纹 (http://en.wikipedia.org/wiki/Acoustic_fingerprint) 的主题,我想知道是否有:

  1. 任何处理此问题的 iOS 开源库或源代码?
  2. 假设我是所有行业的资深程序员,如果没有开源版本,我自己实现这个会不会很成问题?
  3. iOS 中的 Accelerate DSP 库能否处理这样的任务?

谢谢

0 投票
3 回答
4102 浏览

android - 直接使用 SpeechRecognizer API - onResults() 不断返回 null

我一直在尝试遵循这篇文章中的示例

由于我不是试图在服务中而是在标准活动中实现这一点,所以我没有遇到上述帖子中描述的问题。

但是,我不断收到“没有语音结果”-正如该帖子中所实现的那样,当getStringArrayList(RecognizerIntent.EXTRA_RESULTS)返回 null 时。

显然,除了

我错过了什么?

是否有可能除了 startListening() 我还需要 startActivityForResult()?如果是这样,我已经尝试过了,但它调用了完整的谷歌语音搜索活动(这是我试图避免的,就像@vladimir.vivien 在这里写的那样)。由于同时运行 2 个识别器,这会产生更多问题......

起初我认为缺少的是实际提交到 Google 的服务器,但是当我检查从语音识别会话开始到结束的 LogCat 输出(见下文)时,我发现它实际上创建了一个带有http://的 TCP 会话:/ /www.google.com/m/voice-search

所以显而易见的问题是我错过了什么?

0 投票
3 回答
1603 浏览

android - RecognitionListener.onReadyForSpeech() 中的 DTMF 音调被误认为是语音

谷歌语音搜索从您通过 startActivityForResult() 调用它的那一刻起,直到它的对话框显示,准备好接受您的演讲,都会有很大的延迟。

这要求用户在说话之前总是看着屏幕,等待对话框显示出来。

因此,我正在考虑通过实现 RecognitionListener 并在 onReadyForSpeech() 中发出 DTMF 音来生成可听信号而不是对话框,如下面的片段:

音调听起来很美,但是......它也被麦克风“听到”,到达语音识别服务并总是产生识别错误ERROR_NO_MATCH

有没有办法解决这个问题?

0 投票
1 回答
3433 浏览

android - Android SpeechRecognizer:stopListening() 与 cancel()

仅从名称中,我可以得出stopListening()与startListening()相反。

我也可以理解destroy()与createSpeechRecognizer()相反。

但是cancel() ... 与什么相反?

我在文档中能找到的只是:

取消语音识别。

cancel() 与 stopListening() 有何不同?

0 投票
4 回答
7574 浏览

android - 如何处理 ERROR_RECOGNIZER_BUSY

在我的基于语音识别的应用程序中,我有时会收到 ERROR_RECOGNIZER_BUSY。直观地说,这需要... retries,对吗?

问题是这个错误是非常无证的,所以很明显我有一些问题,也许该领域更有经验的人能够回答:

  1. 是什么触发了这样的错误?它真的只有繁忙的服务器(在谷歌)吗?或者这也可能暗示我的应用程序中的错误?
  2. 我是否必须在重试之前明确关闭/重新打开会话?
  3. 多久重试一次?每1秒一次?每 5 秒?其他?

非常欢迎您的经验丰富的见解。谢谢。

0 投票
3 回答
5855 浏览

android - RecognitionListener.onError() 会自动 SpeechRecognizer.cancel() 吗?

由于各种原因,我需要使用原始SpeechRecognizerAPI 而不是更简单的RecognizerIntent(RECOGNIZE_SPEECH)活动

这意味着,除此之外,我需要处理好RecognitionListener.onError()自己。

针对一些错误,我只想重新开始听。这看起来很简单,但是当我调用SpeechRecognizer.startListening()错误时,有时似乎会触发两个不同的错误:

这暗示我应该在尝试SpeechRecognizer.startListening()再次调用之前进行一些清理。

如果这是真的,则意味着在出现 RecognitionListener 错误时,侦听不会自动停止和/或取消。

也有可能某些错误会停止/取消侦听,而其他错误则不会。实际上只有 9 个SpeechRecognizer错误:

  1. ERROR_NETWORK_TIMEOUT
  2. ERROR_NETWORK
  3. ERROR_AUDIO
  4. ERROR_SERVER
  5. ERROR_CLIENT
  6. ERROR_SPEECH_TIMEOUT
  7. ERROR_NO_MATCH
  8. ERROR_RECOGNIZER_BUSY
  9. ERROR_INSUFFICIENT_PERMISSIONS

由于文档没有非常详细地说明哪些错误会取消收听,哪些不会,根据您的经验,您是否碰巧知道哪些错误需要在再次尝试之前SpeechRecognizer.startListening()进行清理(以及在何种程度上) ?