![]() 导入音频,开始练习 |
![]() 科学练习,听说闭环 |
![]() 自动提醒,进步可见 |
![]() 逐句精听,难句标注 |
![]() 意群划分,难句解析 |
![]() 段落复述,听懂变成会说 |
![]() 难句收藏,熟中生巧 |
![]() 闪卡复习,原句再现 |
![]() 按你的节奏,自由练习 |
- 🤖 自动驱动学习节奏:跟读次数、复习时机、难句标记自动推进,你只需要专注听和说。
- 🎯 听说闭环:精听、跟读、复述一气呵成。从听懂内容,到模仿表达,再到用自己的话说出来。
- 🧩 长难句意群划分:长句按意群切分,复杂句拆开理解,降低听懂难度。
- ⭐ 难句收藏与专项复习:难句自动归档,可集中跟读、反复重练,避免“标了就忘”。
- 📚 语境化闪卡复习:收藏单词和意群,结合原句上下文复习,在语境中记忆,而不是孤立背词。
- 💡 AI 翻译、解析与词汇讲解:支持双语翻译、句子解析、单词用法和搭配讲解,按需展开,不打断学习节奏。
- 📍 断点续学:自动记录学习阶段和当前句子,下次打开直接继续,5 分钟碎片时间也能练。
- 📊 学习数据统计:记录学习时长、输入输出比例、唯一词汇量,让练了多少、说了多少一目了然。
- 🎙️ 跟读 AI 评测:自动对齐识别结果与原文,高亮命中词,并给出跟读评级。
- 🎧 导入本地音频 + AI 字幕:支持批量导入本地音频,可导入本地字幕,也可用 AI 自动转录生成字幕。
用其它英语 App 学习时,你得自己决定:今天听几遍?是该精听还是泛听?哪句话还没掌握?要不要跟读?什么时候该复习?
这些决策本身才是最消耗意志力的地方:不是听不懂,是不知道下一步该做什么。
这些决策压力,Echo Loop 替你扛了。选一段你想听懂的音频,按下开始,从盲听到通关,每一步它都会告诉你"现在做什么"。
你只需要坚持打开 App,剩下交给 Echo Loop。把一段材料练透,强过泛听 100 个音频。
挑了四款国内学习者最熟的 App 对比。单看每一项功能,其它 App 也或多或少有;但 Echo Loop 真正的不同在于:它把每一步串起来自动驱动你走完,你不需要自己摸索方法、控制遍数、掌握复习节奏。
| 功能 | Echo Loop | 每日英语听力 | 可可英语 | 英语流利说 | Anki |
|---|---|---|---|---|---|
| 学习节奏由 App 驱动 | ✅ 全自动 | ❌ | ❌ | ❌ | ❌ |
| 听 → 说闭环(精听 + 跟读 + 复述) | ✅ | ❌ | |||
| 长难句意群划分 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 收藏句专项复习 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 语境化闪卡复习 | ✅ | ❌ | ❌ | ❌ | |
| AI 翻译 / 句子解析 / 单词深度解析 | ✅ | ❌ | ❌ | ||
| 断点续学 | ✅ | ||||
| 学习数据:时长 / 输入输出比 / 唯一词汇量 | ✅ | ❌ | |||
| 跟读 AI 评测 | ✅ | ✅ | ✅ | ✅ | ❌ |
| 导入本地音频 | ✅ | ✅ | ❌ | ❌ | |
| 离线可用 | ✅ | ✅ | ✅ | ✅ | |
| 开源 | ✅ | ❌ | ❌ | ❌ | ✅ |
盲听 → 精听 → 跟读 → 复述 → 科学间隔复习 → 通关。
flowchart LR
A[盲听<br/>完整听一遍,感知整体难度] --> B[精听<br/>逐句听懂,标记重点难句]
B --> C[跟读<br/>模仿语音语调,训练发音能力]
C --> D[复述<br/>用自己的话表达,提升输出能力]
D --> E[间隔复习<br/>在遗忘前重练,巩固长期记忆]
E --> F[通关<br/>完成本轮学习任务]
以上每一步,由 Echo Loop 自动驱动,不需要你判断。
你不需要管"现在该听几遍"、"上次那个素材该不该复习了"。打开 App,今天该做什么会直接呈现在你眼前。
学习全过程量化:学习时长 · 输入输出比 · 唯一词汇量。
间隔复习法是怎么安排的?
每段素材分成 1 次首次学习 + 7 轮间隔复习。间隔从 6 小时拉长到 28 天,让大脑在快要遗忘时重新触达记忆痕迹,符合艾宾浩斯遗忘曲线。
| 阶段 | 距上次间隔 | 任务 |
|---|---|---|
| 首次学习 | — | 盲听 → 精听 → 跟读 → 段落复述 |
| 首轮复习 | 6 小时后 | 难句补练 + 段落复述 |
| 第二轮复习 | 1 天后 | 盲听 + 难句补练 + 段落复述 |
| 第三轮复习 | 2 天后 | 盲听 + 难句补练 + 段落复述 |
| 第四轮复习 | 4 天后 | 盲听 + 难句补练 + 段落复述 |
| 第五轮复习 | 7 天后 | 盲听 + 难句补练 + 段落复述 |
| 第六轮复习 | 14 天后 | 盲听 + 难句补练 + 段落复述 |
| 第七轮复习 | 28 天后 | 盲听 + 难句补练 + 段落复述 |
|
桌面端:macOS 开发中 · Windows 规划中 · Web 暂无计划 |
![]() 扫码下载 iOS 版 |
和其他认真练英语的伙伴一起:交流学习方法、反馈使用体验、第一时间收到新功能更新。
![]() 扫码加入微信群 |
二维码过期或群已满 200 人后请先加微信 |
- 学习闭环:盲听 / 精听 / 跟读 / 段落复述
- 间隔复习调度(6h → 28d)
- 长难句意群划分
- 难句收藏 + 专项复习
- 语境化闪卡复习
- AI 翻译 / 句子解析
- iOS / macOS 原生 ASR 跟读评测
- 断点续学
- 学习数据统计
- AI 口语陪练
- AI 学习助手(随时答疑)
- 单词深度解析
- 个性化素材推荐
- 自定义任务流
- 连胜激励 / 学习勋章
- macOS / Windows 桌面版正式发布
- 官方精选合集(按主题 + 难度分级)
- 用户合集分享 / UGC 学习材料
学术指导
感谢 杨艳老师(中央民族大学外国语学院;北京大学英语语言文学博士)对本项目方法论的指导。
核心依赖
- 音频与语音:just_audio · audio_session · flutter_tts · sherpa_onnx
- 数据与状态:drift · flutter_riverpod
- 文本处理:subtitle · lemmatizerx
- 系统能力:file_picker · flutter_local_notifications
🚀 快速开始
git clone git@github.com:echo-loop/Echo-Loop.git
cd Echo-Loop
flutter pub get
dart run build_runner build
flutter run -d <ios|android|macos>🤝 如何贡献
欢迎提 Issue / PR。提交前请运行:
flutter analyze
flutter testCommit 标题遵循 PREFIX: 内容 格式(参考 git log 看常用前缀,如 FEAT / FIX / DOCS / MOD / OPT / CHORE / CI / RELEASE 等)。详细贡献流程见 CONTRIBUTING.md(待补)。本项目遵循 Contributor Covenant 行为准则。
🛠️ 技术栈
| 类别 | 技术 | 用途 |
|---|---|---|
| UI 框架 | Flutter + Material 3 | 跨平台 UI |
| 状态管理 | Riverpod(代码生成) | 单向数据流 |
| 音频播放 | just_audio + audio_session | 音频引擎层 |
| 字幕解析 | subtitle | SRT/VTT |
| 文件选择 | file_picker | 本地音频/字幕导入 |
| 数据持久化 | Drift (SQLite) + shared_preferences | 学习进度、收藏、缓存 |
| 国际化 | flutter_localizations + ARB | 简体中文 / English |
| 测试 | flutter_test + mocktail | 单元 / Widget / 集成 |
| 静态分析 | flutter_lints | 代码规范 |
📁 项目结构
lib/
├── l10n/ # 国际化翻译文件(ARB 格式)
├── models/ # 数据模型(AudioItem, Sentence, Collection 等)
├── providers/ # Riverpod 状态管理
│ ├── audio_engine/ # 音频引擎层(底层播放控制)
│ └── listening_practice/ # 听力练习层(业务逻辑)
│ ├── sentence_tracker.dart # 句子定位(二分查找)
│ └── bookmark_manager.dart # 书签管理
├── screens/ # 页面
├── services/ # 服务层(StorageService, SubtitleParser)
└── widgets/ # 可复用组件
integration_test/ # 端到端测试
test/ # 单元 / Widget 测试
⌨️ 开发命令速查
运行
flutter run -d ios # iOS
flutter run -d android # Android
flutter run -d macos # macOS(开发中,未发布)
flutter run -d chrome # Web(仅调试用,无发布计划)
# iOS 模拟器
xcrun simctl list devices available
xcrun simctl boot <DEVICE_UDID>
open -a Simulator测试 / 质量检查
flutter analyze # 静态分析
flutter test # 全部测试
flutter test integration_test -d macos # 集成测试
dart format . # 格式化代码生成(修改 Riverpod Provider 后)
dart run build_runner build构建
flutter build macos
flutter build apk
flutter build ios
# 指定 API 地址
flutter build macos --dart-define=API_BASE_URL=https://dev.echo-loop.top
flutter build ios --dart-define=API_BASE_URL=https://www.echo-loop.top
# 真机运行(指定 API 地址)
flutter run --release -d <DEVICE_ID> --dart-define=API_BASE_URL=https://dev.echo-loop.top环境要求
- Flutter SDK 3.9.2+
- iOS 模拟器 / Android 模拟器 / 真机
- 桌面端:macOS / Windows / Linux 开发环境










