docs/features/conversation/voice_assistant.md
语音助手是 GPT Academic 中一项创新的交互功能,它让您能够通过语音与 AI 进行对话,无需打字即可获得回复。这项功能特别适合在阅读文献、写代码或处理其他事务时,想要"解放双手"与 AI 交流的场景。系统会实时监听您的语音,自动识别语音内容并转换为文字,然后发送给 AI 模型获取回复。整个过程流畅自然,就像与一位助手面对面交谈。
语音助手采用阿里云智能语音交互服务作为语音识别引擎,提供高准确率的实时语音转文字能力。系统会持续监听麦克风输入,当检测到您停止说话超过 2 秒时,自动将已识别的语音内容提交给 AI 模型处理。这种设计让您可以自然地说话,不需要手动触发任何按钮来提交问题。
在等待 AI 回复的过程中,您可以继续提出新的问题。系统采用异步处理机制,会在后台同时处理多个请求,并按顺序将回复显示在对话区。这意味着您可以像真正的对话一样,一边听回复一边补充新的问题。
该功能还支持两种音频监听模式:您可以选择监听麦克风(即您自己说话的声音),也可以配置为监听电脑音频输出。后者特别适用于会议记录场景——您可以让系统监听腾讯会议、Zoom 等软件的音频,实时将会议内容转换为文字并让 AI 进行分析或总结。
语音助手功能需要进行一些额外的配置才能使用。由于涉及实时语音识别服务,您需要注册阿里云账号并开通相关服务。
首先,安装语音助手所需的 Python 依赖包:
pip install --upgrade pyOpenSSL webrtcvad scipy git+https://github.com/aliyun/alibabacloud-nls-python-sdk.git
如果因网络问题无法直接从 GitHub 安装阿里云 SDK,可以改用以下方式:
# 1. 克隆阿里云语音 SDK 仓库
git clone https://github.com/aliyun/alibabacloud-nls-python-sdk.git
# 2. 进入目录并安装
cd alibabacloud-nls-python-sdk
python setup.py install
语音识别功能基于阿里云智能语音交互服务。您需要完成以下步骤获取必要的凭证:
详细操作步骤可参考阿里云官方文档:智能语音交互快速入门
在 config_private.py 文件中添加以下配置:
# 开启语音功能
ENABLE_AUDIO = True
# 阿里云语音服务凭证
ALIYUN_APPKEY = "您的AppKey"
ALIYUN_TOKEN = "您的Token"
如果您希望系统自动刷新 Token(Token 有有效期限制),可以配置 AccessKey:
ENABLE_AUDIO = True
ALIYUN_APPKEY = "您的AppKey"
ALIYUN_TOKEN = "" # 留空,系统会自动获取
ALIYUN_ACCESSKEY = "您的AccessKey ID"
ALIYUN_SECRET = "您的AccessKey Secret"
!!! warning "凭证安全提示"
请妥善保管您的阿里云凭证,不要将 config_private.py 文件上传到公开的代码仓库。该文件已被添加到 .gitignore 中,正常情况下不会被 Git 追踪。
完成上述配置后,重新启动 GPT Academic。如果配置正确,您会在函数插件区看到 实时语音对话 按钮。
使用语音助手的基本流程如下:
授权麦克风访问:首次使用时,浏览器会请求麦克风访问权限。点击浏览器地址栏附近的麦克风图标(通常在地址栏左侧或右侧),选择"允许"并选择您要使用的麦克风设备
点击插件按钮:在函数插件区找到 实时语音对话 按钮并点击。系统会显示"音频助手, 正在听您讲话"的提示
开始对话:直接对着麦克风说话即可。对话区会实时显示您正在说的内容
自动提交:当您停止说话约 2 秒后,系统会自动将识别的内容发送给 AI。如果识别的内容太短(少于 7 个字),系统会等待您继续说完
查看回复:AI 的回复会实时流式显示在对话区。您可以在等待回复时继续提出新问题
要停止语音助手,点击界面上的 停止 按钮即可。系统会结束语音监听线程并恢复到正常的文字对话模式。
如果长时间(约 5 秒)没有检测到任何语音输入,系统也会自动终止以避免资源浪费。
语音助手的一个高级用法是监听电脑的音频输出,而不是麦克风输入。这个功能可用于:
要实现这个功能,您需要使用虚拟音频设备来"截获"电脑的音频输出。在 Windows 系统上,推荐使用 VB-Audio VoiceMeeter 软件(免费)。
下载并安装 VoiceMeeter:从 VB-Audio 官网 下载并安装
设置音频输出:打开 Windows 声音控制面板,在"播放"选项卡中,将 VoiceMeeter Input 设为默认播放设备。此时电脑的所有声音都会被 VoiceMeeter 截获
配置浏览器麦克风:在 GPT Academic 界面授权音频采集时,选择 VoiceMeeter 的虚拟麦克风作为输入设备
恢复音频监听:为了在截获音频的同时仍能听到声音,在"录制"选项卡中双击 VoiceMeeter Output,勾选"侦听此设备"并选择您的真实耳机或音响
完成以上配置后,GPT Academic 就能"听到"电脑播放的所有音频,并实时进行语音识别和 AI 对话。
!!! tip "模式切换" 在麦克风监听和电脑音频监听两种模式之间切换时,需要刷新浏览器页面并重新授权音频采集才能生效。
浏览器兼容性:语音功能依赖浏览器的 WebRTC 技术获取音频流。推荐使用最新版的 Chrome 或 Edge 浏览器。部分浏览器(如 Safari)可能存在兼容性问题。
HTTPS 要求:出于安全考虑,现代浏览器只允许在 HTTPS 连接或 localhost 上访问麦克风。如果您通过局域网 IP(如 http://192.168.1.100:7860)访问,麦克风授权可能会被阻止。解决方法是配置 HTTPS 或在本机通过 localhost 访问。
语音识别准确率:阿里云语音识别对标准普通话的识别效果最佳。方言、口音较重的语音,或嘈杂环境下的语音,可能会出现识别错误。建议在相对安静的环境中使用,并尽量清晰地发音。
服务费用:阿里云智能语音交互服务按识别时长计费。阿里云提供了免费额度,超出后会按量计费。建议在阿里云控制台设置费用预警,避免意外扣费。
???+ question "点击插件后提示'导入依赖失败'" 这表示语音识别所需的 Python 依赖包未正确安装。请按照前提条件部分的说明安装依赖:
```bash
pip install --upgrade pyOpenSSL webrtcvad scipy git+https://github.com/aliyun/alibabacloud-nls-python-sdk.git
```
安装完成后重启 GPT Academic。
???+ question "提示'没有阿里云语音识别 APPKEY 和 TOKEN'"
请确认已在 config_private.py 中正确配置了 ALIYUN_APPKEY 和 ALIYUN_TOKEN(或 ALIYUN_ACCESSKEY 和 ALIYUN_SECRET)。配置后需要重启应用才能生效。
???+ question "麦克风授权按钮无法点击或不出现" 这通常是 HTTPS/安全上下文的问题:
1. 如果通过非 localhost 地址访问,需要配置 HTTPS
2. 尝试使用 `http://localhost:7860` 或 `http://127.0.0.1:7860` 访问
3. 检查浏览器设置中是否禁用了麦克风权限
???+ question "语音识别不准确,有很多错字" 语音识别准确率受多种因素影响:
1. 确保在安静环境中使用
2. 说话时保持适中的语速
3. 尽量使用标准普通话
4. 检查麦克风是否正常工作,避免过远或过近
???+ question "监听电脑音频配置太复杂" VoiceMeeter 的配置确实有一定学习成本。如果主要用途是与 AI 对话而非会议记录,建议直接使用麦克风模式,操作更简单。会议记录场景也可以考虑先录制会议,再使用其他功能处理录制文件。