引言
"Record your dreams. Wake up. Speak. Watch them come to life."
这是「一天一个开源项目」系列的第 59 篇文章。今天介绍的项目是 Dream Recorder (GitHub)。
想把梦境变成可回放的视频?Dream Recorder 是 Modem 开源的物理梦境记录设备 :醒来后对着麦克风口述梦境 ,系统通过 OpenAI 生成文本提示、LumaLabs 生成 AI 视频,在 7.9 寸超宽屏上播放。基于 树莓派 5 、电容触摸 、3D 打印外壳,约 285 欧元自建,单次梦境成本约 0.15 美元。
你将学到什么
- Dream Recorder 的硬件与流程
- 单触与双触操作逻辑
- 硬件清单与 3D 打印外壳
- 本地开发与 dreamctl 工具
- 与纯软件方案的对比
前置知识
- 对树莓派、Docker 有基本了解
- 有 3D 打印机(可选,用于外壳)
项目背景
项目简介
Dream Recorder 是 Modem 开源的梦境记录与 AI 视频生成设备。用户醒来后对着麦克风口述梦境,系统将语音转为文本、生成视频提示,再调用 LumaLabs 生成 5 秒 21:9 超宽视频,在设备上播放。设备采用树莓派 5、7.9 寸 1280×400 超宽屏、电容触摸、USB 麦克风,外壳可 3D 打印,透明 PLA 设计。
团队
- 团队 :Modem(modemworks.com)
- 协作:Mark Hinch(软硬件)、Ben Levinas & Joe Tsao(工业设计)、Alexis Jamet(插画)
项目数据
- ⭐ GitHub Stars: 1.5k+
- 🍴 Forks: 115+
- 📄 License: MIT
- 🌐 官网 : modemworks.com/projects/dr...
- 💰 硬件成本: 约 €285(2025 年 5 月)
- 💰 单次梦境成本 : OpenAI < <math xmlns="http://www.w3.org/1998/Math/MathML"> 0.01 + L u m a L a b s 约 0.01 + LumaLabs 约 </math>0.01+LumaLabs约0.14
主要功能
核心流程
- 口述梦境:双触进入录音 → 对着麦克风说话 → 单触结束
- AI 处理:OpenAI 语音转文本 + 生成视频提示 → LumaLabs 生成 5 秒 540p 21:9 视频(ray-flash-2)
- 播放:单触播放最新梦境;播放中单触切上一段;双触返回时钟模式
操作逻辑
| 操作 | 状态 | 说明 |
|---|---|---|
| 单触 | 待机 | 播放最新梦境 |
| 单触 | 播放中 | 播放上一段梦境 |
| 双触 | 播放中 | 返回时钟模式 |
| 双触 | 待机 | 开始录音 |
| 单触 | 录音中 | 结束录音并生成梦境 |
使用场景
- 个人梦境记录:醒来后立刻口述,保存为可回放视频
- 创意灵感:睡前或醒来后的创意碎片可视化
- 硬件与 AI 结合:树莓派 + 触摸 + 麦克风 + 云端 AI 的完整示例
快速开始
硬件清单(约 €285):
- 树莓派 5 8GB
- Waveshare 7.9 寸超宽屏 1280×400(带触摸)
- USB 麦克风
- TTP223B 电容触摸传感器
- 电源、线缆、散热、MicroSD 等
详见 README 购物清单。
安装与配置:
- 用 Raspberry Pi Imager 烧录 Raspberry Pi OS(64-bit),主机名
dreamer,启用 SSH - SSH 连接后执行
raspi-config启用 VNC、设置时区 - 用 RealVNC 连接,配置屏幕方向为「横向」
- 获取 OpenAI、LumaLabs API 密钥
git clone仓库 →./pi_installer.sh→ 输入 API 密钥 →sudo reboot
本地开发:
bash
git clone https://github.com/modem-works/dream-recorder
cd dream-recorder
cp .env.example .env
cp config.example.json config.json
# 编辑 .env 填入 API 密钥
docker compose -f docker-compose.dev.yml build
docker compose -f docker-compose.dev.yml up -d
# 访问 http://localhost:5000
3D 打印外壳
- 文件 :
3DAssets/下dream-recorder_front.stl、dream-recorder_back.stl及预切片 G-code - 材料:透明 PLA 推荐
- 参数:0.2mm 层高、0.4mm 喷嘴、15% 填充、树形支撑
- 组装:前后壳压合,无需胶水或螺丝
项目优势
| 对比项 | Dream Recorder | 纯软件梦境记录 | 纯文字日记 |
|---|---|---|---|
| 形态 | 物理设备,床头即用 | 手机/电脑 App | 纸笔/笔记 |
| 输出 | AI 视频 | 视实现而定 | 文本 |
| 交互 | 触摸 + 语音 | 触屏 + 语音 | 手写/打字 |
| 成本 | 自建约 €285 + API | 订阅或免费 | 极低 |
| 开源 | MIT,完整硬件+软件 | 视项目而定 | 无 |
项目详细剖析
技术栈
- 语言:Python、JavaScript、Shell、HTML、CSS
- 运行:Docker Compose、树莓派 OS
- AI:OpenAI(语音转文本、提示生成)、LumaLabs(视频生成)
- 硬件:树莓派 5、GPIO、TTP223B、USB 麦克风
dreamctl 命令
| 命令 | 说明 |
|---|---|
./dreamctl config |
编辑配置 |
./dreamctl test |
运行单元测试 |
./dreamctl test-cov |
测试覆盖报告 |
./dreamctl gpio-logs |
查看 GPIO 日志 |
./dreamctl help |
帮助 |
管理界面
访问 http://dreamer:5000/dreams 可查看、管理已生成的梦境。
成本与 API
- OpenAI:语音转文本 + 视频提示生成,< $0.01/梦
- LumaLabs:540p 21:9 5 秒视频(ray-flash-2),约 $0.14/梦
- 建议:OpenAI 充值 ~ <math xmlns="http://www.w3.org/1998/Math/MathML"> 5 , L u m a L a b s 充值 5,LumaLabs 充值 ~ </math>5,LumaLabs充值 20
项目地址与资源
官方资源
- 🌟 GitHub : github.com/modem-works...
- 🌐 官网 : modemworks.com/projects/dr...
- 📄 组装指南 : docs/manuals/assembly_guide.pdf
- 📈 架构图 : docs/diagrams/application_architecture.mmd
- 🐛 Issues : GitHub Issues
适用人群
- 希望把梦境可视化的创意爱好者
- 树莓派与硬件 DIY 玩家
- 想学习 AI 视频生成 + 硬件结合的开发者
- 有 3D 打印机、想打印外壳的用户
欢迎来我中的个人主页找到更多有用的知识和有趣的产品