Speech Synthesis API

简介: Speech Synthesis API

HTML5 中和 Web Speech 相关的 API 实际上有两类,一类是“语音识别( Speech Recognition )”,另外一个就是“语音合成( Speech Synthesis )”,这两个名词听上去很高大上,实际上指的分别是“语音转文字”,和“文字变语音”。这里主要说的是后者,实现“文字转语音”。


语音合成

语音合成的核心是 SpeechSynthesisUtterancespeechSynthesis


SpeechSynthesisUtterance 用以构建一个语音合成实例,接收一个字符串参数。

const msg = new window.SpeechSynthesisUtterance('hello,world');点击复制复制失败已复制


对象属性

实例化后的对象可以通过修改其属性来控制语音播报,属性如下所示:

属性 描述
text 要转换的文本
lang 使用的语言,如 "zh-cn" ,默认为空,即只播放英文
voiceURI 指定使用的声音
volume 音量
rate 语速,默认值是 1 ,范围是[0.1, 10],表示语速的倍数,例如 1 是正常, 2 是正常语速的两倍
pitch 音高


提示

通常实例化 SpeechSynthesisUtterance 后需要设置 langzh-cn


回调方法

SpeechSynthesisUtterance 对象支持的回调方法如下所示:

方法 描述
onstart 语音合成开始时候的回调
onpause 语音合成暂停时候的回调
onresume 语音合成重新开始时候的回调
onend 语音合成结束时候的回调


行为控制

行为控制通过 speechSynthesis 对象来实现,主要用来控制语音播报的各种行为控制,例如开始,暂停,停止,继续播放等

行为 描述
speak() 只能接收 SpeechSynthesisUtterance 实例作为唯一的参数,加入语音播放的队列,开始播放语音
stop() 停止
resume() 继续播放
getVoices() 返回浏览器支持的语音包列表,数组


Demo

::: details Demo源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>语音测试</title>
    <script src="https://cdn.9xing.cn/jquery/2.1.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            //开始播放
            $("#begin_speak").click(function() {
                let content = $("#content").text();
                let msg = new SpeechSynthesisUtterance(content);
                msg.lang = 'zh-cn'
                window.speechSynthesis.speak(msg);
                $("#pause_speak").show();
                $("#cancel_speak").show();
            });
            //停止播放
            $("#cancel_speak").click(function() {
                window.speechSynthesis.cancel();
                $("#pause_speak").hide();
                $("#resume_speak").hide();
                $(this).hide();
            });
            //暂停播放
            $("#pause_speak").click(function() {
                window.speechSynthesis.pause();
                $("#resume_speak").show();
            });
            //继续播放
            $("#resume_speak").click(function() {
                window.speechSynthesis.resume();
                $(this).hide();
            });
        });
    </script>
</head>
<body>
    <div>
        <input type="button" id="begin_speak" value="播放">
        <input type="button" id="pause_speak" style="display:none" value="暂停">
        <input type="button" id="cancel_speak" style="display:none" value="停止">
        <input type="button" id="resume_speak" style="display:none" value="继续播放">
    </div>
    <div id="content">
        <p>Yii2.0是一个高效,安全,快速的PHP开发框架,内置了很多开发时常用的功能。Yii也内置了验证码功能,让我们在开发时可以直接使用,不过框架自带的验证码在生成后,无论是点击验证码还是重新请求生成验证码的URL,生成的验证码内容是没有变化的
        </p>
        <p>yii框架生成验证码,只需在控制器里的
            <span style="font-size: 16px; color:red;font-family: 宋体, SimSun; text-decoration: underline;">actions</span>
            <span style="font-size: 16px; font-family: 宋体, SimSun; text-decoration: none;">方法里,添加一些配置就行了</span>
        </P>
    </div>
</body>
</html>
目录
相关文章
|
2月前
|
移动开发 前端开发 JavaScript
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
185 0
|
5月前
|
人工智能 前端开发 API
基于Web Speech API给AI语言模型加上语音功能,距离MOSS又近了一步
基于Web Speech API给AI语言模型加上语音功能,距离MOSS又近了一步
92 0
|
Web App开发 移动开发 Ubuntu
HTML5 Web Speech API,让网站更有趣
Web API 变得越来越丰富,其中一个值得注意的是Web Speech API。传统的网站只能“说”,这个API的出现,让网站能“倾听”用户。这个功能已经开放了一系列的用法,非常棒。
666 0
HTML5 Web Speech API,让网站更有趣
|
14天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
|
26天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
28天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
|
2月前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
18天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
2月前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。