草庐IT

语音分离

全部标签

javascript - 语音识别和getUserMedia

我正在构建一个Web应用程序并计划同时使用speechRecognition和navigator.getUserMedia用于音频输入。我注意到我的桌面浏览器(Mac上的Chrome,v.31.0.1650.63)两次请求使用麦克风的权限。虽然这对用户来说可能有点烦人,但语音识别和音频输入似乎都有效。但是,如果我在Android(Nexus7,Androidv4.4.2;Chromev31.0.1650.59)上打开同一个页面,它会两次询问是否允许使用我的麦克风,但我只能使用两者之一(以先开始的为准)。有时,即使我已授予访问麦克风的权限,我也会收到语音识别错误:“不允许”错误。我做了一

javascript - 分离并重新连接鼠标滚轮事件监听器不重置滚动惯性

我正在使用jquery-mousewheel触发功能的插件。当我调用moveit时,我会分离监听器并等待动画完成,然后重新附加监听器。问题是,当我重新附加它时,鼠标滚轮插件仍在监听某些鼠标/触控板的惯性,并反复调用moveit。我想在我的特定情况下,去抖动或限制函数调用不是好的解决方案,因为惯性仍然存在,而且我还希望为其他可能的moveit调用立即附加监听器。有没有办法通过完全重置鼠标滚轮事件来“消除惰性”,而不是仅仅将其分离?$(document).ready(function(){vartween;varslide=$('#slide');functionbodyListen(){

javascript - web speech api语音合成-获取语音列表

我在使用网络语音API时遇到了一个奇怪的问题。我已经设置了一些代码来说出一串文本——很少,它会用正常的声音说出来(MacOSX中听写和语音设置中的“Alex”)。但通常情况下,它会用“Albert”的声音说话。我正在查看此处列出的w3c网络语音API:https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-ttsgetvoices还有一个接口(interface)叫做SpeechSynthesisVoiceList{}我正在尝试访问此功能,但我不能。我如何访问此语音列表?我正在使用chromecanary,我已

javascript - 为什么我的 Speech Synthesis API 语音在功能运行超过 1 次时会发生变化?

我一直在使用Chrome(33及更高版本)中的新语音合成API来制作基于网络的通信辅助工具。我希望用户能够改变男性和女性之间的声音,API允许我这样做。但是,当页面首次加载和函数第一次运行时(从onclick事件),它使用默认的女声。然后任何时候运行它,它都会使用我想要使用的男声。我怎样才能让男声也第一次跑?这是调用javascript的按钮:这里是被调用的speakPhrase函数:functionspeakPhrase(phrase){if(phrase==""){alert("Pleaseenteraphrasebeforeaskingmetospeakforyou.Thanky

javascript - 谷歌翻译 API 文本到语音 : http requests forbidden

我正在制作一个语言学习网络应用程序,当您将鼠标悬停在单词上时,它会为您发音。我想从GoogleTranslateAPI访问母语人士的翻译。我找到了thisresource它给出http://translate.google.com/translate_tts作为基本URL,tl作为目标语言,q作为查询字符串。当我只在浏览器中访问它时,它的效果非常好,http://translate.google.com/translate_tts?tl=zh-CN&q=你好,但是我的应用程序的任何httprequests都会返回403禁止错误。localhost:~me$wget"http://tra

javascript - 在使用 JavaScript 构建 HTML 时保持关注点分离的最佳实践是什么?

我目前正在通过阅读jQueryinAction来学习jQuery。这本书讨论了通过使用“UnobtrusiveJavaScript”来分离关注点。我理解将JavaScript指定的行为保留在之外>树是一种很好的形式,对可维护性大有帮助。但是,在查看使用jQuery生成动态HTML时,使用该方法的好处似乎被否定了,例如这个例子:$('',{src:'images/little.bear.png',alt:'LittleBear',title:'Iwoofinyourgeneraldirection',click:function(){alert($(this).attr('title')

javascript - Webpack:从入口和子 block 中提取公共(public)模块以分离公共(public) block

我有一个使用代码拆分的webpack构建的应用程序。我现在想将所有符合特定条件(在本例中为node_modules)的所有入口block和所有子block(通过代码拆分生成)的通用模块聚合到一个单独的公共(public)block。如果我这样做:newwebpack.optimize.CommonsChunkPlugin({children:true,async:'vendor',minChunks:(module)=>{constisVendor=module.context.split('/').some(dir=>dir==='vendor');returnisVendor;},

javascript - 跨浏览器语音识别

我目前正在ASP.NET中开发一个项目。我需要添加适用于IE/Chrome/Firefox的语音命令。我搜索了很多,但没有找到任何跨浏览器的解决方案。是否有任何JavaScript框架可以做到这一点?我可以使用Google网络语音API作为服务吗?任何建议都会有所帮助。 最佳答案 只要浏览器支持HTML5的getUserMediaAPI就可以做到:使用HTML5的getUserMedia捕获音频流将其保存为.WAV,有相应的库通过AJAX发送.WAV到服务器通过SetInputToWaveFile方法将.WAV提供给SpeechRe

javascript - 我可以将构造函数的原型(prototype)方法绑定(bind)到构造的实例,同时保持关注点分离吗?

假设我有一个对象构造函数和一个原型(prototype)方法,例如:functionHuman(name){this.name=name;}Human.prototype.sayName=function(){console.log('myname'+this.name);};在我的代码的其他地方,我定义了一个human的实例:letjeff=newHuman('jeff');最后我想将jeff.sayName作为回调传递给其他一些函数,比如(对于一个特别简单的例子)functioncallFunction(callback){callback();}callFunction(jeff

javascript - jQuery.remove(),分离 DOM 元素,但我仍然可以从代码中访问这些元素。如何避免泄漏?

我知道在具有大量UI元素且完全基于Ajax的应用程序中正确管理内存并不容易(在我的应用程序中,页面永远不会重新加载)。但我想了解以下行为:我有一个根元素,一次必须附加一个子元素(将其视为根元素是应用程序容器,子元素是单个页面)。每当我在子内容之间切换时,我都会使用jQuery.remove()删除之前的内容,但我发现该内容实际上已从DOM中分离出来,但仍保留在内存中。root和两个子内容(child1和child2)我从child1切换到child2,要求我的应用程序管理器在附加child2之前删除child1正在附加child2(我可以看到),但我仍然可以使用管理child1的代码中