无需登录 数据私有 本地保存

Web Speech API 综合演示 - 识别与合成双向

32
0
0
0

术语表

Web Speech API

Web Speech API是W3C制定的一套JavaScript接口标准,为Web应用提供了语音识别(SpeechRecognition)和语音合成(SpeechSynthesis)两大核心能力。语音识别功能可以将用户的语音输入转换为文本数据,而语音合成功能可以将文本数据转换为可播放的语音音频。Web Speech API在现代浏览器中得到了广泛支持,但在不同浏览器之间的实现细节和功能完整性可能有所不同。

语音识别

语音识别(Speech Recognition)是将人类语音转换为计算机可处理的文本数据的技术过程。在Web Speech API中,语音识别功能通过SpeechRecognition对象实现。浏览器会捕获麦克风输入的音频流,通过内置的语音识别引擎(通常是云端服务)将音频信号分析转换为对应的文字。识别过程中会产生中间结果(interim results)和最终结果(final results),中间结果可能在后续处理中被修正。

语音合成

语音合成(Speech Synthesis)是将文本数据转换为人声语音的技术过程,也被称为文字转语音(Text-to-Speech,简称TTS)。在Web Speech API中,语音合成通过SpeechSynthesis对象和SpeechSynthesisUtterance对象实现。用户创建一个Utterance对象设置要朗读的文本以及语速、音调、音量等参数,然后调用speak()方法即可触发合成和播放。

语速

语速(Rate)是语音合成中的一个重要参数,控制合成语音的播放速度。在Web Speech API中,语速值的范围通常是0.1到10,其中1.0为正常语速。值小于1.0时语音变慢,大于1.0时语音变快。语速的调整不仅影响播放速度,还会相应调整语音的音节持续时间,使得慢速语音听起来更加清晰,快速语音听起来更加紧凑。

音调

音调(Pitch)是语音合成中控制声音频率高低的参数。在Web Speech API中,音调值的范围通常是0到2,其中1.0为默认音调。值低于1.0时声音变得低沉,高于1.0时声音变得高亢。音调的调整可以改变合成语音的整体声音特征,使得同一段文字可以用不同风格的声音朗读出来。

语音包

语音包(Voice)是操作系统或浏览器提供的语音合成引擎中预定义的声音配置。每个语音包包含了特定语言、特定性别的声音数据和合成参数。不同的操作系统提供的语音包数量和质量差异很大。例如Windows系统通常提供多个英文和中文语音,而macOS系统则提供了更多种类的声音选项。浏览器通过SpeechSynthesis.getVoices()方法获取所有可用的语音包列表。

持续识别模式

持续识别模式(Continuous Mode)是语音识别的一种工作模式。在该模式下,识别引擎会持续监听麦克风输入,即使检测到静默也不会自动停止识别。用户可以不间断地说话,新的识别结果会持续追加到结果列表中。这种模式适合需要进行长时间连续语音输入的场景,例如会议记录或语音备忘。在Web Speech API中,通过设置SpeechRecognition对象的continuous属性为true来启用持续识别模式。