Skip to content

Latest commit

 

History

15 Commits

Folders and files

Repository files navigation

🚀 宇宙无敌表达训练系统 - 本地桌面版

📌 原作者致谢:本项目基于 sisi 的原始作品二次开发,原始仓库 fxy2311-youyou/expression-trainer。感谢原作者的开源贡献(MIT 许可证)。本仓库在其基础上新增了暗色模式(支持手动切换明/暗或跟随系统)、UI 交互优化等改进。

👉 在线版已上线:exprtrain.online,无需安装,打开浏览器即用。支持中英双语。

一个帮你训练口语表达精准度的本地桌面应用。实时语音识别 → 词库匹配 → AI反馈,全程离线+本地处理。

功能

  • 🎤 实时语音识别:基于 Sherpa-ONNX,完全离线,中文优化
  • 📝 全屏字幕显示:黑底大字,实时显示你说的每一句话
  • 🔍 词库分析:自动检测填充词、犹豫词、笼统词,给出精准替代
  • 🤖 AI反馈:支持 Groq/OpenAI/DeepSeek/Ollama 多后端
  • 📊 分析报告:6维度深度分析(逻辑/直接性/填充词/密度/词汇/亮点)
  • 🌓 明暗主题:顶栏一键切换,三态循环(跟随系统 / 亮色 / 暗色),偏好本地保存重启保持

安装

1. 克隆项目 & 安装依赖

cd expression-trainer
npm install

2. 下载语音识别模型

需要下载 Sherpa-ONNX 的 streaming paraformer 中英双语模型:

cd models

# 方法一:使用 wget
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
tar xvf sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2

# 方法二:使用 huggingface
# https://huggingface.co/csukuangfj/sherpa-onnx-streaming-paraformer-bilingual-zh-en

下载后 models/ 目录应包含:

models/
└── sherpa-onnx-streaming-paraformer-bilingual-zh-en/
    ├── encoder.int8.onnx
    ├── decoder.int8.onnx
    └── tokens.txt

3. 启动应用

npm start

4. 配置 AI 后端

启动后点击右上角 ⚙️ 进入设置页面。

推荐配置:

后端 费用 速度 获取方式
DeepSeek 极低 快 platform.deepseek.com
OpenAI 中等 快 platform.openai.com
Ollama 免费 取决于硬件 ollama.com 本地运行

推荐 deepseek:生成报告质量高,且成本极低。

使用说明

  1. 点击「开始录制」 → 对着麦克风说话
  2. 实时字幕会在屏幕中央显示你说的内容
  3. 左侧面板实时统计填充词/犹豫词/笼统词
  4. 右侧面板每50字会给出AI实时反馈
  5. 说完后点击「结束」 → 可以点「生成报告」获取完整分析

字幕颜色含义

颜色 含义
🔴 红色波浪下划线 填充词(嗯、啊、那个、然后…)
🟠 橙色 犹豫词(可能、也许、我觉得…)
🟡 黄色虚线 笼统词(有精准替代建议)
🟢 绿色 有力表达(好句子!)

技术架构

┌─────────────────────────────────────────┐
│ Electron 主进程                          │
│  ├── Sherpa-ONNX (离线语音识别)          │
│  ├── 词库匹配 (emotion-lexicon.json)     │
│  └── AI反馈 (多后端 HTTP API)            │
├─────────────────────────────────────────┤
│ 渲染进程 (Chromium)                      │
│  ├── 全屏字幕显示                        │
│  ├── 实时统计面板                        │
│  └── 分析报告弹窗                        │
└─────────────────────────────────────────┘

词库说明

data/emotion-lexicon.json 基于大连理工情感词库7大类结构,包含:

  • 130+ 情绪词:分类(喜怒哀惧恶惊)+ 强度(1-9)
  • 笼统词→精准词映射:25组高频替代建议
  • 填充词表:24个常见口头禅
  • 犹豫词表:19个弱化表达
  • 程度词梯度:弱→中→强→极 四级
  • 画面化描述:10组「抽象→具象」转换
  • 犹豫→直接转换:8组对照示例

开发

# 开发模式(带DevTools)
npm run dev

# 目录结构
├── main.js              # Electron主进程
├── preload.js           # preload脚本
├── src/
│   ├── index.html       # 主界面
│   ├── settings.html    # 设置页
│   ├── styles.css       # 样式
│   ├── app.js           # 前端逻辑
│   └── settings.js      # 设置逻辑
├── lib/
│   ├── asr.js           # 语音识别
│   ├── lexicon.js       # 词库匹配
│   ├── ai-feedback.js   # AI反馈
│   └── prompts.js       # Prompt模板
├── data/
│   └── emotion-lexicon.json
└── models/              # Sherpa-ONNX模型(需下载)

系统要求

  • macOS 12+ / Windows 10+ / Linux
  • Node.js 18+
  • 麦克风权限
  • (可选)网络连接(用于AI反馈,词库分析可离线)

License

MIT

About

宇宙无敌表达训练系统 - 本地桌面版(基于 sisi 原作二次开发)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages