关于我用 Vue 写的「微软语音合成工具」差点被百度收购这件事

语言: CN / TW / HK

theme: awesome-green

image.png

某天在公司的下午,收到了来自百度营销中心的发来的信息,是关于我用 Electron + Vue + ElementPlus + Vite 构建的一款 「 微软语音合成工具 」的,至此开启了不寻常的一段旅程 🎬

那么关于百度收购的进展,文章结尾有 🤑

那么就让我先来介绍一下这个项目

这个软件能做什么 ?

那到底这个软件能做什么呢?能吸引百度都来看看

image.png

1. 普通文本转换为语音

功能介绍: 将简单的文本转为语音

使用方法:

1.  将文本复制到下方的文本框,即内容输入区域
2.  右边控制栏选择需要的语音、风格和角色等
3.  点击`开始转换`

注意:

1.  文本较长时,软件内部会自动对文件进行切片,每 300 字左右检测下一个标点符号,并在此处分割,依次转为语音后自动拼接
2.  文本较长且没有标点符号,会转换失败
3.  过长的文本,即使有标点符号,转换也可能会出问题(暂时未定未到问题原因)
4.  几千字以上或者上万字推荐自己分成多个 txt 文件批量转换
5.  可以在文字中加入 SSML 标签语言解决停顿、中断、多音字情况
6.  底部控制栏绿色的下载按钮可以在转换完成后下载到

2. SSML 转换为语音

功能介绍: 将 SSML 标签文本转为语音

使用方法:

1.  将 SSML 标签内容写入下方的文本框,即内容输入区域
2.  右边控制栏选择需要的语音、风格和角色等
3.  点击开始转换

3. 文本文件批量转换

功能介绍: 将多个 txt 文档分别转为 MP3 文件

使用方法:

1.  点击选择文件可以选择多个文本文件,选择完成后,可以看到文件的路径、字数以及当前为ready状态
2.  不需要的文件可以点击同行的删除按钮
3.  在右侧的设置区域配置好相应的选项后,点击开始转换,即可转换多个文件为 mp3;默认保存路径为桌面,可以再设置页面设置保存文件路径

注意:

1.  文本较长时,软件内部会自动对文件进行切片,每 300 字左右检测下一个标点符号,并在此处分割,依次转为语音后自动拼接
2.  文本较长且没有标点符号,会转换失败
3.  【重要】文本文件格式应为utf-8

4. 控制栏

功能介绍: 对转换的语音进行精细化控制

使用方法:

1.  选择设置国家语言。软件不支持翻译,意思是你输入的文本内容,因该是此语言能够解析的
2.  选择设置语音,可以在右侧点击绿色播放按钮试听该声音
3.  选择设置风格、角色、语速和音调
4.  这些配置修改完成后可以保存配置,放便下次直接使用
5.  如果你给配置的名字设置为默认,则打开软件后会直接显示这个配置

5. 设置页面

功能介绍:

1.  下载路径:转换后的文件保存路径
2.  自动播放:文本/ssml 语言转语音后,是否自动播放
3.  版本更新弹窗提醒:发现新版本后是否弹窗提醒
4.  试听文本:在选择语音时,点击声音右侧播放按钮播放的内容
5.  模板编辑:删除在控制栏保存过的声音配置

注意:

1.  下载路径、试听文本修改完成后需要点击确认
2.  所有设置完毕后推荐点击刷新配置,不然可能会失效

怎么才能体验一下 ?

Gitee 下载地址

蓝奏云 下载地址

1. 下载并解压

下载最新版本的压缩文件,解压里面的tts-vue_1.x.x到任意位置后,运行此安装程序

image.png

2. 运行安装程序

💡 提示

首次安装可以选择保存位置,再次安装会默认选择以前的安装位置,并且会卸载旧版本并重新安装

选择为当前用户还是所有用户安装,点击下一步

image.png

选择安装位置,点击安装

image.png

🎉 恭喜您,完成了安装步骤,安装成功后即可运行该程序

image.png

尝试点击右下角的 开始转换 按钮,开始你的第一次文本转语音吧


通过源码编译

通过源码编译的方法适合有开发能力和编程基础的小伙伴,有能力的小伙伴更推荐下载源码编译运行。可以直接在控制台查看一些输出内容,更方便调试和修改

1. 下载源码

源码可以从以下仓库获取:

github: https://github.com/LokerL/tts-vueopen in new window

gitee: https://gitee.com/LGW_space/tts-vue

```js git clone https://github.com/LokerL/tts-vue.git

OR

git clone https://gitee.com/LGW_space/tts-vue.git ```

或者你可以在仓库直接下载源码的压缩包。

2. 安装依赖

在项目根目录运行

js npm i 运行

js npm run dev 项目打包

js npm run build


常见问题

1. 转换时间过长或转换失败如何查看原因 ?

解决方法:

点击 设置打开日志,查看日志文件

日志文件保存路径:C:\Users\用户名\AppData\Roaming\tts-vue\logs(记得定期手动清理日志)

停在「创建webscoket连接...」是因为网络问题

停在「第3次上报...」是你的文本里面有无法解析的内容

经过我多次尝试,转换 4 篇 800 字以上的高考作文用时只要 15-20 秒钟

2. 如何调整多音字的读音或添加中断或暂停等 ?

解决方法:

文本内容输入这个试试,简单的读音例子

```
  你好啊
  读 <phoneme alphabet="sapi" ph="chong 2 liang 4">重量</phoneme> 是不对的
  要读成“重量”
```

image.png

3. 批量转换失败或者听到都是“汪汪汪”(one one one)的声音

可能出现问题的原因:

微软那个接口只允许 utf-8,其他编码的文本都会变成 1,英文读起来就是 one,连着就是汪汪汪了

解决方法:

  1. 已经存在的 ANSI 编码的文本文档,可以点击文件 → 另存为 → 编码:UTF-8
  2. 新建的文本文档保存文件格式及的选择 UTF-8

4. 点击下载没反应,下载文件为文本文档?

可能出现问题的原因:

1.  正确的下载方法是转换完成后点击绿色的下载图标,而不是播放器控件的扩展下载,点播放器控件的下载会默认保存为 xxxx.txt
2.  点击绿色下载没反应?因为默认保存位置是桌面,所以要检查当前登录的账户有没有写入桌面文件的权限

解决方法:

1.  尝试更改默认下载位置为其他盘
2.  以管理员身份运行此软件
3.  要是想直接用播放器控件下载音乐,可以在保存的时候更改文件名后缀为.mp3 即可(如果你已经下载完了,可以尝试更改下载的文本文档.txt 后缀名为.mp3)

百度到底有没有收购?

大家进来应该都是比较在意这个,那么至于百度有没有收购...

em....

image.png

这个项目吧,用来的本来就是微软的接口,且,百度也有自己的接口

所以百度的工作人员只是以为有跨时代的技术进展才来试探打听的 😂