当前策划资料

当前基线:硬件 v0.4.2 / 系统 v0.5。文中的规划值不代表样机已达标。

DUET T1|系统方案 v0.5

版本日期:2026-10-30(Asia/Shanghai)。硬件基线:v0.4.2。用户已认可当前硬件设计方向,本轮进入系统设计,不修改产品几何。本文是可供软硬件团队实施和验证的方案;网页交互为预设文本演示,尚未接通麦克风、模型、云服务或实体设备。

系统评审与双屏演示 · 硬件与3D · 资源预算 · 状态规则原型

1. 系统决策

做一台打开就能对话、断网也能用的专用翻译设备。核心链路采用本地双路语音识别,联网时使用云端文本翻译,断网时切换本地翻译;字幕优先,朗读可选。

项目 v0.5决策 适用边界
首发语言 普通话 ↔ 英语;出厂预装完整双向包 此为系统开发基线提案,更多语言逐对验收,不沿用云端语言数
联网模式 默认自动:本地ASR → 云端MT → 本地TTS 第一次启用文字上云需明确选择;未启用则本地运行
完全离线 本地ASR、双向MT、TTS,免登录使用 必须有完整且验证通过的语言包;TTS缺失时仍可文字翻译
同时说话 A/B两路独立识别与译文,按物理屏面确定归属 不承诺零串音;高风险语段提示重说,不自造译文
操作系统 RK3576供应商固定版Linux BSP,Buildroot裁剪,C/C++服务 BSP、音频时钟、多屏驱动必须在实板确认
显示 LVGL原生界面;LCD持续显示草稿,墨水屏只提交稳定短句 墨水屏波形、温度和刷新时间另测,不宣称与LCD体验相同
设备配置 RK3576级、4 GB RAM、16 GB eMMC、双面8麦、单Type-C、无摄像头 沿用现有候选配置;硬件外观认可不等同器件量产认证
基础功能边界 翻译、可选朗读、语言包、联网设置、系统更新 暂不增加会议纪要、OCR、聊天机器人、相机和账号社交体系

该方案较旧v0.1的默认音频上云链路有所调整:默认只发送已稳定的待译文字,减少网络依赖及持续语音服务费用。代价是云端翻译不能恢复本地识别已经听错的内容;首先靠显示原文、重说、词库与ASR改进解决。原始声音上云作为后续单独功能评估,本版不启用。

2. 用户完整路径

  1. 开机自检本地语言包。首次使用无需注册;A屏选择自己的语言,B屏语言由A侧设置并在B屏确认显示。
  2. 出厂中英包立即可用。联网增强首次使用明确说明“将待译文字发送至云端”;拒绝后仍可离线翻译。
  3. 桌面倒V放置,维持当前约45°/面的已认可姿态;用户在各自屏前约0.4–0.8 m。此距离是首轮测试范围,不是已经实现的拾音保证。
  4. 短按主操作键开始/暂停。双方正常说话;“对方说”用本侧语言大字显示,原文小字保留;“我说”独立区域展示自己的原文及译文,方便纠错。
  5. 断网显示“本地翻译”,已完成译文保留,当前未完成句转本地,不回放历史语音。
  6. 开启朗读后,只读稳定译文。两人同时说话时继续字幕,先等说话结束;任一人再开口就停止设备朗读。
  7. 暂停立即停止采集提交、联网请求与播放,清空未完成语段;结束对话清除临时文本。没有默认长期录音或会话历史。

实体键与配网

按现有侧键布局定义三键交互,不增加触控屏:确认键短按开始/暂停、长按进入菜单;上下键移动,确认键选择,菜单内长按返回;电源键遵守电源管理。语言、亮度、音量、朗读开关、重读上一句均可通过菜单完成。误按返回不丢当前稳定字幕。

初次配网采用按键发起的设备临时热点+手机本地配网页,不要求下载App。设备显示一次性连接码、有效期和剩余时间;临时热点使用随机密码,仅开放配网服务,最多一个配对会话,5分钟或完成后关闭。手机仅把目标SSID/密码送到设备,不经过云端、不写入诊断日志。复杂企业认证Wi-Fi不列入首版;用手机热点作为可用退路。UI演示按钮是评审控制,不代表增加机身触摸操作。

