• 以「人」为中心融合身份的相册基础(声纹那套的人脸版):
    - data:persons/photos/faces 三表 + 增量迁移 v3→v4(DDL 对过 Room,真机零数据损失)
    - vision/FaceEngine:ML Kit 检测+5点 → 相似变换对齐 → TFLite MobileFaceNet 512维
      embedding(同人 0.976/异人 0.127,embed 44ms)。**不用 onnxruntime-android**——
      它和 sherpa 自带 libonnxruntime.so(自定义符号版本)无法共存,会弄坏音频
    - vision/VisionClient:经 llama-swap 8080 的 vl 端点(Qwen2.5-VL-3B)出场景描述,只描场景不报人名
    - vision/PhotoProcessor:人脸+embedding+VL+EXIF → 更新 photos 行 + 写 faces + 匹配 Person
    - vision/PhotoWorker + PhotoScheduler:导入只瞬时登记,重活交后台 worker 定时/闲时处理
      (15min periodic + 导入触发 runNow,单轮 7min 预算,防并发),不阻塞导入
    - vision/FaceMatcher:标注一张脸 → 回填其它照片同一人(同声纹回填)
    - ImageUtil:EXIF 时间/GPS、按方向解码、降 512px 喂 VL、embedding 打包
    - 模型 w600k_mbf.tflite(6.5MB) 进 assets(实测还原 onnx cos=1.0)
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »

  • Pixel 8 Pro 上的本地 lifelog 应用,v1 核心闭环:
    
    - 前台服务 (foregroundServiceType=microphone) + AudioRecord 16k mono PCM
    - Silero VAD on-device 切段(500ms 静音切、300ms 最短、30s 强切)
    - sherpa-onnx + paraformer-zh int8 本地 ASR
      Tensor G3 实测 ~25× realtime,<200ms 处理 1-10s 段
      whisper-small 0.6× 跑不动,paraformer 是甜点选型
    - Room (Segment + Transcript + Summary) + Compose 时间轴 LazyColumn UI
    - 232 MB 模型首次启动从 hf-mirror.com 下载到 app filesDir
    - 讯飞 中文识别大模型 WebSocket 客户端备用(云复核 fallback)
    
    依赖:
    - sherpa-onnx v1.13.2 Android jniLibs (arm64-v8a, ~34 MB)
    - Silero VAD ONNX (~629 KB),sample.wav (3 MB) 内嵌资源
    - AGP 8.7.3 / Kotlin 2.1 / Compose BOM 2024.12.01 / Room 2.6.1
    
    后续待办(按用户语音里提到的优先级):声纹识别 / Opus 编码 /
    FTS5 中文搜索 / hermes-Kimi 纪要 worker。
    
    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
    yibo authored
     
    Browse Dir »