MemShare
MemShare 是一款面向语言学习的语音转录与字幕应用。用户可以将本地视频或 YouTube 链接加入媒体库,系统自动完成语音转写、日语分词/文节分析与中译,并在播放器中同步展示字幕,辅助精听与跟读。
核心能力
- 多来源媒体:支持本地视频文件与 YouTube 链接
- 全局去重:相同音频指纹或同一 YouTube 视频只处理一次,多用户可共享字幕结果
- 流式字幕:转写过程中即可增量拉取字幕,无需等待整段处理完成
- 日语深度学习:转写结果包含 Sudachi 分词、Ginza 文节、读音与汉字注音(
language=ja时) - 机器翻译:默认日译中,支持本地翻译缓存与批量请求
仓库结构
MemShare 是一个 monorepo,各子项目职责如下:
| 目录 | 说明 | 技术栈 |
|---|---|---|
native/ | iOS / Android 移动端 | Expo 56、React Native、better-auth |
api/ | 后端 API、鉴权、媒体与字幕存储 | Hono、Prisma、PostgreSQL、S3/R2 |
speech/ | 语音转录与分析服务 | Python、FastAPI、Whisper、Sudachi/Ginza |
worker/ | 异步任务处理器 | Node.js、TypeScript、pnpm |
docs/ | 项目文档站点 | Next.js、Nextra |
典型使用场景
- 用户从相册选取一段日语学习视频,App 提取音频并上传
- Worker 领取转写任务,调用 Speech 服务流式识别
- 字幕逐段写入数据库,App 播放器实时刷新
- 用户点击字幕中的词元,查看读音与文节释义
若另一位用户上传了相同音频(SHA-256 指纹一致),系统会直接复用已有字幕,跳过重复转写。