JupyterLab语音命令
项目描述
jupyterlab-voice-control
⚠️ 此扩展是实验性的 ⚠️
JupyterLab语音命令扩展依赖于实验性的语音识别API,不适合在生产环境中使用。您可以在caniuse.com/speech-recognition上检查当前支持情况。
请注意,语音识别方法是浏览器的一个实现细节,某些浏览器,包括Google Chrome,可能会将您的语音录音发送到云端进行识别。
虽然目前只是一个概念验证,但如果您发现此扩展有用/有前景,请通过打开一个新问题与我们联系,任何反馈都将非常感激。
使用方法
要使用此扩展,请在状态栏中查找麦克风()图标。
点击禁用麦克风图标()以启动语音识别(或使用 Alt + v 快捷键)。您需要同意浏览器使用您的麦克风。
您可以使用在 命令面板 中可用的任何命令,例如尝试“下载”或“运行所选单元格”。
有时语音识别可能不准确,或者您可能记错了命令的名称。在这种情况下,语音控制助手将通过带有“您是否想...”字样的提示和建议显示在状态栏上。
- 您可以通过说出“是”来接受第一个建议。
- 要选择第二个建议,请说出“第二个建议”,依此类推。
- 如果您更喜欢连续检查状态栏,可以使用语音合成选项(在设置中可用)。
- 可以在设置中调整将类似发音的短语作为建议包含的阈值。
如果没有错误或建议,识别到的语音将显示在状态栏上,并带有置信度估计。
默认情况下,置信度低(<50%)的命令将不会执行(因为认为在可能具有破坏性的操作中更安全),但您可以在设置中更改阈值。
创建自定义命令
在设置编辑器中,您可以像配置快捷键一样为命令分配自定义短语。我们将您需要说的以执行命令的词语称为触发短语。
语音控制扩展提供了用于与界面交互的额外命令,例如输入文本(vc:insert-text
)、接受建议(vc:accept-suggestion
)、停止识别(vc:stop-listening
)等。
触发短语可以是正则表达式,并包括命名捕获组。捕获的组将被作为参数传递给命令(与预先指定的参数合并,如果有,组将覆盖预先指定的参数)。例如,要创建一个打开文件的命令,我们可以指定
{
"phrase": "^open file (?<path>.*)",
"command": "filebrowser:open-path"
}
^
确保只有以“打开文件”开头的短语会被匹配。
我们提供命令 vc:open-notebook
(默认为open notebook (?<path>.*)
),它会自动添加笔记本文件扩展名(.ipynb
),因为这对于语音识别软件可能是个问题。
要求
- JupyterLab >= 3.4(可能适用于3.x的旧版本,但未测试)
安装
要安装扩展,请执行
pip install jupyterlab-voice-control
卸载
要删除扩展,请执行
pip uninstall jupyterlab-voice-control
贡献
开发安装
注意:您需要NodeJS来构建扩展包。
jlpm
命令是JupyterLab安装的yarn的固定版本。您可以使用 yarn
或 npm
代替下面的 jlpm
。
# Clone the repo to your local environment
# Change directory to the jupyterlab-voice-control directory
# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm build
您可以在不同的终端中同时监视源目录并运行JupyterLab,以监视扩展源的变化并自动重新构建扩展。
# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm watch
# Run JupyterLab in another terminal
jupyter lab
在监视命令运行时,每次保存的更改将立即在本地构建并可供正在运行的JupyterLab使用。刷新JupyterLab以在浏览器中加载更改(您可能需要等待几秒钟,直到扩展重新构建)。
默认情况下,jlpm build
命令会为此扩展生成源映射,以便使用浏览器开发者工具进行调试。要同时为 JupyterLab 核心扩展生成源映射,可以运行以下命令:
jupyter lab build --minimize=False
开发模式卸载
pip uninstall jupyterlab-voice-control
在开发模式下,您还需要删除由 jupyter labextension develop
命令创建的符号链接。要找到其位置,您可以运行 jupyter labextension list
以确定 labextensions
文件夹的位置。然后您可以在该文件夹中删除名为 jupyterlab-voice-control
的符号链接。
测试扩展
前端测试
此扩展使用 Jest 对 JavaScript 代码进行测试。
要执行它们,请执行:
jlpm
jlpm test
集成测试
此扩展使用 Playwright 进行集成测试(也称为用户级测试)。更准确地说,JupyterLab 辅助工具 Galata 用于处理在 JupyterLab 中测试扩展。
更多详细信息请参阅 ui-tests 中的 README。
打包扩展
请参阅 RELEASE
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分布
构建分布
jupyterlab-voice-control-0.2.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cddd79f35d48391dd3837ad2744fe302998b55f6a8645063387597cbfd897304 |
|
MD5 | b49380e594556fa102268579fa5e0852 |
|
BLAKE2b-256 | 04b1412fac61daa6bcdeebad65595e1a8d0ab4b4fa69cff3ae160edb42fda909 |
jupyterlab_voice_control-0.2.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0c04a8d8ea84806145795d18209ac9f0fb29d238963e9e61b03d983889fc437e |
|
MD5 | a1fc0a7e96e8cac7d7de4662018c78d8 |
|
BLAKE2b-256 | 9014072cf2a58b9e74445a5200ff861a47a472b4ea6bc5ff786ab28d6fbf7e6a |