3. 系统分层与进程边界

8路同步麦克风 ─┐
              ├→ audio-service:校准 / 播放回声消除 / 双面空间滤波 / 降噪
2路实际播放参考┘                          │A单声道       │B单声道
                                  speech-service:两套流状态,共享ASR权重
                                                │A/B稳定短句
                                       session-service:语段、版本、模式、质量
                                           ┌────┴────┐
                                      local-mt     cloud-gateway
                                           └────┬────┘
                                            稳定译文提交
                                         ┌──────┴──────┐
                                  display-service    tts-worker
                                    A屏 / B屏         全机单一播放队列

maintenance:配网、语言包、A/B升级、健康信息;对话时暂停下载和安装。
模块 责任与接口 失败处理
audio-service ALSA独占8路采集及2路播放参考;共享内存环形缓冲,10 ms时钟 丢帧/时钟异常停止提交不完整语段,提示拾音异常,不生成连续假字幕
speech-service 常驻识别器、A/B独立OnlineStream、VAD、稳定前缀和断句 看门狗重启该服务,保留已提交字幕;正在说的句子请重说
session-service 单一会话事实源,维护语段ID、源版本、引擎代次、超时、朗读策略 只有它可提交最终译文;防止云/本地重复、乱序覆盖
local-mt 常驻两方向模型,双队列公平调度,每侧最多1个执行+1个待处理 队列满时提示稍慢并保留待译原文;不静默丢掉另一侧
cloud-gateway TLS连接产品后端,发送稳定文字;供应商密钥只存后端 超时/限流转本地,迟到结果丢弃;禁用模式不建立翻译连接
display-service 同一会话生成两套视图,语言和阅读顺序独立 单屏异常另一屏继续;显示异常不会阻塞音频线程
tts-worker 仅合成已提交文本,播放可中断,回送实际PCM参考 缺语音包/算力不足保持字幕,显示朗读不可用
maintenance 配网、签名包校验、OTA、健康计数 与实时链路隔离;更新失败回退,离线核心不依赖云账号

控制消息先采用本机Unix socket+带版本JSON,PCM只走共享内存,避免将8路音频编码成JSON。量产是否更换消息编码取决于实测,不预先引入微服务、容器或消息队列。各服务以最小设备访问权限启动,只有更新服务具备写系统槽的权限。

双屏驱动须落实到BSP: RK3576官方列出多屏异显能力,但实际板卡走哪两个输出仍由屏幕选型决定。[S1] LVGL可以管理独立显示对象;其现成Linux DRM驱动当前标注每DRM设备一个显示,不能直接推断同一card0的两个接口可用。[S10] LCD原型先用Wayland/Weston双输出验证映射;量产可改专用双connector DRM后端。墨水屏单独实现flush、busy与温度波形适配,不经持续动画刷新。两条实现的CPU、内存开销均纳入预算。

4. 双人同时说话:音频方案

4.1 采集与校准

4.2 处理顺序与困难点

先去直流/匹配通道,再用两扬声器实际送DAC的PCM做多通道回声消除,保持通道相位关系;随后输出面向A和B的两个空间滤波结果,再做降噪、增益和语音活动检测。调度启动阶段用定向延时叠加作基准,再比较MVDR等自适应方案;复杂神经分离只有在质量或串音验收失败且资源允许时引入,不列作4 GB设备必然具备的能力。

WebRTC APM提供AEC、降噪、AGC及10 ms处理接口,可作基准候选;其默认配置不等于本机8路阵列算法,更不等于双讲分离已经完成。[S11]

AEC去的是设备自己播放的声音。对面真人说话是另一条有效语音,不能作为回声直接删掉。 两侧各4麦仍可能收到同一人的声音;需要结合跨面能量、延时、空间一致性和双讲检测归属。单面平面阵列的前后歧义与约120 mm孔距引发的频段问题都要实测。

5. 端侧与云端模型选型

