#header-mark#
TextToSpeech 文本转语音
TextToSpeech组件为Panel带来文本转语音功能,它封装了HTML5 SpeechSynthesis API和HTML SpeechSynthesisUtterance API。
底层实现为panel.widgets.TextToSpeech,参数基本一致,参考文档:https://panel.holoviz.org/reference/widgets/TextToSpeech.html
基本用法
文本转语音组件可以将文本转换为语音并播放出来。请注意,该组件本身在视觉上不显示任何内容,但仍需添加到应用程序中才能使用。
自动播放
当auto_speak设置为true时(默认值),每当value更改时,都会自动播放语音。
语音参数调整
可以通过设置lang、pitch、rate和volume参数来调整语音的特性。
长文本示例
TextToSpeech组件可以处理较长的文本内容。
API
属性
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| value | 将在发声时合成的文本 | string | — |
| auto_speak | 值更改时是否自动发声 | boolean | true |
| lang | 语音的语言 | string | — |
| voice | 用于发声的语音 | SpeechSynthesisVoice | — |
| pitch | 语音的音调,0到2之间的数字 | float | 1 |
| rate | 语音的速度,0.1到10之间的数字 | float | 1 |
| volume | 语音的音量,0到1之间的数字 | float | 1 |
| speak | 发声动作 | boolean | false |
| cancel | 取消所有待发声的语音 | boolean | false |
| pause | 暂停语音合成 | boolean | false |
| resume | 恢复语音合成 | boolean | false |
| voices | 当前设备上可用的所有语音列表 | List[Voice ] | [] |
| paused | 语音合成是否处于暂停状态 | boolean | false |
| pending | 语音队列中是否有尚未发声的语音 | boolean | false |
| speaking | 当前是否正在发声 | boolean | false |
| name | 组件标题 | string | — |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
| change | 当组件状态改变时触发 | Callable |
Controls
src/examples/panel_vuepy/widgets/TextToSpeech