【开源】TTS-Vue-Next 文本转语音工具
- 内容介绍
- 文章标签
- 相关推荐
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
TTS Vue Next
一个基于 Microsoft Edge TTS 服务的桌面文本转语音(TTS)应用程序,采用 Vue 3、Vuetify 和 Tauri 构建。
项目地址:
https://github.com/LokerL/tts-vue-next
功能特性
1. 文本转语音(TTS)
- 支持实时文本输入和语音转换
- 可调节语速、音调和音量
- 多种音色选择(基于 Edge TTS 支持的语音)
- 内置音频播放器,支持播放、暂停、停止
- 生成后可保存音频文件(支持 MP3、WAV、OGG、FLAC 格式)
2. 批量转换
- 支持批量上传文本文件(.txt、.md、.markdown、.docx)
- 拖拽上传文件
- 可配置并发转换数量
- 实时查看转换进度
- 支持单文件重试
- 自定义输出格式和保存路径
3. 个性化设置
-
输出设置
- 自定义保存路径
- 默认输出格式(MP3、WAV、OGG、FLAC)
- 显示语言切换(简体中文/English)
- 转换后自动播放开关
-
处理设置
- 最大重试次数(1-10 次)
- 文件并发数(1-5)
- 分段并发数(1-5)
4. 界面特性
- 现代化的玻璃拟态(Glassmorphism)设计
- 支持深色/浅色主题切换
- 自定义窗口标题栏
- 响应式布局
- 国际化支持(i18n)
技术栈
前端
- Vue 3 - 渐进式 JavaScript 框架
- TypeScript - 类型安全的 JavaScript
- Vuetify 3 - Material Design 组件库
- Vue Router - 官方路由管理器
- Pinia - Vue 状态管理库
- Vue I18n - 国际化插件
后端(Tauri)
- Rust - 系统级编程语言
- Tauri 2 - 跨平台桌面应用框架
- Tokio - 异步运行时
- reqwest - HTTP 客户端
- FFmpeg - 音频格式转换
其他
- Vite - 下一代前端构建工具
- Vitest - 单元测试框架
- Happy DOM - 轻量级 DOM 实现
运行项目
环境要求
- Node.js >= 18.0.0
- pnpm >= 8.0.0
- Rust >= 1.70.0
- 系统依赖
- Windows: 无需额外依赖
- Linux:
libwebkit2gtk-4.0-dev,build-essential,curl,file,x11-utils,libxdo-dev,libssl-dev,libayatana-appindicator3-dev,librsvg2-dev - macOS: Xcode Command Line Tools
安装依赖
# 克隆项目
git clone <repository-url>
cd tts-vue-next
# 安装前端依赖
pnpm install
# 同步 FFmpeg 二进制文件(自动执行)
pnpm ffmpeg:sync
开发模式
# 启动开发服务器
pnpm tauri dev
这将会:
- 启动 Vite 开发服务器(http://localhost:1420)
- 编译并运行 Tauri 应用窗口
生产构建
# 构建前端
pnpm build
# 构建桌面应用
pnpm tauri build
构建产物位于 src-tauri/target/release/bundle/ 目录。
运行测试
# 运行单元测试
pnpm test
# 运行测试并生成覆盖率报告
pnpm test:coverage
项目结构
tts-vue-next/
├── src/ # 前端源代码
│ ├── components/ # Vue 组件
│ │ ├── batch/ # 批量转换组件
│ │ ├── layout/ # 布局组件
│ │ └── tts/ # TTS 组件
│ ├── locales/ # 国际化文件
│ ├── plugins/ # Vue 插件
│ ├── router/ # 路由配置
│ ├── stores/ # Pinia 状态管理
│ ├── types/ # TypeScript 类型定义
│ ├── utils/ # 工具函数
│ ├── views/ # 页面视图
│ ├── App.vue # 根组件
│ └── main.ts # 入口文件
├── src-tauri/ # Tauri 后端源代码
│ ├── src/
│ │ ├── commands/ # Tauri 命令
│ │ │ ├── audio.rs # 音频处理命令
│ │ │ ├── file.rs # 文件操作命令
│ │ │ ├── tts.rs # TTS 转换命令
│ │ │ └── voices.rs # 语音列表命令
│ │ ├── edge_tts/ # Edge TTS 核心逻辑
│ │ ├── audio/ # 音频处理
│ │ └── utils/ # 工具函数
│ ├── binaries/ # 二进制文件(FFmpeg)
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 配置
├── docs/ # 项目文档
├── package.json # Node.js 依赖配置
├── tsconfig.json # TypeScript 配置
└── vite.config.ts # Vite 配置
核心功能说明
Edge TTS 集成
项目通过 WebSocket 连接 Microsoft Edge TTS 服务,实现了完整的文本转语音功能:
- 语音获取 - 获取 Edge TTS 支持的所有可用语音
- DRM 认证 - 处理服务器的 DRM 挑战响应
- SSML 构建 - 构建标准化的语音合成标记语言
- 文本分段 - 自动将长文本分割为适合处理的片段
- 重试机制 - 内置重试逻辑,提高转换成功率
音频处理
- 使用 FFmpeg 进行音频格式转换
- 支持多种输出格式(MP3、WAV、OGG、FLAC)
- 临时文件自动清理
软件截图:
文本转换页面:
image1650×1125 111 KB
批量转换页面:
image1650×1125 111 KB
设置页面:
image1650×1125 89.2 KB
网友解答:--【壹】--:
马克一下,一会测试下效果,感谢佬友分享。
--【贰】--:
如果只是文本转语音是不是有很多类似产品了,GPT-SoVITS支持文本转语音+声音克隆。类似的文本转语音还有在线的NiceVoice - 免费AI声音克隆工具。
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
TTS Vue Next
一个基于 Microsoft Edge TTS 服务的桌面文本转语音(TTS)应用程序,采用 Vue 3、Vuetify 和 Tauri 构建。
项目地址:
https://github.com/LokerL/tts-vue-next
功能特性
1. 文本转语音(TTS)
- 支持实时文本输入和语音转换
- 可调节语速、音调和音量
- 多种音色选择(基于 Edge TTS 支持的语音)
- 内置音频播放器,支持播放、暂停、停止
- 生成后可保存音频文件(支持 MP3、WAV、OGG、FLAC 格式)
2. 批量转换
- 支持批量上传文本文件(.txt、.md、.markdown、.docx)
- 拖拽上传文件
- 可配置并发转换数量
- 实时查看转换进度
- 支持单文件重试
- 自定义输出格式和保存路径
3. 个性化设置
-
输出设置
- 自定义保存路径
- 默认输出格式(MP3、WAV、OGG、FLAC)
- 显示语言切换(简体中文/English)
- 转换后自动播放开关
-
处理设置
- 最大重试次数(1-10 次)
- 文件并发数(1-5)
- 分段并发数(1-5)
4. 界面特性
- 现代化的玻璃拟态(Glassmorphism)设计
- 支持深色/浅色主题切换
- 自定义窗口标题栏
- 响应式布局
- 国际化支持(i18n)
技术栈
前端
- Vue 3 - 渐进式 JavaScript 框架
- TypeScript - 类型安全的 JavaScript
- Vuetify 3 - Material Design 组件库
- Vue Router - 官方路由管理器
- Pinia - Vue 状态管理库
- Vue I18n - 国际化插件
后端(Tauri)
- Rust - 系统级编程语言
- Tauri 2 - 跨平台桌面应用框架
- Tokio - 异步运行时
- reqwest - HTTP 客户端
- FFmpeg - 音频格式转换
其他
- Vite - 下一代前端构建工具
- Vitest - 单元测试框架
- Happy DOM - 轻量级 DOM 实现
运行项目
环境要求
- Node.js >= 18.0.0
- pnpm >= 8.0.0
- Rust >= 1.70.0
- 系统依赖
- Windows: 无需额外依赖
- Linux:
libwebkit2gtk-4.0-dev,build-essential,curl,file,x11-utils,libxdo-dev,libssl-dev,libayatana-appindicator3-dev,librsvg2-dev - macOS: Xcode Command Line Tools
安装依赖
# 克隆项目
git clone <repository-url>
cd tts-vue-next
# 安装前端依赖
pnpm install
# 同步 FFmpeg 二进制文件(自动执行)
pnpm ffmpeg:sync
开发模式
# 启动开发服务器
pnpm tauri dev
这将会:
- 启动 Vite 开发服务器(http://localhost:1420)
- 编译并运行 Tauri 应用窗口
生产构建
# 构建前端
pnpm build
# 构建桌面应用
pnpm tauri build
构建产物位于 src-tauri/target/release/bundle/ 目录。
运行测试
# 运行单元测试
pnpm test
# 运行测试并生成覆盖率报告
pnpm test:coverage
项目结构
tts-vue-next/
├── src/ # 前端源代码
│ ├── components/ # Vue 组件
│ │ ├── batch/ # 批量转换组件
│ │ ├── layout/ # 布局组件
│ │ └── tts/ # TTS 组件
│ ├── locales/ # 国际化文件
│ ├── plugins/ # Vue 插件
│ ├── router/ # 路由配置
│ ├── stores/ # Pinia 状态管理
│ ├── types/ # TypeScript 类型定义
│ ├── utils/ # 工具函数
│ ├── views/ # 页面视图
│ ├── App.vue # 根组件
│ └── main.ts # 入口文件
├── src-tauri/ # Tauri 后端源代码
│ ├── src/
│ │ ├── commands/ # Tauri 命令
│ │ │ ├── audio.rs # 音频处理命令
│ │ │ ├── file.rs # 文件操作命令
│ │ │ ├── tts.rs # TTS 转换命令
│ │ │ └── voices.rs # 语音列表命令
│ │ ├── edge_tts/ # Edge TTS 核心逻辑
│ │ ├── audio/ # 音频处理
│ │ └── utils/ # 工具函数
│ ├── binaries/ # 二进制文件(FFmpeg)
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 配置
├── docs/ # 项目文档
├── package.json # Node.js 依赖配置
├── tsconfig.json # TypeScript 配置
└── vite.config.ts # Vite 配置
核心功能说明
Edge TTS 集成
项目通过 WebSocket 连接 Microsoft Edge TTS 服务,实现了完整的文本转语音功能:
- 语音获取 - 获取 Edge TTS 支持的所有可用语音
- DRM 认证 - 处理服务器的 DRM 挑战响应
- SSML 构建 - 构建标准化的语音合成标记语言
- 文本分段 - 自动将长文本分割为适合处理的片段
- 重试机制 - 内置重试逻辑,提高转换成功率
音频处理
- 使用 FFmpeg 进行音频格式转换
- 支持多种输出格式(MP3、WAV、OGG、FLAC)
- 临时文件自动清理
软件截图:
文本转换页面:
image1650×1125 111 KB
批量转换页面:
image1650×1125 111 KB
设置页面:
image1650×1125 89.2 KB
网友解答:--【壹】--:
马克一下,一会测试下效果,感谢佬友分享。
--【贰】--:
如果只是文本转语音是不是有很多类似产品了,GPT-SoVITS支持文本转语音+声音克隆。类似的文本转语音还有在线的NiceVoice - 免费AI声音克隆工具。

