mimic-recording-studio
Mimic Recording Studio 是一款基于 Docker 部署的开源应用,旨在帮助用户轻松录制语音样本,并将其训练成专属的 Mimic 2 文本转语音(TTS)模型。作为 Mycroft AI 生态的一部分,它解决了传统语音数据采集流程复杂、门槛高的问题,将原本繁琐的录音整理工作简化为直观的网页操作界面。
通过该工具,用户可以系统地录制特定语料库中的句子,系统会自动将音频保存为标准的 WAV 格式并生成对应的元数据文件,确保数据质量符合机器学习训练要求。其核心技术亮点在于跨平台的一致性体验:利用 Docker 容器化技术,无论是在 Windows、Linux 还是 macOS 上,用户只需几条命令即可完成环境搭建与运行,避免了复杂的依赖配置困扰。此外,它还支持前后端分离的手动部署模式,为深度定制提供了灵活性。
这款软件非常适合希望创建个性化语音助手的开发者、从事语音合成研究的研究人员,以及想要为开源社区贡献独特语音数据的普通用户。对于不熟悉底层技术的用户,其“一键启动”特性极大地降低了参与门槛;而对于专业人员,透明的数据结构和管理后台则便于后续的数据分析与模型微调。未来,该项目还计划推出无需本地部署的在线托管版本,让语音模型的创建变得更加触手可及。
使用场景
某小型智能硬件团队希望为他们的方言版语音助手定制专属 TTS 音色,需要收集并处理大量本地人的语音样本以训练 Mimic2 模型。
没有 mimic-recording-studio 时
- 录音流程混乱:团队成员需用手机或不同录音软件分散录制,导致音频格式不统一(如 MP3、M4A 混杂),后期需人工逐一转换。
- 元数据管理缺失:录音文件与对应的文本内容、说话人信息靠 Excel 表格手动关联,极易出现文件名错乱或数据丢失。
- 数据清洗困难:缺乏自动化的静音检测和环境噪音过滤功能,大量含背景杂音的无效样本混入数据集,严重拖累模型训练效果。
- 协作效率低下:多人参与录音时无法实时同步进度,难以监控谁录了多少句,重复录制或遗漏句子的情况频发。
使用 mimic-recording-studio 后
- 标准化录音体验:通过浏览器即可启动统一录音界面,自动将所有样本保存为标准 WAV 格式,彻底消除格式兼容性问题。
- 自动化元数据绑定:系统自动生成唯一 UUID 并将录音内容与文本提示词精准绑定,无需人工干预即可构建结构化数据集。
- 内置质量管控:后端自动检测录音电平与环境噪音,实时提示重录,确保入库样本均符合训练要求,大幅提升数据纯净度。
- 可视化进度追踪:前端面板清晰展示每位贡献者的录音进度与完成度,团队可即时协调资源,快速集齐所需语料。
mimic-recording-studio 将原本繁琐嘈杂的语音数据采集过程,转变为高效、标准且可协作的自动化流水线,让定制化语音模型的门槛大幅降低。
运行环境要求
- Windows
- Linux
- macOS
未说明
未说明

快速开始
模仿录音工作室