下表是首轮工程选型,支持性及许可证来自2026-10-30查看的官方文档/模型卡,尚未在本机跑分。完整软件包要固定版本、模型修订ID、哈希与授权文件,运行库的许可证不能代替模型权重和语音素材的授权。

环节 首选验证路线 已核实依据 / 待做事项
流式ASR sherpa-onnx + 小型中英Zipformer,CPU INT8先建立双路基准 运行库Apache-2.0;对应中英模型卡标注Apache-2.0,官方有流式INT8用法。[S2][S3] 在RK3576测两路缓存、尾延迟及口音,不能套用文档电脑RTF
ASR加速 同模型家族RKNN FP16验证,合格后替换CPU路径 Rockchip模型仓列出RK3576及Zipformer示例。[S4] 算子、流缓存和校准逐项验证;示例单路推理数字不证明双路整机续航
离线MT CTranslate2 ARM64 INT8 + 两个Marian/OPUS方向模型 CT2支持ARM64/MarianMT,MIT。[S5] en→zh模型卡Apache-2.0;zh→en为CC-BY-4.0,需保留署名及变更信息。[S6][S7] 两方向单独测,目标明确为简体中文,处理正确的目标语言token
联网MT 产品后端封装Qwen-MT-Flash,固定源/目标语言与术语表 官方支持文本翻译与流式输出。[S8] 仅作为国内部署的首轮候选;地域、价格、限流及文本留存条款在签约前核实
本地TTS Kokoro-82M-v1.1-zh作为中英样机候选,仅加载需要的音色 模型卡列中英、Apache-2.0。[S9] 需验证ONNX导出、ARM延迟、声音授权及音素前端依赖;不能把权重许可扩展到全部依赖。若超预算,改经授权的小型TTS包
VAD / 断句 音频能量+小型VAD模型+稳定前缀 门槛随背景噪声校准,避免截掉轻声/句尾;模型许可证单列

不把通用大语言模型常驻作为基础款离线翻译的前提。先用专用ASR+双向MT+可选TTS控制资源;术语库、数字/单位检查和双侧显示比增加泛聊天功能优先。

原型ASR权重可小于运行内存预算很多,但运行峰值还包括两路状态、推理工作区、线程、音频及UI;不得用文件大小推断4 GB一定够用。离线MT的公开测试分数也不代表商务短句、否定词、金额和单位已经合格。

6. 实时语段、端云切换与结果一致性

6.1 语段生命周期

listening → draft → source_final → translating → committed;任一步可进入uncertain / blocked / cancelled。

LCD先显示本侧原文草稿,通常不把每个字立即送翻译。短停顿达到约350 ms并且识别尾部稳定后形成短句;长句优先在语义边界拆成2–4秒片段,最长5秒尝试切稳定前缀,剩余部分继续识别。以上均为调优起点,不强行在数字、日期和否定结构中间截断。

稳定源句才发MT。LCD可显示标注“翻译中”的译文草稿,但TTS只读最终提交文本;墨水屏不显示草稿。已经提交/朗读的片段不被后到云结果重写。如确需纠错,新建“更正”片段并明确关联上一句。

6.2 路由规则

当前情况 当前句怎么走 下一句怎么走
自动+网络可用+允许上云 本地ASR → 云端MT,设置硬截止 继续云端,连续失败触发短暂熔断
云端文字完成后1.2秒仍未得到可提交结果 取消该云任务的有效代次,将稳定源句送本地MT 进入本地;不要等待云端无期限返回
断网 当前未提交句的引擎代次加1,切本地;已提交不动 本地
网络恢复 当前本地句继续完成,不重算 连续健康30秒且在下一句边界后恢复云端
用户选完全离线或未允许上云 不发送翻译文字,不探测云端翻译服务 本地;独立的软件更新需用户发起
没有已验证的双向MT/ASR包 阻止开始该离线语言对,显示下载/换语言 不能用过期云结果假装离线翻译
只有TTS包缺失 字幕正常,朗读置灰并说明 字幕正常

