Loading...

文章背景图

Common Voice:Mozilla 开源语音捐赠与公开语音数据集平台|自托管部署全指南

2026-11-02
0
- 字
- 分钟
|

Common Voice · Mozilla 开源语音捐赠与公开语音数据集平台 · 自托管部署全指南

项目仓库: https://github.com/mozilla/voice-web(现主仓库为 common-voice/common-voice)

开源协议:MPL 2.0 · 技术栈:TypeScript + React · 部署方式:Docker + docker compose · 本地地址:http://localhost:9000 · 数据集更新:季度发布 · 仓库分支:main

说明:任务清单登记仓库 Mozilla/voice-web 为旧名,项目主仓库已迁移到 common-voice/common-voice。本文按官方 DEVELOPMENT.md 给出自托管路径。


1 项目简介

Common Voice 是 Mozilla 发起的语音捐赠平台:邀请全球用户录制并朗读句子,汇聚成公共领域(CC0)的语音数据集,用于训练语音识别等工具。它本身是一个 Web 应用,包含前端(React + TypeScript)、服务端、数据集打包服务等模块。

平台代码按月发布、数据集按季度发布。

1.1 核心信息一览

项目项 内容
项目名称 Common Voice
仓库地址 github.com/common-voice/common-voice
项目定位 语音捐赠采集平台 + 公共领域语音数据集
开源协议 MPL 2.0
技术栈 TypeScript + React
部署 Docker + docker compose
本地地址 http://localhost:9000
数据集许可 CC0 公共领域
更新节奏 平台代码月度 / 数据集季度

1.2 适用场景

  • 想自托管一个语音采集平台,为某种语言收集语音样本。
  • 需要复用 Common Voice 的句子采集、验证流程做自有数据集。
  • 研究者/开发者需要本地化部署平台做二次开发。

1.3 能力边界(官方口径)

  • 官方说明:由于资源限制,除本文档给出的内容外,不提供商业自托管之外的协助;商业托管需联系 commonvoice@mozilla.com。
  • spontaneous-speech 组件不在开源仓库中。
  • 本地化(翻译)只能通过 Mozilla Pontoon 平台提交,不接受直接 PR。

2 功能特性

  • 语音采集:用户录制与朗读句子,形成语音捐赠。
  • 句子验证:社区投票校验语音质量。
  • 多语言支持:通过 LANGUAGE.md 流程新增语言。
  • 数据集打包:bundler 服务生成数据集发布包。
  • 公共领域数据:句子与数据集以 CC0 发布。

3 官方界面预览

本仓库 README 未提供界面截图,实际界面以本地启动后访问 http://localhost:9000 或在线版 commonvoice.mozilla.org 为准。

4 官方跳转链接汇总

类别 链接 说明
仓库主页 https://github.com/common-voice/common-voice 源码
在线平台 https://commonvoice.mozilla.org 官方在线版
开发环境文档 docs/DEVELOPMENT.md 自托管指南
数据集元数据 github.com/common-voice/cv-dataset 数据集发布
论坛 Discourse 社区讨论

5 前置要求与服务器配置

5.1 软件前提

  • git。
  • Docker 与 docker compose。
  • Auth0 或同类认证服务:用于用户认证(官方要求)。

5.2 硬件建议

项目 建议
部署 Docker Compose 一键起,2C4G 起步
存储 按语音数据量增长
端口 9000

6 方式一:Docker Compose 自托管(官方路径)

# 1. 克隆仓库
git clone https://github.com/common-voice/common-voice.git
cd common-voice

# 2. 配置认证(Auth0 或同类)

# 3. 复制环境文件
cp .env-local-docker.example .env-local-docker
# 按实际上下文编辑 .env-local-docker

# 4. 启动容器
docker compose up

# 5. 导入语言句子后刷新 redis 缓存,再重启容器

启动后访问 http://localhost:9000。

7 项目结构(官方说明)

目录 说明
web/ 网站前端(React + TypeScript)
server/ 服务端应用逻辑(TypeScript)
bundler/ 数据集发布打包服务
common/ 前后端共享类型
locales/ 已启用语言信息(自动生成)
scripts/ 数据管理脚本

8 配置项说明

配置 位置 说明
.env-local-docker 仓库根目录 由 .env-local-docker.example 复制后编辑
Auth0 环境变量 用户认证服务
端口 9000 本地访问端口

9 常用运维命令

# 启动
docker compose up

# 导入句子后刷新 redis 缓存
docker compose exec redis redis-cli FLUSHALL

# 重启容器
docker compose restart

10 常见故障排查

  • Couldn't connect to Docker daemon:Docker 未启动或当前用户无权限,启动 Docker 并把用户加入 docker 组。
  • docker-compose up 导致 /code/node_modules 文件权限错误:官方 Troubleshooting 中有专门说明,按文档调整挂载权限。
  • 语言句子导入后不生效:刷新 redis 缓存后重启容器。
  • 本地化 PR 被拒:官方不接受直接改翻译的 PR,请走 Pontoon 平台。

11 风险与合规说明

  • 许可证:MPL 2.0,句子与数据集以 CC0 公共领域发布。
  • 自托管支持:官方除文档外不提供免费自托管支持,商业合作需邮件联系。
  • 数据合规:语音捐赠涉及个人声音,自托管需自行做好隐私与知情同意。
  • 非官方声明:本文基于官方仓库 README 与 DEVELOPMENT.md 整理,命令以 main 分支最新为准。
评论交流

文章目录