Back to Gpt Academic

语音助手

docs/features/conversation/voice_assistant.md

latest9.5 KB
Original Source

语音助手

语音助手是 GPT Academic 中一项创新的交互功能,它让您能够通过语音与 AI 进行对话,无需打字即可获得回复。这项功能特别适合在阅读文献、写代码或处理其他事务时,想要"解放双手"与 AI 交流的场景。系统会实时监听您的语音,自动识别语音内容并转换为文字,然后发送给 AI 模型获取回复。整个过程流畅自然,就像与一位助手面对面交谈。


功能特点

语音助手采用阿里云智能语音交互服务作为语音识别引擎,提供高准确率的实时语音转文字能力。系统会持续监听麦克风输入,当检测到您停止说话超过 2 秒时,自动将已识别的语音内容提交给 AI 模型处理。这种设计让您可以自然地说话,不需要手动触发任何按钮来提交问题。

在等待 AI 回复的过程中,您可以继续提出新的问题。系统采用异步处理机制,会在后台同时处理多个请求,并按顺序将回复显示在对话区。这意味着您可以像真正的对话一样,一边听回复一边补充新的问题。

该功能还支持两种音频监听模式:您可以选择监听麦克风(即您自己说话的声音),也可以配置为监听电脑音频输出。后者特别适用于会议记录场景——您可以让系统监听腾讯会议、Zoom 等软件的音频,实时将会议内容转换为文字并让 AI 进行分析或总结。


前提条件

语音助手功能需要进行一些额外的配置才能使用。由于涉及实时语音识别服务,您需要注册阿里云账号并开通相关服务。

安装语音识别依赖

首先,安装语音助手所需的 Python 依赖包:

bash
pip install --upgrade pyOpenSSL webrtcvad scipy git+https://github.com/aliyun/alibabacloud-nls-python-sdk.git

如果因网络问题无法直接从 GitHub 安装阿里云 SDK,可以改用以下方式:

bash
# 1. 克隆阿里云语音 SDK 仓库
git clone https://github.com/aliyun/alibabacloud-nls-python-sdk.git

# 2. 进入目录并安装
cd alibabacloud-nls-python-sdk
python setup.py install

获取阿里云语音服务凭证

语音识别功能基于阿里云智能语音交互服务。您需要完成以下步骤获取必要的凭证:

  1. 注册阿里云账号:如果还没有账号,请访问 阿里云官网 注册
  2. 开通智能语音交互服务:在控制台搜索"智能语音交互"并开通服务。阿里云提供了免费试用额度,足够日常使用
  3. 创建项目获取 AppKey:进入智能语音交互控制台,在"全部项目"中创建一个新项目,获取项目的 AppKey
  4. 获取 Token:在控制台中获取 Token,或配置 AccessKey 实现自动获取

详细操作步骤可参考阿里云官方文档:智能语音交互快速入门

配置凭证

config_private.py 文件中添加以下配置:

python
# 开启语音功能
ENABLE_AUDIO = True

# 阿里云语音服务凭证
ALIYUN_APPKEY = "您的AppKey"
ALIYUN_TOKEN = "您的Token"

如果您希望系统自动刷新 Token(Token 有有效期限制),可以配置 AccessKey:

python
ENABLE_AUDIO = True
ALIYUN_APPKEY = "您的AppKey"
ALIYUN_TOKEN = ""  # 留空,系统会自动获取
ALIYUN_ACCESSKEY = "您的AccessKey ID"
ALIYUN_SECRET = "您的AccessKey Secret"

!!! warning "凭证安全提示" 请妥善保管您的阿里云凭证,不要将 config_private.py 文件上传到公开的代码仓库。该文件已被添加到 .gitignore 中,正常情况下不会被 Git 追踪。


使用方法

完成上述配置后,重新启动 GPT Academic。如果配置正确,您会在函数插件区看到 实时语音对话 按钮。

启动语音助手

使用语音助手的基本流程如下:

  1. 授权麦克风访问:首次使用时,浏览器会请求麦克风访问权限。点击浏览器地址栏附近的麦克风图标(通常在地址栏左侧或右侧),选择"允许"并选择您要使用的麦克风设备

  2. 点击插件按钮:在函数插件区找到 实时语音对话 按钮并点击。系统会显示"音频助手, 正在听您讲话"的提示

  3. 开始对话:直接对着麦克风说话即可。对话区会实时显示您正在说的内容

  4. 自动提交:当您停止说话约 2 秒后,系统会自动将识别的内容发送给 AI。如果识别的内容太短(少于 7 个字),系统会等待您继续说完

  5. 查看回复:AI 的回复会实时流式显示在对话区。您可以在等待回复时继续提出新问题

<!-- IMAGE: feat_conv_01_voice_assistant.png --> <!-- 描述: 语音助手的使用界面,展示对话区显示的语音识别内容和 AI 回复 --> <!-- 标注: ① 浏览器麦克风授权图标位置 ② "实时语音对话"按钮 ③ 对话区显示的语音识别内容 ④ AI 的回复内容 --> <!-- 尺寸建议: 1000px -->

停止语音助手

要停止语音助手,点击界面上的 停止 按钮即可。系统会结束语音监听线程并恢复到正常的文字对话模式。

如果长时间(约 5 秒)没有检测到任何语音输入,系统也会自动终止以避免资源浪费。


监听电脑音频

语音助手的一个高级用法是监听电脑的音频输出,而不是麦克风输入。这个功能可用于:

  • 会议记录:监听腾讯会议、Zoom、Teams 等会议软件的音频
  • 视频学习:监听网课或教学视频的讲解内容
  • 同声传译:实时翻译外语音频内容

要实现这个功能,您需要使用虚拟音频设备来"截获"电脑的音频输出。在 Windows 系统上,推荐使用 VB-Audio VoiceMeeter 软件(免费)。

配置步骤

  1. 下载并安装 VoiceMeeter:从 VB-Audio 官网 下载并安装

  2. 设置音频输出:打开 Windows 声音控制面板,在"播放"选项卡中,将 VoiceMeeter Input 设为默认播放设备。此时电脑的所有声音都会被 VoiceMeeter 截获

  3. 配置浏览器麦克风:在 GPT Academic 界面授权音频采集时,选择 VoiceMeeter 的虚拟麦克风作为输入设备

  4. 恢复音频监听:为了在截获音频的同时仍能听到声音,在"录制"选项卡中双击 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_APPKEYALIYUN_TOKEN(或 ALIYUN_ACCESSKEYALIYUN_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 对话而非会议记录,建议直接使用麦克风模式,操作更简单。会议记录场景也可以考虑先录制会议,再使用其他功能处理录制文件。


相关文档