超时是从稳定源句进入云MT起计;网络掉线检测另计。断网恢复不承诺零延迟,也不把已经合成的历史语音偷偷上传补账。

6.3 事件协议

每个事件携带session_id / segment_id / side / source_revision / engine_epoch / event_seq / type及单调时钟。原文和译文另有source_lang / target_lang / text / is_final / quality_flags。

完整产品协议还需鉴权、长度/编码验证和版本兼容。随附的状态规则原型仅验证路由、双屏归属、版本过滤、暂停与朗读行为,不能替代实际固件。

7. 双屏显示与朗读规则

A侧以中文阅读:B的英文原文配大字中文译文;A自己的中文及对应英文在独立的“我说”区。B侧相反。两屏来自同一会话数据,禁止一屏显示一个最终版本、另一屏仍覆盖为旧草稿。每屏正文可留2–3条最近稳定短句;超长文本分页或平稳滚动,不缩成难读小字。

情况 LCD 墨水屏
识别中 原文草稿低频更新,最多5次/秒 保留上一稳定句;状态区域仅必要时更新
翻译中 草稿与最终字体/状态明确区分 收到最终短句才刷新
新稳定句 更新相应区域,目标UI排队≤100 ms 合并脏区;上一刷新busy时只保留最新待显示版本,历史仍在会话列表
残影/温度 无对应需求 全刷阈值由模组波形与测试给定,不继承旧4.2英寸屏的次数参数
重叠说话 双路保留,不遮掉另一方 两条稳定短句顺序提交,优先可读,不做波形动画

朗读默认关闭。开启后全机同一时刻只有一个扬声器播报,目标面为接收译文的一侧。两侧都静音350 ms后才开始;任一侧讲话,目标150 ms内打断。已经开始的片段即标记自动播报已消费,被打断后不自动重头读;用户可手动重读。未播队列最多2句、最长等待8秒,过时仅留字幕,避免对话结束后设备还在念历史。距离和扩音结构不能保证另一侧完全听不到。

8. 延迟、内存、存储与功耗预算

所有数值均为待验证的工程目标/容量分配,不是实际跑分。LCD验收与墨水屏验收分开;不把屏幕刷新时间等同于翻译处理时间。

8.1 延迟定义

指标 首轮目标 测量起止
LCD首个可见原文 P95 ≤0.9 s 首个可辨认音节 → 本侧首次草稿实际显示
本地稳定译文 P50 ≤1.2 s;P95 ≤2.0 s 稳定短句最后音节 → 对侧最终文字实际显示
正常云端稳定译文 P95 ≤2.5 s 同上,测试网络往返时延单独记录
云端超时后的本地接续 P95 ≤3.0 s 同上,包含等云硬截止,不能另起计时掩盖等待
打断朗读 P95 ≤150 ms 新说话可检测起点 → 扬声器实际停止
冷启动 / 唤醒可说话 ≤12 s / ≤1.5 s 电源事件 → ASR就绪,非仅首屏点亮

名义本地尾延迟分解:断句350 ms+ASR收尾250 ms+MT400 ms+显示100 ms=1.10 s。这是串行预算,不是各阶段P95相加就得到系统P95。真实P95在双路同时运行、温升和朗读负载下按整段测量。墨水屏另加实测刷新耗时,发布前单列其用户可见延迟,不能沿用LCD的2秒承诺。

8.2 4 GB运行内存规划

项目 预算 MiB
内核、BSP、驱动/CMA预留 550
基础服务、连接、维护 180
双屏UI、字体、缓冲 220
音频与双路DSP 160
ASR共享模型+双路状态 700
两方向MT+分词器 600
单实例TTS+音色 350
文本缓存、云连接、词库 160
分配合计 2,920
相对4,096 MiB名义容量的余量 1,176

DRAM标称与Linux可用内存需实板核对。验收目标:持续双路、显示、可选TTS场景无OOM;扣除实际保留区后MemAvailable至少768 MiB,不用各进程RSS直接相加重复计算共享页。达到高水位先停止下载、释放非当前音色/缓存和可选TTS,不关闭某一方ASR来假装性能达标。若核心仍不达标,压缩/更换模型或调整板级配置,不进入量产门。

