#header-mark#
SpeechToText 语音转文本
SpeechToText组件通过封装HTML5 SpeechRecognition
API控制浏览器的语音识别服务。
底层实现为panel.widgets.SpeechToText
,参数基本一致,参考文档:https://panel.holoviz.org/reference/widgets/SpeechToText.html
基本用法
语音转文本组件提供了一个简单的界面来启动和停止语音识别服务,将用户的语音转换为文本。
注意:此功能是实验性的,只有Chrome和少数其他浏览器支持。有关支持SpeechRecognition API的浏览器的最新列表,请参见caniuse.com或MDN文档。在某些浏览器(如Chrome)中,即使支持此功能,
grammars
、interim_results
和max_alternatives
参数也可能尚未实现。在像Chrome这样的浏览器上,在网页上使用语音识别涉及基于服务器的识别引擎。您的音频会被发送到网络服务进行识别处理,因此它无法离线工作。这对您的用例来说是否足够安全和保密,需要您自行评估。
自定义按钮
可以通过设置button_type
、button_not_started
和button_started
参数来自定义按钮的外观。
连续识别
通过设置continuous=True
,语音识别服务会保持打开状态,允许您连续说多个语句。
使用语法列表
可以使用GrammarList
限制识别服务识别的单词或单词模式。
显示详细结果
可以通过results
属性获取更详细的结果,包括置信度级别。
API
属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
results | 识别的结果,字典列表 | List[Dict ] | [] |
value | 最近的语音识别结果字符串 | str | "" |
lang | 当前语音识别服务的语言(BCP 47格式) | str | 'en-US' |
continuous | 是否返回每次识别的连续结果,或仅返回单个结果 | boolean | false |
interim_results | 是否应返回临时结果 | boolean | false |
max_alternatives | 每个结果提供的最大识别替代方案数量 | int | 1 |
service_uri | 指定当前语音识别服务使用的语音识别服务位置 | str | — |
grammars | 表示当前语音识别服务将理解的语法的GrammarList对象 | GrammarList | None |
started | 语音识别服务是否已启动 | boolean | false |
audio_started | 音频是否已启动 | boolean | false |
sound_started | 声音是否已启动 | boolean | false |
speech_started | 用户是否已开始说话 | boolean | false |
button_hide | 是否隐藏切换开始/停止按钮 | boolean | false |
button_type | 按钮类型 | str | 'default' |
button_not_started | 语音识别服务未启动时按钮上显示的文本 | str | '' |
button_started | 语音识别服务启动时按钮上显示的文本 | str | '' |
Events
事件名 | 说明 | 类型 |
---|---|---|
change | 当识别结果改变时触发 | Callable |
方法
属性名 | 说明 | 类型 |
---|---|---|
results_deserialized | 获取识别的结果,RecognitionResult对象列表 | property |
results_as_html | 获取格式化为HTML的结果 | property |
Controls
src/examples/panel_vuepy/widgets/SpeechToText