`
zhhaogen
  • 浏览: 14005 次
  • 性别: Icon_minigender_1
  • 来自: 未知
社区版块
存档分类
最新评论

Microsoft Speech SDK例子(js)

阅读更多
<html>
<head><title>语音测试例子</title></head>
<body>

音量:
<input id="vol"></input>语速<input id="rat"></input>
<p>
朗读人:
<select id="speaker">
</select>
输出设备:
<select id="outputer">
</select>

<p>
<textarea id="text" rows="3" cols="80">
我们的教育真是问题成堆,很多情况下不是在培育英才而是在糟蹋人才。不上学大不了是个不识字的文盲,进校门后就可能成为弄虚作假的高手;不上大学可能还对学术有一份敬重,进大学后才知道学术是“什么玩艺儿”。一个人从幼儿园和小学开始,学校就逼着他如何搞形式,如何说假话,如何拉关系。只要在中国从幼儿园读到大学毕业,任何一个天真纯洁的孩子,都可能培养成为一个圆滑世故的老油条;任何一个真诚的儿童,都可能成为一个伪君子。
</textarea>
<p>
<button  onClick="speak()">朗读</button><button  onClick="stop()">停止</button>
<p>
<p id="test"></p>
<script >
var sap;

//初始化TTS
function init()
{
	if(navigator.appName!="Microsoft Internet Explorer")
	{
		alert("请切换到IE内核");
		return false;
	}
	try
	{
	 sap= new ActiveXObject("Sapi.SpVoice");
	}
	 catch(ex)
	 {
		alert("初始化失败!"+ex);
		return false;
	 }
	 if(sap==null)
	 {
		alert("初始化失败!没有Sapi.SpVoice控件");
		return false;
	 }
	 
	 //
	 return true;
}
//初始化设置参数
function setting()
{

	vol.value=sap.Volume;
	rat.value=sap.Rate;
	var VoicesToken = sap.GetVoices(); 
	var AudioOutputsToken = sap.GetAudioOutputs(); 
	
	//朗读引擎
	for( var i=0; i <VoicesToken.Count; i++ ) 
	{ 
		var oOption = document.createElement("OPTION"); 
		speaker.options.add(oOption); 
		oOption.innerText = VoicesToken.Item(i).GetDescription(); 
		oOption.value = i; 
	} 
	
	//输出设备
	for( var i=0; i <AudioOutputsToken.Count; i++ ) 
	{ 
		var oOption = document.createElement("OPTION"); 
		outputer.options.add(oOption); 
		oOption.innerText = AudioOutputsToken.Item(i).GetDescription(); 
		oOption.value = i; 
	}
}
//获取设置参数
function change()
{
	try
	{
	sap.Volume=parseInt(vol.value);
	sap.Rate=parseInt(rat.value);
	sap.Voice = sap.GetVoices().Item(parseInt(speaker.value));
	sap.AudioOutput = sap.GetAudioOutputs().Item(parseInt(speaker.value));
	}
	catch(err)
	{
		alert("设置出错!"+err);
	}
}

if(init())
{
	setting();
}
function speak()
{
	change();
	try
	{
	sap.speak(text.innerText,1);
	}
	catch(err)
	{
		alert("朗读出错");
	}
}
function stop()
{
	sap.speak("",2);
}

//语音朗读状态
function getStatus()
{
	st=sap.Status;
	msg="Status:"
		+",\n CurrentStreamNumber:"+st.CurrentStreamNumber
		+",\n InputSentenceLength:"+st.InputSentenceLength 
		+",\n InputSentencePosition:"+st.InputSentencePosition
		+",\n InputWordLength:"+st.InputWordLength 
		+",\n InputWordPosition:"+st.InputWordPosition 
		+",\n InputWord:"+text.innerText.substring(st.InputWordPosition,st.InputWordPosition+st.InputWordLength ) 
		+",\n LastBookmark :"+st.LastBookmark  
		+",\n LastBookmarkId :"+st.LastBookmarkId  
		+",\n LastHResult :"+st.LastHResult  
		+",\n LastStreamNumberQueued :"+st.LastStreamNumberQueued  
		+",\n PhonemeId :"+st.PhonemeId  
		+",\n RunningState :"+st.RunningState   
		+",\n VisemeId  :"+st.PhonemeId  
		;
	test.innerText=msg;
	
}
//getStatus();
setInterval("getStatus()",100);
</script>
</body>
</html>

 

分享到:
评论
2 楼 pengruida 2013-05-09  
可惜只能用于ie内核的浏览器  没用啊
1 楼 wwg20080808 2012-06-07  
英文可以读,中文读不了,怎么办?

相关推荐

    Speech-Recognition-Unity-master_speechrecognition_

    在Unity中,我们可以通过WebGL构建器发布项目,并通过JavaScript Interface (JSIL)与Web Speech API进行通信。首先,我们需要在Unity脚本中创建一个WebGL接口,然后在HTML页面中调用对应的API函数,如`...

    语音播报 简单例子(源码)

    开发者可能会使用开源库如Microsoft的Speech Synthesis API(SAPI),Google的Text-to-Speech (gTTS),或者阿里云的AISpeech SDK等。这些库通常提供API,允许开发者传入文本,然后返回合成的音频流。 2. **配置播报...

    How-to-make-talking-things:制作会说话的东西的例子

    7. **编程语言**:开发过程中,可能用到的编程语言包括Python、JavaScript(用于Web应用或Node.js服务器)、Java或C++。Python通常因其丰富的库和易用性而成为首选。 8. **测试和调试**:确保应用准确理解和响应...

    cmd-bat-批处理-脚本-IE主页修改.zip

    cmd-bat-批处理-脚本-IE主页修改.zip

    Delphi 12.3控件之uniGUI-Extras-1.95.0.1600.rar

    Delphi 12.3控件之uniGUI-Extras_1.95.0.1600.rar

    【数据库安全】MySQL中SQL注入攻击原理与防御措施:提升Web应用安全性设计在MySQL环境下SQL

    内容概要:本文主要介绍了SQL注入的概念、危害及其防范措施。SQL注入是攻击者通过恶意构造输入,使服务器执行非预期的SQL命令的一种攻击方式,常因用户输入未

    ORON1.SHX

    使用方法:拷贝到Auto CAD的Fonts下

    cmd-bat-批处理-脚本-维护版.zip

    cmd-bat-批处理-脚本-维护版.zip

    esp-idf-extension.vsix zip

    解压

    【数据库管理】MySQL命令大全:涵盖数据库与数据表操作及事务管理的常用指令集

    内容概要:本文档为《mysql.docx》,主要汇总了MySQL的各类常用命令,分为基础命令、数据库相关命令、数据表相关命令和事务相关命令四大部分。基础命令涵盖了连接、创建、删除数据库,创建和删除表,插入、查询、更新、删除数据等基本操作;数据库相关命令则进一步细化了对数据库的管理操作,如修改编码格式、查看数据库详细信息等;数据表相关命令着重介绍了对表结构和数据的操作,包括创建、修改、删除表,添加、删除、修改列,创建和删除索引等;事务相关命令主要涉及事务的开始、提交、回滚,设置事务隔离级别,以及表的锁定与解锁操作。; 适合人群:适用于具有一定SQL基础,尤其是MySQL使用经验的数据库管理员或开发人员。; 使用场景及目标:①帮助用户快速查找并正确使用MySQL的各种命令;②提高用户对MySQL数据库的操作能力,包括但不限于数据库和表的创建、修改、删除,数据的增删改查等;③掌握MySQL事务处理机制,确保数据的一致性和完整性。; 其他说明:本文档是MySQL命令的集合,建议用户在实际操作前先熟悉各个命令的具体用法,并在测试环境中进行练习,避免误操作导致数据丢失或其他严重后果。

    cmd-bat-批处理-脚本-交换两个变量的值而不使用临时变量.zip

    cmd-bat-批处理-脚本-交换两个变量的值而不使用临时变量.zip

    软件工程集成测试全流程解析:确保软件模块协同工作的关键方法与实践

    内容概要:集成测试是确保软件质量的关键环节,它在单元测试基础上验证模块间的交互和协作。文章详细介绍了集成测试的目的、重要性、流程步骤、策略与方法以及常见问题的解决办法。集成测试不仅验证模块接口的正确性,还确保系统的整体功能和性能符合预期。文章通过一个电商系统的实际案例,展示了集成测试在发现和解决问题中的具体应用。最后,展望了集成测试未来的发展趋势,如自动化测试、云计算、大数据和人工智能技术的应用。 适合人群:软件开发人员、测试工程师、项目经理及相关技术人员。 使用场景及目标:①了解集成测试在整个软件开发生命周期中的作用和重要性;②掌握集成测试的详细流程,包括测试计划制定、环境搭建、用例设计、执行与记录、缺陷管理和回归测试、测试总结与报告;③学习集成测试的不同策略(自顶向下、自底向上、混合策略)和方法(黑盒测试、白盒测试、模拟测试),并理解其适用场景;④掌握常见问题(接口不匹配、数据传递错误、性能瓶颈)的解决办法。 其他说明:本文不仅提供了集成测试的理论知识,还结合实际案例进行详细讲解,帮助读者更好地理解和应用集成测试技术。未来集成测试将受益于自动化测试、云计算、大数据和人工智能技术的发展,测试人员应不断学习新技术,优化测试流程,提高软件质量和效率。

    cmd脚本-bat批处理-快速设定分辨率.zip

    cmd脚本-bat批处理-快速设定分辨率.zip

    高阶过采样delta-sigma DAC设计.pdf### 高阶过采样 delta-sigma DAC设计

    内容概要:本文献为电子科技大学硕士学位论文,题目为“高阶过采样delta-sigma DAC设计”。论文首先介绍了DAC的基本概念及其多种结构,重点阐述了delta-sigma DAC的优势,包括实现24位以上量化精度、简化模拟部分设计等。接着详细探讨了delta-sigma DAC的核心组成部分——过采样和噪声整形。过采样部分采用8倍插值8倍采样保持结构,其中插值器由2倍和4倍插值器级联构成;噪声整形部分采用5阶结构,优化了零点和极点,形成前馈加局部振荡反馈的噪声整形环。论文还介绍了在Matlab中完成的数字模型和FPGA平台上实现的硬件设计,最终实现了16位数据位宽、信噪比为95.53dB的delta-sigma DAC。 适合人群:具备一定电子工程和数字信号处理基础,特别是对DAC设计感兴趣的研究生或研究人员。 使用场景及目标:①适用于研究高精度数模转换技术的学术机构;②为设计高阶过采样delta-sigma DAC提供理论和技术支持;③探索delta-sigma技术在音频和其他高精度应用领域的潜力。 阅读建议:此资源不仅涉及复杂的理论分析,还包括详细的硬件实现步骤,建议读者在理解基本概念的基础上逐步深入,结合Matlab仿真和FPGA实现进行实践,以加深对delta-sigma DAC设计的理解。

    cmd-bat-批处理-脚本-弹出对话框.zip

    cmd-bat-批处理-脚本-弹出对话框.zip

    基于MATLAB实现的ARIMA模型代码示例

    提供一个ARIMA模型的MATLAB代码示例,该代码能够根据用户自身的具体需求灵活调整参数,从而达到预期的分析效果。

    cmd-bat-批处理-脚本-倒记时(全屏).zip

    cmd-bat-批处理-脚本-倒记时(全屏).zip

    ssm+vue图书管理系统全套源码+毕业论文+数据库sql

    ssm+vue图书管理系统全套源码+毕业论文+数据库sql,全套毕设,非常具有参考意义

    cmd-bat-批处理-脚本-更改电源管理方式.zip

    cmd-bat-批处理-脚本-更改电源管理方式.zip

    cmd-bat-批处理-脚本-禁止用XP的图片视频预览功能.zip

    cmd-bat-批处理-脚本-禁止用XP的图片视频预览功能.zip

Global site tag (gtag.js) - Google Analytics