Mycroft(https://mycroft.ai)开源的 Mimic 技术是一种文本转语音引擎,它能够将一段书面文本转换成语音。最新一代的技术——Mimic 2(https://github.com/MycroftAI/mimic2)——使用机器学习技术来创建一个可以以特定语言发声的模型,其声音听起来就像被用来训练它的那个人的声音。
模仿录音工作室简化了从个人那里收集训练数据的过程,而每一份数据都可以用来为 Mimic 制作独特的语音。
软件快速入门
Windows 自托管快速入门
git clone https://github.com/MycroftAI/mimic-recording-studio.gitcd mimic-recording-studiostart-windows.bat
Linux/Mac 自托管快速入门
安装依赖
- Docker(社区版即可)
- Docker Compose
为什么要用 Docker?因为它可以让跨平台的设置和运行变得非常简单。
构建并运行
git clone https://github.com/MycroftAI/mimic-recording-studio.gitcd mimic-recording-studiodocker-compose up来构建并运行(注意:根据你的发行版,你可能需要使用sudo docker-compose up)
或者,你可以分别构建和运行。先执行 docker-compose build,再执行 docker-compose up。
- 在浏览器中,访问
http://localhost:3000
注意:
首次执行 docker-compose up 会花费一些时间,因为该命令也会构建 Docker 容器。之后再次执行 docker-compose up 时,启动速度应该会更快。
手动安装、构建和启动
后端
依赖
- Python 3.5+
- ffmpeg
构建与运行
cd backend/pip install -r requirements.txtpython run.py
端
依赖
- node 和 npm
- create-react-app
- yarn——可选,用于更快地构建、安装和启动
构建与运行
cd frontend/npm install,或者使用yarn installnpm start,或者使用yarn start
即将推出!
在线版本 http://mimic.mycroft.ai,无需任何设置即可使用。
数据
音频录制
WAV 文件
音频以 WAV 文件的形式保存在 backend/audio_file/{uuid}/ 目录下。后端会自动使用 ffmpeg 剪掉所有 WAV 文件开头和结尾的静音部分。
{uuid}-metadata.txt
元数据也被保存到 backend/audio_file/{uuid}/ 目录中。这个文件将 WAV 文件名与所录制的句子对应起来。这些 WAV 文件以及元数据就是你开始训练 Mimic 2 所需的一切。
语料库
目前我们提供了一个英语语料库 english_corpus.csv,位于 backend/prompt/ 目录中。如果你想使用自己的语料库,请按照以下步骤操作:
- 创建一个格式与
english_corpus.csv相同的 CSV 文件,使用制表符 (\t) 作为分隔符。 - 确保语料库中没有空行。
- 将你的语料库添加到
backend/prompt目录中。 - 修改
docker-compose.yml文件中的CORPUS环境变量,将其设置为你使用的语料库名称。
其他语言的语料库
如果你希望开发除英语之外的语言的语料库,那么模仿录音工作室可以用来为 TTS 语音生成额外语言的语音录音。如果你正在构建非英语语料库,我们建议你选择以下类型的短语:
- 在目标语言的日常自然对话中经常出现
- 具有多种不同的长度
- 覆盖广泛的 音素(基本发音)
重要提示:
目前,你需要重置 sqlite 数据库才能使用新的语料库。如果你之前已经录制过其他语料库的数据,并且想保留这些数据,只需将 backend/db/ 目录下的 mimicstudio.db 数据库文件重命名为其他名称即可。后端会检测到 mimicstudio.db 文件不存在,然后为你创建一个新的数据库。你可以继续为新的语料库录制数据。
技术
端
Web 界面是使用 JavaScript 和 React 构建的,同时以 create-react-app 作为脚手架工具。更多关于如何使用 create-react-app 的信息,请参阅 CRA.md。
功能
- 录制和播放音频
- 生成音频可视化效果
- 计算并显示各项指标
后端
Web 服务是使用 Python 构建的,后端框架为 Flask、HTTP 服务器为 gunicorn,数据库则使用 sqlite。
功能
- 处理音频
- 提供语料库和指标数据
- 将信息记录到数据库中
- 将数据保存到文件系统中
Docker
Docker 用于对两个应用程序进行容器化。默认情况下,前端使用网络端口 3000,而后端使用网络端口 5000。你可以在 docker-compose.yml 文件中配置这些端口。
注意: 如果你正在运行 docker-registry,它默认使用端口 5000,因此你需要更改使用的端口。
录音技巧
创建一个人声需要付出切实可行但相当大的努力。个人需要录制15,000至20,000个句子。为了获得最佳的Mimic语音效果,录音必须干净且一致。为此,请遵循以下建议:
- 在安静的环境中使用吸音材料进行录音。 如果你的耳朵能听到外界噪音,麦克风同样会捕捉到。为达到最佳效果, 即使是空调通过通风口吹出的声音也应尽量避免。光秃秃的墙壁会产生细微的回声和混响。理想的录音环境是隔音棚,但你也可以用柔软材料(如隔音泡沫)在衣柜里搭建一个简易录音室。被子和床垫也能有效发挥作用!
- 以稳定的音量和语速说话。如果匆匆忙忙地念完所有句子,只会导致语音质量下降。
- 使用高质量的麦克风。 为了确保录音的一致性,我们建议使用头戴式麦克风,这样你的嘴巴与麦克风的距离始终保持不变。
- 避免声音疲劳。 每天最多录音4小时,每半小时休息一次。
- 定期备份Mimic-Recording-Studio目录,以防数据丢失。
进阶
查询数据库结构
Mimic-Recording-Studio会将所有录音保存在一个位于/backend/db/目录下的SQLite数据库文件中。可以使用DBeaver等数据库工具打开该文件。
数据库包含两张表。

表“audiomodel”
所有录音都存储在这张表中,包括:
- 录音时间戳(created_date)
- 发言者的UUID(与/backend/audio_files/id目录下的文件路径匹配)
- 文件系统中的WAV文件名(audio_id)
- 录制的句子文本(phrase)
可以通过数据库查询你的录音内容。
以下是一些示例查询:
-- 列出所有录音
SELECT * FROM audiomodel;
-- 按句子顺序列出2020年1月的所有录音
SELECT * FROM audiomodel WHERE created_date BETWEEN '2020-01-01' AND '2020-01-31' ORDER BY prompt;
-- 统计每天的录音数量
SELECT DATE(created_date), COUNT(*) AS RecordingsPerDay
FROM audiomodel
GROUP BY DATE(created_date )
ORDER BY DATE(created_date);
-- 显示录音的平均文本长度
SELECT AVG(LENGTH(prompt)) AS avgLength FROM audiomodel
查询SQLite数据库有许多用途。例如,查找特定时间段内的录音可以帮助你剔除那些在不良环境下录制的内容。
表“usermodel”
Mimic-Recording-Studio允许多个发言者共享同一个SQLite数据库文件。
这张表为每个发言者提供以下信息:
- 发言者的唯一标识符(uuid)
- 发言者姓名(user_name)
- 最新录制的语料库行号(prompt_num)
- 总录音时长(total_time_spoken)
- 已录制的字符数(len_char_spoken)
这些值用于计算各项指标。例如,语速可以帮助判断当前录制的句子是否比之前的录音过快或过慢。
查询表“usermodel”可以获取发言者列表,包括他们的UUID及一些录音统计数据。
SELECT user_name AS [name], uuid FROM usermodel;

修改录音器UUID
用于录制句子的浏览器会将其本地存储中保存用户的uuid和name,以便与SQLite数据库和文件系统保持同步。如果出现问题,导致浏览器丢失或更改了Mimic-Recording-Studio的UUID映射,你可能会难以继续之前的录音会话。此时,你需要更新浏览器本地存储中的以下两项属性:
- uuid(可通过查询表“usermodel”获得,或查看/backend/audio_files/目录下的文件路径)
- 姓名(可通过查询表“usermodel”获得)
在浏览器中打开Mimic-Recording-Studio,进入开发者选项,找到本地存储,并将姓名和UUID设置回原始值。

完成上述操作后,你应该能够顺利继续之前的录音会话,不再遇到问题。
向Mycroft提供你的录音用于训练
我们欢迎你向Mycroft捐赠自己的声音,用于文本转语音应用。如果你希望提供自己的录音,你必须按照知识共享协议CC0公共领域许可授权给我们,以便我们能够在TTS语音中使用这些录音——因为TTS语音属于衍生作品。如果你准备捐赠自己的录音,请发送邮件至hello@mycroft.ai。
贡献
我们非常欢迎Pull Request!
获取支持与帮助的途径
你可以在以下地方获得关于Mimic Recording Studio的帮助和支持:
版本历史
v0.1.12020/02/07v0.12018/12/05常见问题
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
Real-Time-Voice-Cloning
Real-Time-Voice-Cloning 是一款开源的实时语音克隆工具,旨在通过短短 5 秒的音频样本,快速复刻说话人的声音特征,并即时生成任意文本的语音内容。它有效解决了传统语音合成需要大量训练数据且无法实时响应的痛点,让个性化语音生成变得轻量且高效。 该项目的核心技术基于 SV2TTS(从说话人验证到多说话人文本转语音的迁移学习)深度学习框架。其工作流程分为三个阶段:首先从少量音频中提取说话人的数字声纹表示,随后将其作为参考,结合 Tacotron 合成器与 WaveRNN 声码器,高质量地生成目标语音。这种架构不仅实现了端到端的语音合成,还保证了在普通硬件上的实时运行能力。 Real-Time-Voice-Cloning 非常适合开发者、人工智能研究人员以及对语音技术感兴趣的技术爱好者使用。开发者可以将其集成到互动应用中,研究人员可借此探索语音迁移学习的前沿进展,而具备一定动手能力的普通用户也能通过提供的图形界面工具箱,轻松体验“声音复制”的乐趣。尽管目前已有商业服务在音质上表现更佳,但作为一款免费开源项目,它依然是理解和学习实时语音合成技术的绝佳入门资源。
GPT-SoVITS
GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。 该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。 在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。
TTS
🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。
LocalAI
LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获
bark
Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。