- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试检测用户何时暂停并再次开始说话而不停止识别。这是我设置的用于检测用户何时说话并将其输出到页面的代码:
//set up vars
var final_transcript;
var recognizing = false;
//check if using chrome and up to date
if ('webkitSpeechRecognition' in window) {
//init
var recognition = new webkitSpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.onstart = function() {
recognizing = true;
};
//if there is error somewhere
recognition.onerror = function(event) {
console.log(event.error);
};
recognition.onend = function() {
recognizing = false;
};
//after giving the spech
recognition.onresult = function(event) {
var interim_transcript = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
// finilize and show the compleated text
final_transcript += event.results[i][0].transcript;
} else {
// run the speech and output it
interim_transcript += event.results[i][0].transcript;
}
}
final_transcript = capitalize(final_transcript);
final_span.innerHTML = linebreak(final_transcript);
interim_span.innerHTML = linebreak(interim_transcript);
};
}
var two_line = /\n\n/g;
var one_line = /\n/g;
function linebreak(s) {
return s.replace(two_line, '<p></p>').replace(one_line, '<br>');
}
function capitalize(s) {
return s.replace(s.substr(0,1), function(m) { return m.toUpperCase(); });
}
function startDictation(event) {
if (recognizing) {
recognition.stop();
return;
}
final_transcript = '';
recognition.lang = 'en';
recognition.start();
}
//startDictation();
<div id="results">
<span id="final_span" class="final"></span>
<span id="interim_span" class="interim"></span>
</div>
那么有没有办法检测用户何时暂停以及他暂停的时间长度?
最佳答案
这不是一个完整的答案,但它是一个开始。
https://jsfiddle.net/persianturtle/7uygdyy1/1/
我不确定 onspeechstart
事件是否只触发一次,或者如果我在噪音较小的区域它是否会再次触发。
如果它触发多次,这就变得非常容易做到,因为我们可以存储语音开始
和语音结束
时间,并从那里计算出静音时间。
如果它 onspeechstart
只触发一次,那么您可能可以找到一种方法来获取给定文本的平均语音持续时间,并从那里找出静音。
但是,每次捕获单词时都会触发一个事件:onresult
。
因此,基本思想是定义一个 activity
数组,您可以将语音数据push
到其中,然后分析之后的静默期。
代码:
let activity = []
recognition.onresult = event => {
console.log(event)
activity.push('Ended:' + event.timeStamp)
}
recognition.onspeechstart = event => {
activity.push('Started:' + event.timeStamp)
}
recognition.onend = event => {
console.log(activity)
}
关于javascript - 检测用户说话的时间 SpeechRecognition API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42740112/
我在 uipickerview 中有一个 uitextfield,我试图禁用任何类型的格式,我使用 UIResponderStandardEditActions 来禁用随之而来的所有操作,但我不知道如
如何让 Python 说出一些文字? 我可以将 Festival 与子进程一起使用,但我无法控制它(或者可能在交互模式下,但它不会是干净的)。 是否有 Python TTS 库?像 Festival、
在我的应用程序中,我想知道是否有任何可以阅读印地文文本的 tts 引擎。我的代码 tts.setLanguage(Locale.US); 很遗憾,Android 不支持印地语。请参阅下面支持的语言环境
@ 目录 创建页面布局 创建手势控件 创建TalkBox 创建动画 拖拽物动画
我有一个简单的 Angular 模态,是用 Angular ui.bootstrap 引发的。它打开得很好,传递值等,但不会关闭或取消。我认为这是 $scopes 的讨论问题。我知道每个模式都有自己的
scss基本上是sass功能的改进实现。我的工作区使用.scss文件。什么是正确的或通用的方式来指代scss时说?我们刚刚把这些文件称为“sass”文件。在只使用scss而不使用sass文件的环境中,
有谁知道我在哪里可以找到一个好的起点来编写一个函数,该函数接受一个字符串并将其转换为 leet speak? function stringToLeetSpeak($string) { // Lo
我目前正在实现视频通话应用程序,例如使用 Twilio Video 的 Google Hangout。我想在后台显示当时正在讲话的人的视频。 是否可以检测谁在使用 Twilio Video JS SD
所以我找到了这段代码: #!/usr/bin/python import sys #for cmd line argv import time #for delay import p
我想让我的机器人能够制作一个 webhook,由命令触发,然后 webhook 可以在一定间隔内说出消息。我想获取已创建的 webhook 的 token 和 id,然后将其放在一个持续不断的 set
我想让 Alexa 说出对意图的响应,但是通过手动调用包含 Alexa 技能代码的 Lambda 函数,而不是直接对 Echo 说出意图。 例如,您能否以某种方式(通过 AWS-SDK 或通过物联网“
我编写 Python 有一段时间了,但 DJango 和一般的 Web 编程对我来说是新的。 我在 Python View 中执行了一个很长的操作。由于我认为 local() 函数需要很长时间才能返回
我是一名优秀的程序员,十分优秀!