支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


字节迷你AI硬件|本地搭建实时声控AI【喂饭级教程】太丝滑了!

发布日期:2025-04-30 21:42:42 浏览次数: 1518 作者:袋鼠帝AI客栈
推荐语

探索字节跳动迷你AI硬件,体验本地实时声控AI的丝滑快感!

核心内容:
1. 字节跳动迷你AI硬件介绍及其功能亮点
2. 详细教程:本地安装、配置AI硬件的三大步骤与11小步
3. 火山引擎提供的实时TTS和STT服务,及其智能体调用方法

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家
大家好,我是袋鼠帝
先祝大家五一假期快乐♪٩(´ω`)و♪,而我,这个五一假期依然是在家码字的节奏。
莫名被卷起来了,卷啊,卷点好。
其实不是,我是非常热爱大自然、爱自由的,不过五一我就不和大家去挤了,我等淡季的时候出去,毕竟欲买桂花同载酒,终不似,少年游。
咳咳,扯远了。
上周体验了字节最新的迷你AI硬件
喏,就是下面这个小玩意,我真的太爱了!
记忆模糊的朋友可以去这里重温一下这篇(效果真的很流畅、丝滑)

非常流畅、丝滑

袋鼠帝,公众号:袋鼠帝AI客栈体验完字节送的迷你AI硬件,后劲太大了...

PS:上篇文章评论区本来是置顶了AI硬件的购买链接,但是后面莫名其妙消失了,估计是被公众号官方隐藏了...

没想到对AI硬件感兴趣的小伙伴这么多
甚至收到了超多朋友的教程催更(逐渐离谱...)。
还有朋友担心语音回复莫得感情

主要是上次我演示的时候使用的默认音色,确实莫得感情,然后大模型也没有经过prompt调整,就显得很话痨。但主要亮点还是在实时回复,实时打断,实时接话上面,以及客服端和服务端代码开源,支持高自由度的DIY

其实,这款AI硬件提供了火山里面100多种情感饱满的音色选择。
还支持接入MiniMax的语音
可以理解为支持豆包和海螺AI的语音,还支持使用克隆的音色
说实话,这已经是汇聚了最强中文TTS
除了支持切换不同的音色,还可以自定义AI的性格、角色,接入fastgpt的智能体,接入Coze,以及接入各种MCP,用嘴玩转MCP等等。
这款迷你AI硬件的购买方式放在文末了。

建议大家先看看教程,如果觉得搞不定,或者没有达到预期,就不要随便购买哦。

本期会先带大家在本地安装、配置这个AI硬件。
内容比较多,而且非常详细,请耐心食用。
咱们先看看整个AI硬件的工作流程(官方的图)
其实简单来说,就只有三个重要元素:

1.AI硬件(客户端)


2.服务端(可自己部署):可以自定义大模型的prompt,自定义配置大模型地址,比如可以切换成fastgpt智能体,OpenAI的大模型,硅基流动,n8n等等...


3.火山引擎:提供实时、丝滑的TTS(文本转语音)和STT(语音识别)服务,同时也可以提供智能体、大模型调用服务。

整个调用链路是:
AI硬件(客户端)->服务端->火山引擎
在看看AI硬件的整个本地安装、配置的步骤(下图)
接下来我们就按照官方给出的3大步,共11小步来本地配置AI硬件。

PS:虽然这个AI硬件很nice,但毕竟是新出的,所以安装啥的步骤忒多,比较原始,本次教程应该是目前我出的所有喂饭级教程里面,难度最高的,我愿称之为地狱级难度!

欢迎大家迎接这次挑战~

教程的内容还包含之前遇到过的一些问题,可以帮大家避避坑~

好了,话不多说,我们开始喂饭!

也可参考火山官方文档:

 https://www.volcengine.com/docs/6348/1315561


一、前置准备

1.准备服务机器
准备一台Mac电脑(Windows的朋友对不住了)
本期是用一根双Type-c头的数据线连接硬件和Mac,主要作用是将Mac上配置好的客户端程序烧录进AI硬件。

其实Windows应该也能烧录,但是可能需要一个转接线(一头是Type-c,一头是USB)

2.准备开发板:就是准备这个迷你AI硬件,购买方式在文末自取
3.开通火山服务
说实话,这一步太特么复杂了,要在多个页面开通权限、获取配置参数...
好在火山已经反馈,后续会优化到一个页面完成。
咱们先根据官方的要求,在无代码跑通Demo处一键开通和创建角色
地址:https://console.volcengine.com/rtc
进入之后,点击「跑通Demo」,然后跟着指引流程走就行了
接着打开下面这个页面
https://console.volcengine.com/speech/app
应用管理里面如果已经有应用了(可能是在跑通Demo步骤自动创建了),就不用管,如果没有就点击创建应用,新建一个。
也需要开通语音合成大模型流式语音识别大模型的权限。
另外,需要复制一个大语言模型的id,备用(没有就先开通一下)
https://console.volcengine.com/ark
为了方便讲解,我把加入策略组放到「服务端」步骤里面了

二、服务端

本次教程,服务端也是部署在Mac电脑本地的,当然也可以部署到云服务器(Linux 建议使用 ubuntu18.04 及以上版本)
1.安装服务器依赖
服务端启动依赖Python环境,所以需要先检查是否有Python环境了(Mac好像是自带了)
打开终端,输入 python3 --version 查看是否已经有Python环境了
在终端执行

pip3 install requests 或者 pip install requests安装依赖

2.下载并配置工程(服务端)

服务端代码是开源的,Github地址:

https://github.com/volcengine/rtc-aigc-embedded-demo
在终端输入指令:

git clone https://github.com/volcengine/rtc-aigc-embedded-demo.git

把代码拉取下来(没有git的话也先安装一下哦)
接下来进入服务端代码所在目录

rtc-aigc-embedded-demo/server/src/

打开服务端代码RtcAigcConfig.py

设置如下参数

# 鉴权 AK/SK。前往 https://console.volcengine.com/iam/keymanage 获取AK = "yzitS6Kx0x*****fo08eYmYMhuTu"SK = "xZN65nz0CFZ******lWcAGsQPqmk"
# 实时音视频 App ID。前往 https://console.volcengine.com/rtc/listRTC 获取或创建RTC_APP_ID = "678e1574*****b9389357"# 实时音视频 APP KEY。前往 https://console.volcengine.com/rtc/listRTC 获取RTC_APP_KEY = "dc7f8939d23*******bacf4a329"
# 大模型推理接入点 EndPointId 前往 https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint?config=%7B%7D 创建DEFAULT_BOT_ID = "ep-202******36-plsp5"# 音频生成大模型-语音合成大模型 Voice_type,前往 https://console.volcengine.com/speech/service/10007 获取DEFAULT_VOICE_ID = "zh_female******_bigtts"
# 语音识别大模型-流式语音识别大模型 APPID 前往 https://console.volcengine.com/speech/service/10011 获取ASR_APP_ID = "274****256"# 音频生成大模型-语音合成大模型 APPID,前往 https://console.volcengine.com/speech/service/10007 获取TTS_APP_ID = "274****256"
# 服务端监听端口号,你可以根据实际业务需求设置端口号PORT = 8080

大模型推理接入点

获取DEFAULT_VIOCE_ID

获取ASR_APP_ID

获取TTS_APP_ID

由于某些原因,火山的这个开源服务端代码,还未更新到最新版。所以需要把源码中的服务端代码文件(RtcAigcService.py),替换一下

在公众号后台私信:“字节硬件” 获取服务端最新RtcAigcService.py文件

然后把原来的替换掉

位置:rtc-aigc-embedded-demo/server/src/

并且需要打开RtcAigcService.py,在161行,改一个配置

将token更换成自己的token,然后保存

token在下图位置获取


4.加入策略组
这个也是我之前踩的坑,本来我啥的配置好了,大模型也能进行文字回复,也能看到我的声音被语音识别的文字,但就是死活没有声音...
排查了半天,结果是因为没有把appid(RTC_APP_ID)加入策略组
而且,目前还只能发邮件申请加入...
邮箱:Conversational_AI@bytedance.com
好在他们说后续能在控制台直接申请了

4.运行服务
在终端执行指令(其实就是启动一个Python程序):
python3 RtcAigcService.py
下图这样,就代表启动成功了

三、设备端

以Mac OS为例。
我们需要先使用双头Type-c的数据线来把AI硬件和Mac电脑连接起来
注意:一定要数据线,有些线它只能充电,而没有数据传输功能,我之前就被我的线坑惨了... 
搞了半天,一直不行
后面我特意在美团超市买了一根兼顾充电和数据传输的线才得以顺利进行。
1.乐鑫环境配置

打开终端

安装 CMake 和 Ninja 编译工具

brew install cmake ninja dfu-util

clone 乐鑫ADF 框架

git clone https://github.com/espressif/esp-adf.git

进入esp-adf目录

cd esp-adf

切换到乐鑫ADF指定版本

git reset --hard 0d76650198ca96546c40d10a7ce8963bacdf820b

同步各子仓代码

git submodule update --init --recursive

安装乐鑫 esp32s3 开发环境相关依赖

./install.sh esp32s3

成功安装所有依赖后,命令行会出现如下提示

All done! You can now run:

. ./export.sh

有遇到上图问题的朋友去GitHub上面找,这是Github的截图

设置环境变量

PS:每次打开命令行窗口均需要运行该命令进行设置

. ./export.sh


2.下载并配置工程

我们需要先将实时对话式 AI 硬件示例工程 clone 到 乐鑫 ADF examples 目录下

进入 esp-adf/examples 目

cd $ADF_PATH/examples

clone 实时对话式 AI 硬件示例工程

git clone https://github.com/volcengine/rtc-aigc-embedded-demo.git

打开设备端配置文件

rtc-aigc-embedded-demo/client/espressif/esp32s3_demo/main/Config.h

设置如下参数(从服务端配置里面拿过来即可)

// 你的服务端地址:监听端口号#define DEFAULT_SERVER_HOST "192.168.x.x:8080"
// 服务端设置的大模型 EndPointId#define DEFAULT_BOT_ID "ep-20240729********"
// 服务端设置的音频生成大模型-语音合成大模型 Voice_type#define DEFAULT_VOICE_ID "zh_female_*******_bigtts"
// 服务端设置的实时音视频 APPID#define DEFAULT_RTC_APP_ID "5c833ef********"

注意:上面填的服务端地址,如果服务端是在本地,一定要填电脑的局域网IP地址(内网地址)

接下来禁用乐鑫工程中的火山组件

进入 esp-adf 目录

cd $ADF_PATH

禁用乐鑫工程中的火山组件

git apply $ADF_PATH/examples/rtc-aigc-embedded-demo/0001-fix-disable-volc-engine-in-esp.patch

更新 AtomS3R 开发板补丁

git apply $ADF_PATH/examples/rtc-aigc-embedded-demo/0001-add-atoms3r-board.patch


3.编译固件

esp-adf/examples/rtc-aigc-embedded-demo/client/espressif/esp32s3_demo 目录下编译固件

    进入 esp32s3_demo 目录

    cd $ADF_PATH/examples/rtc-aigc-embedded-demo/client/espressif/esp32s3_demo

    设置编译目标平台

    idf.py set-target esp32s3

    设置WIFI账号密码

    idf.py menuconfig

    进入 Example Connection Configuration 菜单,在 WiFi SSID 及 WiFi Password 中填入你的 WIFI 账号和密码,保存并退出配置菜单。

    WIFI SSID,其实就是你的wifi名称

    用键盘的上下键来控制选择,回车是打开,也是保存,保存最终的配置请按s,保存之后连续按键盘的esc退出。

    进入 Audio HAL 菜单,在 Audio board 中选择你的开发板型号。(例如: 方舟开发板选择 M5STACK-ATOMS3R)保存并退出配置菜单

    编译固件

    idf.py build


    4.烧录并运行示例Demo

    最后,我们需要将调整好的客户端配置和代码通过数据线传输进AI硬件中,这个过程有个专业术语叫做「烧录」

    先打开乐鑫开发板电源开关

    烧录固件

    idf.py flash

    运行示例 Demo 并查看串口日志输出

    idf.py monitor

    启动之后,正常会先回复一个欢迎语(带声音的)

    如果想要退出日志,请按 control + 】


    如果启动后发现跑不起来,可以复制红色的报错内容丢给AI(Claude、Gemini2.5 pro、DeepSeek等)

    或者把Flash Size  从16MB改成8MB

    还是先执行 idf.py menuconfig 进入菜单配置

    然后进入Serial flasher config菜单,Flash Size 从16MB改成8MB

    保存,退出。

    注意:无论是修改menuconfig还是修改客户端的Config.h,修改之后都需要保存,并重新执行编译、烧录流程

    idf.py buildidf.py flashidf.py monitor
    好了,以上就是本期所有啦
    由于篇幅原因,这款本地AI硬件的DIY玩法(接入coze、fastgpt、MCP等)放在后续的文章中给大家分享。
    本次分享的内容,实操起来还是挺难的,我第一次搞也花了将近2天...
    所以我创建了一个字节AI硬件交流群,欢迎大家加入,一起交流学习,互帮互助~
    如果二维码失效,可添加我微信:ai-kangarooking,备注“进硬件群”
    公众号后台私信:“字节硬件” 获取同款AI硬件的链接
    最后,希望我们能一起解锁AI硬件的星辰大海~
    我们,下期见

    能看到这里的都是凤毛麟角的存在!

    如果觉得不错,随手点个赞、在看、转发三连吧~

    如果想第一时间收到推送,也可以给我个星标

    谢谢你耐心看完我的文章~

    图片

    53AI,企业落地大模型首选服务商

    产品:场景落地咨询+大模型应用平台+行业解决方案

    承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    添加专属顾问

    回到顶部

    加载中...

    扫码咨询