在Luckfox上使用EdgeVoice语音助手

B站影视 电影资讯 2025-03-26 09:32 1

摘要:本文主要介绍如何使用百元级开发板 Luckfox Pico Ultra W 安装 EdgeVoice ,通过 Azure OpenAI 打造一个实时语音助手,实现媲美商业产品的交互体验。

本文主要介绍如何使用百元级开发板 Luckfox Pico Ultra W 安装 EdgeVoice ,通过 Azure OpenAI 打造一个实时语音助手,实现媲美商业产品的交互体验。

EdgeVoice 项目地址:https://github.com/sangyuxiaowu/EdgeVoice?wt.mc_id=DT-MVP-5005195

1.1 核心硬件

•Luckfox Pico Ultra W(约130):板载贴片麦克风,支持蓝牙、Wi-Fi 6、摄像头接入等•MX1.25 2P 接线的 8Ω 1W 喇叭(约5):播放语音•1.5寸 NV3030B 显示屏(约50,可选):显示交互界面

Luckfox Pico Ultra W

选用这个开发板的原因是因为它的性价比很高,同时支持蓝牙、Wi-Fi 6、摄像头接入等,并直接提供了板载贴片麦克风和喇叭接口,非常适合用来做语音助手。同时,它的体积小巧,携带方便,可以后期设计 3D 打印外壳,做成一个小巧的语音助手。

1.2 系统准备需要根据 Luckfox 官方文档,烧录好最新的 Ubuntu 系统固件,具体操作可参考官方文档。同时需要安装好 .NET 环境,可以自行安装或使用项目中的doc/install_dotnet_sdk_9.sh脚本安装。1.3 显示器连接

显示器是可选项,你也可以更改项目源码,使用其他显示器。下图展示了如何使用 Luckfox 接入 1.5寸 NV3030B 显示屏,具体接线可参考该图:

显示器接线

在 LuckFox 上使用时,需要先用 luckfox-config开启 SPI 和 PWM,注意:需要先关闭 LCD 和 I2C4,否则会占用 SPI 引脚。需要一个支持 PWM 的 GPIO 引脚,可以自己选一个,上图使用的是40,即PWM3_M1。

开启 SPI 时需要选择启用 MOSI和CS并设置 SPI 速率为40000000,即4后面七个零。

2.1 创建 Azure 服务在开始之前,我们需要准备好服务,在 Azure AI Foundry | Azure OpenAI 服务[1]部署一个实时语音服务。这里我们使用gpt-4o-realtime-preview,它提供了一套完整的语音交互服务,包括语音识别、语音合成、语音对话等功能。Azure AI Foundry

创建完成后即可获取到服务的服务地址和密钥信息:

服务信息2.2 音频调整在使用项目之前,需要调整音频配置,可以直接使用doc/audioset.sh脚本。主要调整了麦克风增益、喇叭音量(稍微调小了一些,设置为20,最大可以为30)、开启HPF。amixer cset name='ADC ALC Left Volume' 26amixer cset name='ADC ALC Right Volume' 6amixer cset name='ADC Digital Left Volume' 195amixer cset name='ADC Digital Right Volume' 195amixer cset name='ADC MIC Left Gain' 3amixer cset name='ADC MICBIAS Voltage' 'VREFx0_975'amixer cset name='ADC Mode' 'SingadcL'amixer cset name='ADC HPF Cut-off' 'On'amixer cset name='DAC LINEOUT Volume' 20另外,当前程序的音频使用了 Alsa 库,需要安装libasound2-dev,可以使用以下命令安装:sudo apt-get -y install libasound2-dev2.3 部署 EdgeVoice

在 Luckfox 上部署 EdgeVoice 项目,可以选择直接下载已经编译好的 EdgeVoice 项目,也可以自行编译。

dotnet publish ./src/EdgeVoice.csproj -r linux-arm -p:PublishSingleFile=true -f net9.0 --self-contained=false -o ./publish/linux-arm•树莓派需要修改linux-arm为linux-arm64•如果需要框架依赖,删除--self-contained=false参数即可•使用的库 Alsa 不支持 Windows,所以 Windows 下无法运行在 Release 中提供了框架依赖的版本linux-arm和linux-arm64,可以直接下载使用。2.4 配置 EdgeVoice在部署好 EdgeVoice 项目后,需要配置好服务地址和密钥信息,修改appsettings.json的RealtimeAPI配置。{ "Endpoint": "you.openai.azure.com", "ApiVersion": "2024-10-01-preview", "Deployment": "gpt-4o-realtime-preview", "ApiKey": "you-key"}注意:这里的Endpoint、Deployment如果没有显示器或不想启用的话,可以修改的LcdSettings节点中的SpiBus为-1即可。另外,需要准备一个 TTF 字体文件,放在项目中,并配置到的LcdSettings节点中的FontPath当然,也可以使用默认的字体,这样则需要安装ttf-wqy-zenhei。chmod +x EdgeVoicesudo -E ./EdgeVoice运行后即可看到 EdgeVoice 的启动界面,同时可以通过麦克风说话,EdgeVoice 会实时识别语音并返回结果。这里需要注意的是,因为使用了音频和GPIO,所以需要使用sudo权限运行,同时需要使用-E参数保留环境变量。EdgeVoice

通过本文的介绍,你可以在 Luckfox 上使用 EdgeVoice 语音助手,实现媲美商业产品的交互体验。同时,你也可以根据自己的需求,自定义 EdgeVoice 的功能,实现更多有趣的功能。后续我们还会继续优化 EdgeVoice 项目,增加更多的功能,如小智接入和智能家居控制等,敬请期待。

References[1]

来源:opendotnet

相关推荐