Skip to content

About

实时字幕,实时语音转文本,支持多国语言,支持双语展示

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

LiveCaption

跨平台实时字幕桌面应用。捕获电脑音频,通过阿里云百炼实时语音识别服务转写为文字,支持实时翻译,结果显示在悬浮字幕窗口中。

功能

  • 实时语音转文字(基于阿里云 Qwen3 ASR)
  • 实时翻译(英↔中等多语言)
  • 悬浮透明字幕窗口,始终置顶
  • 全局快捷键启停(默认 Ctrl+Shift+K / Cmd+Shift+K)
  • 可调字号、窗口透明度
  • 支持选择音频输入设备

技术栈

  • 桌面框架: Tauri 2
  • 后端: Rust (tokio 异步运行时)
  • 前端: React 18 + TypeScript + Vite
  • 音频采集: cpal + rubato (重采样至 16kHz)
  • 语音识别: 阿里云百炼 WebSocket 实时 API
  • macOS 系统音频: ScreenCaptureKit

环境要求

  • Node.js 18+
  • pnpm 10+
  • Rust 1.70+(推荐通过 rustup 安装)
  • macOS 13+ 或 Windows 10+
  • 阿里云百炼 API Key(获取地址)

macOS 额外说明

捕获系统播放音频需要 macOS 13+ 的 ScreenCaptureKit 权限,首次使用时系统会弹出授权提示。如需捕获麦克风输入则选择对应输入设备即可。

Windows 额外说明

可直接使用 WASAPI loopback 捕获系统音频,或选择麦克风等输入设备。

快速开始

# 安装依赖
pnpm install

# 启动开发模式(前端热更新 + Rust 编译)
pnpm tauri dev

首次启动后点击右上角设置图标,填入阿里云 API Key,根据需要开启翻译功能,然后点击播放按钮或按下全局快捷键即可开始转写。

开发命令

# 前端类型检查
npx tsc --noEmit

# Rust 检查
cd src-tauri && cargo check

# 生产打包
pnpm tauri build

项目结构

src/                    # 前端 (React + TypeScript)
├── app/                # 页面组件 (CaptionWindow, SettingsWindow)
├── components/         # UI 组件 (CaptionBar, SettingsForm, IconButton)
├── lib/                # 类型定义与 Tauri 接口封装
└── styles/             # CSS

src-tauri/              # 后端 (Rust)
├── src/
│   ├── aliyun/         # 阿里云 WebSocket 协议与客户端
│   ├── audio/          # 音频采集与重采样
│   ├── caption/        # 字幕状态管理
│   ├── config/         # 配置持久化
│   ├── commands.rs     # Tauri commands
│   └── lib.rs          # 应用入口与插件注册
└── tauri.conf.json     # Tauri 窗口与构建配置

配置项

配置 说明 默认值
API Key 阿里云百炼 API Key —
翻译开关 是否启用实时翻译 关闭
源语言 识别语言 英文 (en)
目标语言 翻译目标语言 中文 (cn)
字号 字幕字体大小 20px
透明度 窗口透明度 0.85
快捷键 全局启停快捷键 CommandOrControl+Shift+K

License

MIT

About

实时字幕,实时语音转文本,支持多国语言,支持双语展示

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages