Skip to content

使用音频交互功能

binary-husky edited this page Jan 22, 2024 · 3 revisions

使用音频交互功能

1. 安装额外依赖

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

如果因为特色网络问题导致上述命令无法执行:

  1. git clone alibabacloud-nls-python-sdk这个项目(或者直接前往Github对应网址下载压缩包). 命令行输入: git clone https://github.com/aliyun/alibabacloud-nls-python-sdk.git
  2. 进入alibabacloud-nls-python-sdk目录命令行输入:python setup.py install

2. 配置音频功能开关 和 阿里云APPKEY(config.py/config_private.py/环境变量)

  • 注册阿里云账号
  • 开通 智能语音交互 (有免费白嫖时长)
  • 获取token和appkey
  • 未来将逐步用其他更廉价的云服务取代阿里云
ENABLE_AUDIO = True
ALIYUN_TOKEN = "554a50fcd0bb476c8d07bb630e94d20c"    # 此token已经失效
ALIYUN_APPKEY = "RoPlZrM88DnAFkZK"   # 此appkey已经失效

参考 https://help.aliyun.com/document_detail/450255.html 先有阿里云开发者账号,登录之后,需要开通 智能语音交互 的功能,可以免费获得一个token,然后在 全部项目 中,创建一个项目,可以获得一个appkey.

  • 进阶功能 进一步填写ALIYUN_ACCESSKEY和ALIYUN_SECRET实现自动获取ALIYUN_TOKEN
ALIYUN_APPKEY = "RoP1ZrM84DnAFkZK"
ALIYUN_TOKEN = ""
ALIYUN_ACCESSKEY = "LTAI5q6BrFUzoRXVGUWnekh1"
ALIYUN_SECRET = "eHmI20AVWIaQZ0CiTD2bGQVsaP9i68"

3.启动

启动gpt-academic python main.py

4.点击record from microphe,授权音频采集

I 如果需要监听自己说话(不监听电脑音频),直接在浏览器中选择对应的麦即可

II 如果需要监听电脑音频(不监听自己说话),需要安装VB-Audio VoiceMeeter,打开声音控制面板(sound control panel)

  • 1 [把电脑的所有外放声音用VoiceMeeter截留] 在输出区(playback)选项卡,把VoiceMeeter Input虚拟设备set as default设为默认播放设备。
  • 2 [把截留的声音释放到gpt-academic] 打开gpt-academic主界面,授权音频采集后,在浏览器地址栏或者类似的地方会出现一个麦克风图标,打开后,按照浏览器的提示,选择VoiceMeeter虚拟麦克风。然后刷新页面,重新授权音频采集。
  • 3 [把截留的声音同时释放到耳机或音响] 完成第一步之后,您应处于听不到电脑声音的状态。为了在截获音频的同时,避免影响正常使用,请完成这最后一步配置。在声音控制面板(sound control panel)输入区(recording)选项卡,把VoiceMeeter Output虚拟设备set as default。双击进入VoiceMeeter Output虚拟设备的设置。
    • 3-1 进入VoiceMeeter Output虚拟设备子菜单,打开listen选项卡。
    • 3-2 勾选Listen to this device。
    • 3-3 在playback through this device下拉菜单中选择你的正常耳机或音响。

III [把特殊软件(如腾讯会议)的外放声音用VoiceMeeter截留] 在完成步骤II的基础上,在特殊软件(如腾讯会议)中,打开声音菜单,选择扬声器VoiceMeeter Input,选择麦克风为正常耳机麦。

VI 两种音频监听模式切换时,需要刷新页面才有效。

VII 非localhost运行+非https情况下无法打开录音功能的坑:https://blog.csdn.net/weixin_39461487/article/details/109594434

5.点击函数插件区“实时音频采集” 或者其他音频交互功能

flowchart TD
    A["安装依赖"] --> B["配置音频功能"]
    B --> C["获取阿里云Token和AppKey"]
    C --> D["设置环境变量或config.py"]
    D --> E["启动程序"]
    E --> F["授权音频采集"]
    F --> G["选择麦克风"]
    G --> |"监听自己说话"| H["直接选择麦克风"]
    G --> |"监听电脑音频"| I["安装VoiceMeeter"]
    I --> J["设置VoiceMeeter"]
    J --> J1["把电脑的所有外放声音用VoiceMeeter截留"]
    J1 --> J2["把截留的声音释放到gpt-academic"]
    J1 --> J3
    J2 --> J3["把截留的声音同时释放到耳机或音响"]
    J3 --> |"是腾讯会议"| J4["把特殊软件(如腾讯会议)的外放声音用VoiceMeeter截留"]
    J4 --> M["点击音频采集功能"]
    J3 --> |"不是腾讯会议"| M
    H --> M["点击音频采集功能"]
    M --> N["使用音频交互功能"]