8.3 16 GB存储规划

16 GB十进制约14.90 GiB。规划为启动/恢复0.5、系统A/B各2、已安装语言包4、下载/升级暂存2、设置与轮转诊断0.5、未分配及文件系统余量约3.9 GiB。按实际格式化后容量复核。

中英完整包目标≤2 GiB,初步分配ASR0.25、双向MT0.50、TTS0.50、词典/字体/元数据0.25 GiB,共1.50 GiB,余量0.50 GiB;这是下载产物上限目标,非已打包大小。共享模型按哈希去重,不为两侧复制两份;首版保证一个出厂语言对和其更新空间,不承诺装下多少其他语言。

空间不足只删除未使用可选包并经用户选择;禁止删除当前包后再赌新包下载成功。下载、解包、旧包保留与原子切换同时所需空间必须预检,签名通过后才能安装。

8.4 5小时系统约束

沿用未验证的2×1,600 mAh、3.85 V假设:标称12.32 Wh,容量与电源效率各90%后负载可用约9.98 Wh;5 h要求平均负载≤2.00 W。该计算不证明电芯容量或续航。

建议把2.00 W分为主控/内存/推理1.00、双屏0.45、拾音及播放0.20、无线0.12、存储及杂项0.13、余量0.10 W。预算均按负载侧计;电源效率已经在可用能量中扣除,避免重复扣减。此分配相当紧,LCD尤其需要验证亮度和推理占空比;墨水屏省显示电也不能消掉ASR/MT耗电。

优先测量正常交替对话、双方持续重叠、朗读开启三种模式。先优化模型量化、VAD调度、背光和无线空闲;不得为凑5小时削弱另一侧识别或关闭必要字幕。若不达标,明确发布不同使用场景的续航或回到系统/电池取舍,不继续沿用5小时保证。

9. 语言包、系统升级与恢复

语言包清单记录:语言对、ASR及双向MT能力、可选TTS能力、模型/分词器/音色的独立版本与许可证、安装/下载字节数、文件哈希、最低固件版本、硬件后端、签名、质量门禁版本。厂测离线模式需真正关闭网络后通过整条链路;只有词库不算离线包。

包状态为未安装 → 下载中 → 校验 → 待启用 → 可用,失败回到原可用包。分块续传,下载/解压限制CPU与写盘;对话时暂停安装,低电量或未接电时不做系统槽切换。

系统采用只读A/B镜像+独立配置区,RAUC为候选更新框架,提供签名及与启动过程协作的能力。[S12] 安装后首次启动必须通过音频、屏幕、语言包自检才mark-good;连续启动失败回上一可用槽。语言包独立签名和原子目录切换,不强迫每次词库更新重刷系统。掉电、签名失败、空间不足、断网和版本不兼容全部纳入故障注入。

10. 云端服务、隐私与运营成本

产品云后端只保留设备短期鉴权、翻译代理、语言包目录/CDN、固件目录、匿名健康聚合。首版不做复杂用户账号;设备证书/密钥独立,供应商API密钥不下发设备。量产密钥安全存储和启动链要与ODM核实,不能因为已有Linux就声称安全启动完成。

默认不上传原始音频,不在日志中保存原文/译文。临时对话在内存中滚动保留,结束后清除。若以后增加保存/导出,须显式开关、双方可见状态及保留期。后端接入供应商前核对地区和内容留存条款;没有合同不能承诺零留存或跨境合规。

成本口径

端侧推理无按分钟云调用费,但有工程、授权、升级及售后费用。云端费用改按稳定短句的输入/输出token核算,不沿用旧音频ASR每分钟预算:

每设备月云费用 = (输入token × 输入单价 + 输出token × 输出单价) / 1,000,000 + 网关/流量分摊。

纯预算演算:每日30分钟、每月30天、每分钟两方向合计输入180 token和输出220 token,得到月输入162,000、输出198,000。若假设输入/输出单价分别为2/6元每百万token,则模型部分1.512元/设备月;这两个单价是演算变量,不是供应商报价。上下文、重复请求、超时已计算、术语附加和地域不同会改变实际账单。订阅定价须在取得真实报价及代表性会话token测量后决定。

