想练英语口语,市面上的工具要么收费,要么需要注册账号把数据都交出去。找了一圈没有满意的,干脆自己写了一个,今天开源出来。
项目叫 Echoic,核心功能是:导入任意音频 → 逐句跟读 → 拿到发音评分。
发音评分不是走 Azure/云 API ,是本地模型( wav2vec2 + phonemizer )跑的,数据不出本机,也不需要付 API 费。
主要功能:
技术栈:
前端 React 18 + Tailwind v4 ,后端 FastAPI ,语音识别 WhisperX ,评分 wav2vec2 ,数据库 PostgreSQL 。
Docker 一键启动:
git clone https://github.com/xialeistudio/echoic.git
cd echoic
docker compose up
打开 http://localhost:8000 就能用。首次启动会下载约 1GB 的模型,之后不用重复下载。
GitHub: https://github.com/xialeistudio/echoic
欢迎试用,有问题直接开 Issue ,也欢迎 PR 。
1
liubiubiu123123 1 天前
厉害厉害。蹲一个
|
2
niboy 1 天前
能搞个高考英语口语打分吗,e 听说里面有
|
3
c0xt30a 1 天前
能否扩展到别的语种?譬如德语和法语?
|
4
xialeistudio OP @niboy 没用过这个,你简单描述下需求?
|
5
xialeistudio OP @c0xt30a 可以,我处理下,配置文件改一下模型即可
|
6
getNickNameById 20 小时 30 分钟前
试了下,感觉句子拆分有点问题,听着不连贯,有点难受。
|
7
xialeistudio OP @getNickNameById 这个是 ASR 模型的问题,不太好解决,后期会考虑出时间戳编辑功能
|
8
niboy 17 小时 44 分钟前
@xialeistudio
现在中考、高考口语都有考试,但网上针对考试的软件很少。搞到模拟题(网上应该有),然后根据题型,模拟打分 一、先搞清上海高考口语题型与时间( E 听说完全匹配) 表格 题型 题量 答题时长 核心目标 评分重点 朗读句子 2 题 每题约 5 秒 发音准、语调对 连读 / 失爆、重音 朗读短文 1 题 约 30 秒 流畅、节奏稳 意群停顿、语调 情景提问 2 题 每题约 10 秒 问清关键信息 疑问词、时态、介词 看图说话 1 题 准备 1 分钟 + 答题 1 分钟 完整描述 + 观点 逻辑、细节、流利度 快速应答 4 题 每题约 4 秒 快速反应、简洁 准确、语法对 🛠️ 二、E 听说实操步骤(分题型 + 系统设置) 1. 设备与系统准备(避免技术性失分) 登录:电脑端下载 “E 听说中学”,用手机号 / 账号登录,同步上海高考专项题库。 试音:必做!耳机麦距嘴 2-5cm ,录一句调至 “清晰不炸麦”,保存设置。 浏览器:用 Chrome/Edge ,关闭弹窗与翻译插件,确保系统权限全开(录音 / 摄像头)。 2. 分题型练习( E 听说核心功能用法) 朗读类(句子 + 短文): 选 “上海高考 - 朗读专项”,先听原音 1 遍,标记连读(如 not at all )、重音位置。 逐句跟读 3 遍,用系统 “对比发音” 功能,修正音标错误(如 /θ/ 与 /s/)。 完整朗读 1 遍,提交后看评分报告,重点改 “语调错误”“停顿不当”。 情景提问: 看题干情景(如 “向同学问作业安排”),先列疑问词( what/when/where )与时态(一般现在 / 将来)。 用系统 “提问模板” 练习(如 “Could you tell me when we will have the English test?”),确保语法正确。 录音后回听,检查疑问词完整、介词使用(如 for/about )。 看图说话: 准备 1 分钟内列提纲:时间 / 地点 / 人物 / 事件 + 观点,用 “firstly/then/finally” 连接。 答题 1 分钟,控制语速(每分钟 120-150 词),避免卡顿,用系统 “逐句评分” 优化流畅度。 快速应答: 练 “秒反应”,每题控制 2-3 句,用简单句(如 “I agree”“It’s useful”)保证准确。 用系统 “限时练习”,模拟考场压力,提升反应速度。 3. 复盘与提分( E 听说专属工具) 每次练习后,进入 “我的记录”,查看逐题评分(发音 / 流利度 / 语法),标记错题类型。 用 “录音对比” 功能,逐句对比原音与自己的发音,重点改 “连读错误”“语调平淡”。 每周 1 次全真模考(按考试时间流程),做完后看整体等第,针对性补薄弱题型。 |
9
xialeistudio OP @niboy 收到, 我规划一下,做通用化实现
|