字
字节笔记本
2026年2月22日
tts-now:跨平台云语音合成桌面应用
本文介绍 tts-now,一款跨平台的云语音合成桌面应用。它基于 Electron + React + TypeScript 开发,支持阿里云和讯飞云的语音合成 API,可帮助用户快速将文字转换为语音,适用于内容创作、有声读物制作等场景。
项目简介
tts-now 是由 funnyzak 开发维护的开源项目,截至目前在 GitHub 上已获得 316 stars 和 43 forks。项目采用 Apache-2.0 许可证,主要使用 TypeScript (89.3%) 编写,基于 Electron 框架构建跨平台桌面应用。
该项目提供了直观的图形界面,让用户无需编写代码即可使用云平台的高 quality 语音合成服务,支持单文本快速合成和批量合成两种模式。
核心特性
- 跨平台支持:提供 Windows 32/64位、macOS、Linux 的编译版本
- 多平台接入:目前支持阿里云和讯飞云语音合成 API
- 丰富场景:内置阿里云 99 种场景、讯飞 100+ 种场景语音合成
- 批量合成:支持批量文本合成,提高工作效率
- 导出管理:导出文件名自动添加场景和云服务商标识
- 界面友好:基于 React + Ant Design 的现代化界面设计
技术栈
- Electron - 跨平台桌面应用框架
- React - 前端 UI 框架
- TypeScript - 类型安全的 JavaScript 超集
- Ant Design - UI 组件库
- Webpack - 模块打包工具
- Babel - JavaScript 编译器
- ESLint + Prettier - 代码规范与格式化
安装指南
方式一:下载预编译版本
项目提供各平台的预编译二进制文件,可直接下载使用:
- 访问 GitHub Releases 页面
- 下载对应平台的安装包
- 安装并运行应用
方式二:从源码构建
前置要求:
- Node.js >= 14
- Yarn 包管理器
安装步骤:
bash
# 克隆仓库
git clone https://github.com/funnyzak/tts-now.git
cd tts-now
# 安装依赖
yarn
# 启动开发服务
yarn serve快速开始
开发命令
bash
# 开发服务启动
yarn serve
# 代码 Lint 格式化
yarn lint
# 源构建输出
yarn dist
# 根据当前系统构建
yarn build
# 构建 Windows 版本
yarn build:windows
# 构建 Mac 版本
yarn build:mac
# 构建 Linux 版本
yarn build:linux
# 构建所有平台
yarn build:all使用指南
配置云服务
阿里云配置
- 访问 阿里云语音合成控制台
- 创建语音合成 AppKey
- 获取阿里云账号 API Key
- 在应用中填入相关配置
讯飞云配置
- 访问 讯飞云语音合成服务
- 注册并创建应用
- 在讯飞云控制台添加需要的语音场景支持
- 在应用中填入 AppID 和 API Key
注意:使用特定语音需要在讯飞云控制台先添加对应的场景支持。
合成语音
- 选择云服务提供商(阿里云或讯飞)
- 选择语音场景和发音人
- 输入需要合成的文本
- 点击合成按钮
- 下载生成的音频文件
项目结构
text
tts-now/
├── app.config.js # 基础配置
├── babel.config.js # Babel 配置
├── build/ # 打包输出
│ ├── binary/ # 二进制打包输出
│ └── bundle/ # 打包源输出
├── config/ # 打包配置
│ ├── dev.js # 开发监听启动
│ ├── dist.js # 发布打包
│ ├── webpack.main.js # 主进程编译
│ └── webpack.renderer.js # 渲染进程编译
├── electron.builder.js # Electron Builder 配置
├── public/ # 静态文件
└── src/ # 源代码
├── background.ts # Electron 主进程
├── index.tsx # 入口文件
├── App.less # 入口样式
├── assets/ # 资源文件
├── config/ # 应用配置
├── hook/ # React Hooks
├── layout/ # 布局组件
├── type/ # TypeScript 类型定义
└── utils/ # 工具函数注意事项
- 使用云服务需要先在对应平台注册账号并创建应用
- 部分语音场景需要在控制台手动开启
- 批量合成时请注意 API 调用频率限制
- 导出文件会自动添加场景和云服务商标识便于管理
未来计划
- 接入百度云语音合成
- 接入腾讯云语音合成
- 增加升级更新提示
- 配置框增加清除配置按钮
项目链接
- GitHub 仓库:https://github.com/funnyzak/tts-now
- 在线演示:https://tts.yycc.dev
- 下载地址:GitHub Releases
许可证
Apache-2.0 License © 2021 funnyzak
分享: