多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

01 语音接口的硬件形态选型指南:从 Raspberry Pi 到 01 Light 的定制硬件路线

01 语音接口的硬件形态选型指南:从 Raspberry Pi 到 01 Light 的定制硬件路线 01 语音接口的硬件形态选型指南从 Raspberry Pi 到 01 Light 的定制硬件路线【免费下载链接】01The #1 open-source voice interface for desktop, mobile, and ESP32 chips.项目地址: https://gitcode.com/GitHub_Trending/01/01导读本指南以project_management/hardware/OPTIONS.md为核心系统梳理 01 开源语音接口项目在硬件形态上的选型思路非预装硬件、需要组装的 OSS 开源硬件、可直接购买的 OSS 硬件以及非 OSS 的成品硬件四大类选项并横向对比 直接购买成品 与 自研定制硬件 两条路线的取舍。读完本文你将理解 01 项目硬件团队在 Raspberry Pi、Coral.ai、uConsole、Devterm 等平台上的选型逻辑掌握 Raspberry Pi 上跑通 01 的完整实操流程以及基于 LMC 消息协议让任意自定义硬件接入 01 服务端的原理与调用链。背景01 硬件形态问题的由来在深入选项清单之前先回到project_management/hardware/TASKS.md中记录的核心决策问题我们是否应该直接购买预制硬件Should we just buy pre-made hardware?。该文件明确给出了背景判断部分 01 的形态在市面上并不存在例如无屏幕 带摄像头的 01 Light以及作为无屏幕录音机、侧面带按钮和摄像头的 01 Heavy这类形态只能靠自研 CAD 文件来制作其他备选形态已经以 Android 手机文中调侃 Rabbit R1 本质上不就是台 Android 手机吗、智能手表、笔记本、cyberdeck赛博终端等形式存在决策依据有两条估算自研定制硬件需要多长时间以及权衡定制硬件能否带来更令人印象深刻的记忆点——手握一件独一无二的硬件是这件事的重要组成部分但也可以通过选用造型足够奇特的现有硬件来达成同样的效果。OPTIONS.md正是这份决策的直接产物它把硬件选型分成四类列出当前摆在桌面上的具体选项供团队评估。四类硬件选项全景project_management/hardware/OPTIONS.md将候选硬件划分为四个梯队按定制成本从低到高、从完全现成到需要自研依次排列类别代表硬件特点非预装硬件Non-pre-madeRaspberry Pi、Raspberry Pi Coral.ai Accelerator、Coral.ai Devboard需要开发者自行组装外设最灵活需组装的 OSS 硬件Raspberry Pi Recovery kitJay Doscher 设计开源设计需购买配件自己拼装可直接购买、开源OSS硬件Clockwork 的 uConsole、Devterm有开源硬件生态买来即用可直接购买、非 OSS 硬件会议音箱、智能手表、迷你笔记本等 OEM 产品现成商用设备但需评估能否改写其操作系统值得注意的是文档作者对第四类标注了一个关键待办问题我们能在这些设备上修改操作系统吗——其中部分是 OEM原始设备制造商产品意味着或许可以联系厂商请求定制修改。这一判断直接影响 01 语音接口能否在这些设备上运行因为 01 的核心是把 LMCLanguage Model Computer架构的语音交互注入任意硬件。选项一非预装硬件Non-pre-made hardware这是最贴近 自建 的路线硬件本身只是一个计算平台语音输入输出、按钮触发等全部由开发者自行搭建Raspberry Pi最通用、资料最丰富的单板计算机仓库内有完整的部署手册见 project_management/hardware/devices/raspberry-pi/README.mdRaspberry Pi Coral.ai Accelerator在 Pi 基础上加装 Google Coral USB 加速棒为本地语音/模型推理提供边缘算力Coral.ai DevboardGoogle 官方开发板集成 Edge TPU适合在设备端直接跑推理的形态。从仓库的源码结构看01 项目为这条路线准备了完整的软件客户端software/source/clients/下同时存在rpi/device.py、linux/device.py、mac/device.py、windows/device.py等多个平台客户端它们统一继承自software/source/clients/base_device.py中的Device基类。以 rpi/device.py 为例实现极其简洁from ..base_device import Device device Device() def main(): device.start() if __name__ __main__: main()也就是说Raspberry Pi 与桌面端共享同一套设备逻辑其能力全部来自base_device.py中的Device类——这从侧面印证了 Pi 是最低门槛的 01 硬件载体 这一选项定位。选项二需组装的 OSS 开源硬件Assembly-required OSS hardware这一类只有一个条目The Raspberry Pi Recovery kit by Jay Doscher—— A MOBILE TERMINAL FOR THE END OF THE WORLD末日移动终端。这是一款以 Raspberry Pi 为核心的开源OSS硬件设计需要玩家自行购买配件并组装。文档作者对其评价是我打赌我们可以联系他让他寄一些给我们。I bet we could reach out to him and have him send some tbh.这类硬件的特点是设计开源、造型独特——正是TASKS.md中所说的 利用造型足够奇特的现有硬件来制造记忆点 的典型代表同时由于是基于 Pi 的生态01 的 Pi 客户端software/source/clients/rpi/device.py可以直接复用。选项三可直接购买的开源硬件Ready to buy, OSS hardware这类硬件买来即用且硬件设计/生态开放代表是 Clockwork 公司的两款产品Clockwork uConsoleRPi CM4 Lite 套件以树莓派计算模块为核心的掌上终端自带键盘与屏幕形态非常接近 口袋版 01Clockwork DevtermR01 套件同样是掌上终端形态带机械键盘与屏幕定位便携开发工具。两款产品都以 Raspberry Pi Compute Module 为计算核心这意味着它们天然兼容 01 在 Pi 上的部署路径——刷入系统、装好 Python 环境、运行客户端即可属于 零焊接、零设计 的折中选择。选项四可直接购买的非开源硬件Ready to buy, non-OSS hardware这是文档中最长的一份清单全部是市售商用设备作者同时抛出开放问题我们能修改这些设备上的操作系统吗部分设备是 OEM 的我猜这意味着我们可以联系制造商请求修改。清单如下会议音箱Conference speaker带麦克风阵列的免提设备天然契合语音交互智能手表Smartwatch可穿戴语音助手形态外观类似 01 Light 的智能手表Alibaba 供货方形/圆形表盘形态上最接近 01 Light 的 无屏 按钮 概念方形 01 Light 外观的智能手表麦克风 扬声器 按钮一体设备Alibaba 供货标注 ChatGPT4.0 ODM/OEM几乎就是 01 语音交互的完整硬件封装迷你口袋笔记本8 英寸文档作者调侃 等等01 Heavy 不就是个奇怪的笔记本吗shit, is the 01 Heavy just a weird laptop。这组选项的价值在于验证一个核心命题01 的形态在商用设备中已有大量近似物语音交互的硬件不必从零开始造。真正的门槛在于设备操作系统能否被改写、能否接入 01 的 WebSocket 服务。仓库配套Raspberry Pi 上跑通 01 的完整实操无论最终选择哪条硬件路线Raspberry Pi 都是仓库中配套文档最完整的平台见 project_management/hardware/devices/raspberry-pi/README.md可作为评估以上选项的实操基准。物料清单Raspberry Pi 5文档注明 只在 Raspberry Pi 5 上测试过Micro SD 卡、USB-C 电源线、Micro HDMI 转 HDMI 线显示器、键盘、鼠标USB 麦克风、USB 或蓝牙音箱面包板、跳线、220Ω 电阻和按钮按钮用于触发语音录制系统与依赖安装用 Raspberry Pi Imager 烧录 SD 卡OS 选择 Other General OS 下的Ubuntu Desktop 64bit硬件接线后开机完成 Ubuntu 初始化务必联网并记住密码更新系统并安装依赖sudo apt update sudo apt upgrade -y # 若 dpkg 报错先执行 sudo dpkg --configure -a 再重试 sudo apt install git python3-venv ffmpeg portaudio19-dev gpiod -y部署 01git clone https://github.com/KillianLucas/01 cd 01/OS/01/ python3 -m venv venv source venv/bin/activate pip install -r requirements.txt # pyaudio 安装失败时的修复 sudo apt-get install gcc make python3-dev portaudio19-dev pip install pyaudio配置 API Key编辑.env中的OPENAI_API_KEY行或export OPENAI_API_KEYsk-...然后运行bash start.sh若出现ModuleNotFoundError逐个用 pip 手动安装缺失包后重试。完成后即可在 Pi 5 上用按钮调用语音助手。按钮触发背后的调用链Raspberry Pi 上的按钮交互在 software/source/clients/base_device.py 中有清晰的实现Device类通过pynput监听空格键on_press/on_release按住空格开始通过麦克风录制 16kHz 单声道 PCM 音频并以 WebSocket 发送到0.0.0.0:10001的服务器松开后结束录制同时以 24kHz 输出流播放服务器回传的音频RECORDING_RATE 16000PLAYBACK_RATE 24000。这与 Pi 文档中 用按钮调用助手 的体验一一对应。从选项到实现自定义硬件如何接入 01硬件选定之后接入 01 的统一路径记录在 docs/hardware/custom_hardware.mdx在电脑上运行 01 服务端poetry run 01 --server按 docs/software/flags.mdx 的说明可根据部署环境追加参数安装与运行细节见 docs/software/installation.mdx。自定义硬件通过WebSocket向服务端发送 LMC 音频块即可传输语音指令。LMCLanguage Model Computer协议在 OpenAI 消息格式之上扩展了额外信息并新增了一个名为computer的角色。这意味着只要硬件具备麦克风、扬声器和一个可编程网络模块就满足接入 01 的最小条件——base_device.py中完整的音频收发循环send_audio/receive_audio正是这一协议的参考实现桌面端、移动端与 ESP32 客户端的差异只在于平台 IO 的实现方式。小结硬件决策的两个轴回到project_management/hardware/TASKS.md的决策框架OPTIONS.md的四类选项本质上是在两条轴上做权衡时间轴非预装硬件Pi需要最多的搭建工作但最灵活OSS 硬件Recovery kit需购买组装商用成品uConsole/智能手表买来即用代价是操作系统可能不可控印象轴完全定制的 01 Light/01 Heavy 独一无二但需要 CAD 设计与生产周期而市面上造型独特的 ODM/OEM 设备如会议音箱、迷你笔记本也能以较低成本制造记忆点。仓库给出的务实倾向是能直接复用的形态Android 手机、智能手表、笔记本不必从零造只有 01 Light 无屏带摄像头、01 Heavy 无屏录音机这类市场上不存在、也无法改装的形态才值得投入自研。这也是整个硬件选型文档留给后续开发者的核心方法论——先穷举现成硬件再为空白形态定制。延伸阅读硬件任务清单硬件选型决策的完整背景与评估框架Raspberry Pi 部署手册选项一/二/三的实操基准Jetson Nano 开发环境另一条非预装硬件路线含 Mac 共享网络教程自定义硬件接入指南LMC 消息协议与 WebSocket 接入说明设备客户端基类实现按钮触发、音频收发与重连机制的源码依据桌面端运行方式poetry run 01快速体验入口01 Light ESP32 硬件指南M5 ATOM Echo 固件烧录与接入流程【免费下载链接】01The #1 open-source voice interface for desktop, mobile, and ESP32 chips.项目地址: https://gitcode.com/GitHub_Trending/01/01创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表