研发投入先按8周原型、约36人周规划:系统负责人8、音频算法8、端侧模型8、嵌入式/UI8、测试4人周;合作方与人员可复用,不等于需要同时招聘5人。若每人周全成本为R元,人工预算为36R,另外单列样机、授权、测试设备和云服务;未询价,不给伪精确采购金额。

11. 验收矩阵与研发排期

样机质量门槛(提案,全部尚待实测)

准备至少20位中英说话者、200组双人对话;覆盖男女声、口音、轻声、0.4/0.8 m、0/6/12 dB声级差,安静/60 dBA环境噪声以及不同桌面反射。精确噪声、距离和SNR必须实测记录;重叠比例含0%、30%、60%,并另测连续10秒双人同时说话。训练/调优与留出评测分开,同一说话者不泄漏到调参集。

验收项 首轮进入下一阶段的目标 不能用什么替代
音频同步 8通道无累计漂移;1 h连续采集0丢帧,记录设备日志 8个孔位/8个麦克风BOM
ASR单人 安静中文CER≤10%、英语WER≤15%;按距离/口音分组 模型卡公开语料分数
重叠识别 相比同句单人基线CER/WER恶化≤10个百分点,错面语段≤3% 两个线程同时在跑
商务翻译 留出集至少300句/方向;双语盲评可用≥90%,数字/单位/否定关键项≥98% 单一BLEU或“AI准确率”
时延 达到第8节定义,在双讲和温升后统计P50/P95/P99 只报最快单句或MT接口响应
朗读与回声 播放期间空房30分钟不产生最终译文;插话打断P95≤150 ms 静音模式通过
连续运行 8 h会话无崩溃、无OOM、无持续积压;5 h续航独立实测 短时桌面演示
断网一致性 100次故障注入,0重复最终句/朗读、0迟到覆盖 网络图标变成离线
包与OTA 掉电/签名错/空间不足/不兼容故障均保留可启动旧版本 下载成功

这些是拟定的交付门槛,不是已经达到的行业指标。重叠场景若不达标,先修音频和模型;可以提供清晰标注的轮流说话降级,但不得以降级通过宣称同时说话目标已验收。

阶段 周期假设 交付与进入下一阶段的门槛
G0 板级与采集 第1–2周 8路同步与双显示可用;音频校准集、按键与电源日志;失败不继续堆模型
G1 离线中英闭环 第3–4周 ASR→MT→双屏,静音字幕先行;测真实内存/尾延迟,完全断网可用
G2 双讲与可选朗读 第5–6周 回声、重叠、打断、数字术语;提交分场景质量报告,接入云网关候选
G3 恢复与长稳 第7–8周 断网、签名语言包、A/B回滚、8 h长稳、续航与温升报告,决定是否进入EVT

8周是完成上述验证用原型的规划,不是量产承诺;不含开模、认证、量产良率或供应商交期。每个门槛失败先闭环,再进入下一阶段。

12. 本轮交付与真实完成状态

完成:系统方案、资源与费用参数、交互评审页、可执行的会话状态规则原型,以及对应规则测试。交互页用固定的中英例句展示正常对话、同时说话、云端迟到、朗读打断、听不清及离线包缺失,明示为模拟;不会请求麦克风或调用真实云服务。

未完成:实体样机、固件、模型转换与下载、8路音频、真实离线推理、云端开通、语言包签名发行、实测功耗/温升/续航。当前可以评审产品行为和研发接口,不能据网页效果判断声学和翻译质量。

资料来源

以下资料于2026-10-30核对。链接支持平台/接口/许可事实;所有本机性能、资源、成本和质量数字均为本方案设计输入,未借用来源中的跑分冒充本机实测。

部分历史附件仅保留在原项目中;这些引用不包含在本次在线资料包内。当前模型、品牌原图和完整文本可从站点资料区下载。

下载 Markdown 原文 ↓