- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一款可以检测某些关键词的应用程序。我一直在使用googles web speech。
我可以录制用户的声音并将其打印出来,但我希望能够检测到某些词。
我似乎找不到这样做的方法。我发现了这个问题 Detecting known words using the Web Speech API但是它链接到的答案中的网站已经消失了。
任何人都可以阐明这一点吗?任何帮助都会很棒。干杯! here is a fiddle
var recognition = new webkitSpeechRecognition(); // google voice recognition start
recognition.continuous = true; //so that recognition will continue even if the user pauses while speaking
document.getElementById('startSpeech').addEventListener('click', function() {
startSpeech();
});
document.getElementById('stopRecognizing').addEventListener('click', function() {
stopRecognizing();
});
var startSpeech = function(){
var lang = ['en-GB', 'United Kingdom'];
final_transcript = '';
recognition.lang = recognition.lang
recognition.start() //activates the speech recognizer
}
var stopRecognizing = function(){
recognition.stop();//stops the mic from listening
return;
}
recognition.onresult = function(event) {
console.log('event', event);
// This handler concatenates all
// the results received so far into two strings final_transcript & interim_transcript
var interim_transcript = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
final_transcript += event.results[i][0].transcript;
} else {
interim_transcript += event.results[i][0].transcript;
}
}
//final_transcript = capitalize(final_transcript);
final_span.innerHTML = linebreak(final_transcript);
interim_span.innerHTML = linebreak(interim_transcript);
// console.log('final_transcript' , typeof final_transcript);
// console.log('interim_transcript' , interim_transcript);
if (final_transcript.length > 0) {
matchingKeyWords(final_transcript);
}
};
function linebreak(s) {
var two_line = /\n\n/g;
var one_line = /\n/g;
return s.replace(two_line, '<p></p>').replace(one_line, '<br>');
}
function capitalize(s) {
var first_char = /\S/;
return s.replace(first_char, function(m) { return m.toUpperCase(); });
}
var matchingKeyWords = function(conversation){
var keyWords = ['power', 'tie', 'imaginary' ,'bomb', 'drink', 'underwear', 'chance', 'type', 'historical',
'society' ,'collect' ,'sugar']
for (var i = 0; i < keyWords.length; ++i) {
console.log(conversation[0]);
if (conversation === keyWords[1]) {
console.log('hit');
}
// console.log('keyWords[i]', keyWords[i]);
}
}
最佳答案
您绝对不能以任何方式修改 API 以附加字典或影响结果。
HOWEVER 您可以将结果归结为语音相似的词,从而影响代码的解释。
目前您似乎正在对某些词进行“精确”匹配。因此,如果引擎认为它听到的是“Thai”而不是“Tie”……那么结果将不会产生匹配。
解决方案是在匹配逻辑中添加“模糊性”。 您是否考虑过像FuzzySet.js 这样的图书馆? ?
您可以通过搜索“模糊字符串匹配 JS”或“语音相似 JS”之类的内容找到更多示例
关于javascript - 网络语音 API "Detecting known words",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38208060/
016-03-07T09:10:16.992-0600 W NETWORK [HostnameCanonicalizationWorker] Failed to obtain name info f
我有一个工作的 C 程序,其中字符串数组的长度在编译时已知。它是: char array_person_name[3][101]; char person_name[101] = ""; ... st
我正在做一个需要Graph DB 的项目。我正在使用 C# .Net Core 开发项目。我不得不选择 ArangoDB 作为这个项目的 Graph DB。不幸的是,.Net 没有官方驱动程序。这就是
我正在尝试使用 DataContractSerializer 将对象序列化为 Xml。我有以下类(class); [ActiveRecord(Lazy = true)] [KnownType(type
我有: 身份服务器 4, 具有 OpenId Connect 和混合流的 Mvc 应用 WebApi 应用 假设用户已经获得带有 id_token 和访问 token 的 cookie。然后他从 mv
我有: 身份服务器 4, 具有 OpenId Connect 和混合流的 Mvc 应用 WebApi 应用 假设用户已经获得带有 id_token 和访问 token 的 cookie。然后他从 mv
我有一个简单的 Asp.Net Core Azure Web 应用程序,需要向本地 Rest 服务发出 http get 请求。此 Rest 服务托管在 IIS 上,仅针对端口 443 设置了绑定(b
这个问题可能是一个很好回答的问题,但不幸的是我不知道正确的术语来正确地问它,所以...... template class __bit_iterator; 有人可以在这里解释最后一个模板参数吗?我唯
在基于ASP.NET Core 1.1.1开发的VS2017 Ver 15.3.3应用程序中,我使用Account confirmation and password recovery in ASP.
我有一个应用程序(aspnet core app 3.1),在启动期间使用以下代码从 azure blob 存储加载数据: BlobClient client = new BlobClient(loa
我有一个应用程序(aspnet core app 3.1),在启动期间使用以下代码从 azure blob 存储加载数据: BlobClient client = new BlobClient(loa
我想知道如何查询Wikidata通过使用别名(“也称为”)。 现在我正在努力 SELECT ?item WHERE { ?item rdfs:aliases ?alias. FILTER(CONTAI
这是一个 PNG 类,在类文档中列出了两个构造函数,如下所示。 PNG::PNG ( string const & file_name ) Creates a PNG image
这就是我目前拥有的,以及我的教授提供的扫描仪。 #include "Similarity.h" #include "Scanner.h" using namespace std; int Simila
我想从我的 asp 页面连接到 mysql 数据库。因此,根据我的托管服务提供商的说法,我使用了连接字符串,其中服务器被指定为“localhost:3309” Dim myConnection As
我正在尝试集成的第三方应用程序,要求将文件放入 .well-known文件夹。如何使该文件可从 URL 访问? ( example.com/.well-known/token.txt )。站点部署为
尝试学习 Hibernate,我正在尝试学习如何执行 NamedQuries但每次我都会收到 Exception in thread "main" org.hibernate.MappingExcep
我正在尝试将 PWA 发布到 Google Playstore。我被困在数字 Assets 握手中。 这是我的 nginx conf - location /asd/ { default_t
我正在尝试设置 wordpress xml-rpc带 rails : blog = XMLRPC::Client.new("localhost/blog", "/xmlrpc.php", 80) 但是
我在我的 nginx 配置中有这个: location ~ /\. { deny all; } location /.well-known/ { allow all; } 但是我还是不
我是一名优秀的程序员,十分优秀!