最新文本转语音的接口(免费),百度语音作废

本文介绍了三种不同的文本转语音的实现方法:有道、搜狗和Vue.js。详细阐述了每个方法的API接口、参数设置及示例代码,包括语速控制、语言选择等。此外,还提到了百度语音合成接口的使用,但指出目前可能需要额外配置。这些技术可用于网页上的文本朗读功能。
摘要由CSDN通过智能技术生成

一、有道 (好好听的声音)

 new Audio("http://tts.youdao.com/fanyivoice?word=你好,我是你好&le=zh&keyfrom=speaker-target").play();

二、搜狗

"https://fanyi.sogou.com/reventondc/synthesis?text=%E4%BD%A0%E5%A5%BD%E5%95%8A&speed=1&lang=zh-CHS&from=translateweb&speaker=6"


text 要转换的文本
speed 语速 1~?(我测试到15都还可以) 越大,语速越慢
lan 语言类型
lan=en 英文
lan = zh-CHS 中文
from 没搞明白 (我猜应该是获取你是从哪里请求的,哪种方式请求的)
speaker 语音类型 1-6的数字

三、vue (在手机的网页不行,会的高手请评论指教)

const synth = window.speechSynthesis;
const msg = new SpeechSynthesisUtterance();


// 语音播报的函数
/**
*  text – 要合成的文字内容,字符串
* lang – 使用的语言,字符串, 例如:“zh-cn”
* voiceURI – 指定希望使用的声音和服务,字符串
* volume – 声音的音量,区间范围是0到1,默认是1
* rate – 语速,数值,默认值是1,范围是0.1到10,表示语速的倍数,例如2表示正常语速的两倍。
* pitch – 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1
*/
// 方法
handleSpeak(text){
  msg.text = text;
  msg.lang = 'zh-CN';
  msg.volume = '1';
  msg.rate = 1;
  msg.pitch = 1;
  synth.speak(msg);
},
// 语音停止
handleStop(e){
  msg.text = e;
  msg.lang = 'zh-CN';
  synth.cancel(msg);
}


// 调用
this.handleSpeak('你长得真好看!');

百度 laji 现在禁用,要很多配置,

摘要: 语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的口语输出的技术。

1、接口定义

http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字

参数说明:

lan=zh:语言是中文,如果改为lan=en,则语言是英文。

ie=UTF-8:文字格式。

spd=2:语速,可以是1-9的数字,数字越大,语速越快。

text=**:这个就是你要转换的文字。

2、示例代码

 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>百度语音测试</title>
		<script type="text/javascript"> 
		function doTTS(){
			var ttsDiv = document.getElementById('bdtts_div_id');
			var ttsAudio = document.getElementById('tts_autio_id');
			var ttsText = document.getElementById('ttsText').value;
			
			// 这样为什么替换不了播放内容
			/*var ssrcc = 'http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=10&text='+ttsText;
			document.getElementById('tts_source_id').src=ssrcc;*/
			
			// 这样就可实现播放内容的替换了
			ttsDiv.removeChild(ttsAudio);
			var au1 = '<audio id="tts_autio_id" autoplay="autoplay">';
			var sss = '<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=9&text='+ttsText+'" type="audio/mpeg">';
			var eee = '<embed id="tts_embed_id" height="0" width="0" src="">';
			var au2 = '</audio>';
			ttsDiv.innerHTML = au1 + sss + eee + au2;
			
			ttsAudio = document.getElementById('tts_autio_id');
			
			ttsAudio.play();
		}
		</script>
	</head>
	<body>
		<div>
			<input type="text" id="ttsText">
			<input type="button" id="tts_btn" onclick="doTTS()" value="播放">
		</div>
		<div id="bdtts_div_id">
			<audio id="tts_autio_id" autoplay="autoplay">
				<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=9&text=播报内容" type="audio/mpeg">
				<embed id="tts_embed_id" height="0" width="0" src="">
			</audio>
		</div>
	</body>
</html>

3、参考资料

网址:语音识别_语音识别技术_百度语音识别-百度AI开放平台

https://ai.baidu.com/ai-doc/SPEECH/Qk38y8lrl#%E8%AF%B7%E6%B1%82%E6%96%B9%E5%BC%8F%E5%8F%8A%E5%8F%82%E6%95%B0%E5%9F%BA%E6%9C%AC%E8%AF%B4%E6%98%8E

from: 在网页上通过JS实现文本的语音朗读_hongmay的博客-CSDN博客_js 读文字

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值