综合介绍
Babelfish.ai 是一个基于 Huggingface Transformer.js 和 Supabase Realtime 构建的实时转录和翻译应用。该应用可以在浏览器中加载大模型并在本地运行,实现实时的语音转文字和翻译功能。用户可以通过简单的设置和操作,快速将语音内容转录为文字,并翻译成多种语言,适用于多种场景,如会议记录、跨语言交流等。
功能列表
- 实时语音转文字:使用 OpenAI Whisper 实现高效的语音转文字功能。
- 实时翻译:支持将转录的文字翻译成 200 种语言,使用 Meta 的 NLLB-200 模型。
- 多客户端广播:通过 Supabase Realtime 将转录和翻译内容实时广播给订阅的客户端。
- 本地运行:无需服务器支持,所有操作均在浏览器中本地完成。
- 简单部署:支持本地运行和部署到 GitHub Pages。
使用帮助
安装与运行
- 本地运行:
- 克隆仓库:
git clone https://github.com/supabase-community/babelfish.ai.git
- 进入项目目录:
cd babelfish.ai
- 复制环境变量文件:
cp .env.local.example .env.local
- 设置 Supabase 凭证:在
.env.local
文件中填写你的 Supabase 凭证。 - 安装依赖:
npm install
- 运行开发服务器:
npm run dev
- 打开浏览器访问
http://localhost:3000
即可使用。
- 克隆仓库:
- 部署到 GitHub Pages:
- 在 GitHub 仓库设置中配置你的 secrets。
- 将代码推送到
main
分支,GitHub Actions 会自动部署到 GitHub Pages。
使用功能
- 实时语音转文字:
- 打开应用后,点击“开始转录”按钮。
- 允许浏览器访问麦克风,开始说话。
- 语音内容会实时显示为文字。
- 实时翻译:
- 在转录过程中,选择目标语言。
- 转录的文字会自动翻译成所选语言,并显示在界面上。
- 多客户端广播:
- 订阅客户端可以通过 Supabase Realtime 接收转录和翻译内容。
- 在不同设备上打开应用,登录相同的 Supabase 账户,即可同步接收内容。
高级设置
- 自定义模型:可以在
translationWorker.js
中替换为其他支持的翻译模型。 - 界面定制:修改
index.html
和src
目录下的文件,可以自定义应用界面和功能。