文本转语音如此简单

sxkk20082年前知识分享186

前言

哈喽,大家好,我是Ai知识分享,这两天在研究文本转音的功能,有时候担心自己的普通话不标准,比方说要录制一个视频,即兴讲可能会卡壳,这个时候我们就可以先准备好文本,然后再利用人工智能来生成音频,下面就分享下我的研究成果吧!

语音合成 Text To Speech

微软需要注册验证

实现原理

微软官网demo

使用

首先:需要安装 chrome 油猴扩展,然后再安装这个油猴脚本

第二步:开始录音的时候,在 chrome 上方要允许录音,mac 电脑若没录音过,还需要在设置权限中开启权限。

允许浏览器录音

第三步:输入你想要的文本,先点击播放,然后在点击开始,就会录音,点停止录音,然后就可以下载了音频文件了。

SSML 语法

在录制文本由此有个 Tab 标签, SSML 是语音合成标记语言,跟 HTML 一样是 XML,但却可以描述语音的改善合成,比如音节、发音、语速、音量。

使用多个语音

比如下面的代码,就可以模拟 2 个人的对话

<speak xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="http://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" version="1.0" xml:lang="en-US">
<voice name="en-US-JennyNeural">Good morning!voice>
<voice name="en-US-ChristopherNeural">Good morning to you too Jenny!voice>
speak>

调整讲话风格

可使用 mstts:express-as 元素来表达情感(例如愉悦、同情和冷静)。 也可以针对不同场景(例如客户服务、新闻广播和语音助理)优化语音。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="en-US-AriaNeural">
        <mstts:express-as style="cheerful">
            That'd be just amazing!
        mstts:express-as>
    voice>
speak>

调整讲话语言

通过 修改语言

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice name="zh-CN-XiaoxiaoNeural">
        欢迎关注微信公众号JS酷,英语是
        <lang xml:lang="es-US">
            Welcome to follow wechat public account JS cool
        lang>
    voice>
speak>

风格强度

可调整讲话风格的强度,更好地适应你的使用场景。 可以使用 styledegree 属性指定更强或更柔和的风格,使语音更具表现力或更柔和。 中文(普通话,简体)神经语音支持讲话风格强度调整。

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
    <voice name="zh-CN-XiaoxiaoNeural">
        <mstts:express-as style="sad" styledegree="2">
            快走吧,路上一定要注意安全,早去早回。
        mstts:express-as>
    voice>
speak>

添加暂停

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        Welcome to Microsoft Cognitive Services <break time="100ms" /> Text-to-Speech API.
    voice>
speak>

指定段落和句子

p 和 s 元素分别用于表示段落和句子

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
    <voice name="en-US-JennyNeural">
        <p>
            <s>Introducing the sentence element.s>
            <s>Used to mark individual sentences.s>
        p>
        <p>
            Another simple paragraph.
            Sentence structure in this paragraph is not explicitly marked.
        p>
    voice>
speak>

更多内容大家可以参考官方文档

应用例子

周末到了,学习的同时也该放松下,一起来欣赏一个视频吧

我是怎么做的? 先在预告片网站下载一个预告片,然后是去找简介,转成音频后,然后再合成视频。

你是否明白了什么?抖音上很多视频都是靠搬运 ➕AI 配音就成了原创视频。

<speak
  version="1.0"
  xmlns="http://www.w3.org/2001/10/synthesis"
  xmlns:mstts="https://www.w3.org/2001/mstts"
  xml:lang="en-US"
>
  <voice name="zh-CN-XiaoxiaoNeural">
    <p>
      <w>长津湖之水门桥w>是由陈凯歌、徐克、林超贤监制,<w>徐克w>执导,吴京、易烊千玺领衔主演的战争电影。
    p>
    <p>
      该片以抗美援朝战争第二次战役中的长津湖战役为背景,讲述在结束了新兴里和下碣隅里的战斗之后,七连战士们又接到了更艰巨的任务的故事
    p>
    <p>
      <w>长津湖之水门桥w
      >作为电影<w>长津湖w>的续集,讲述了七连战士们在结束了新兴里和下碣隅里的战斗之后,又将面临更艰巨的挑战和更猛烈的火力,他们将在美陆战一师撤退路线上的咽喉之处——水门桥阻击敌军,任务会更加艰巨,战斗场面会更加激烈,为赢得胜利付出的巨大牺牲也会令人更加动容。
    p>
  voice>
speak>

音频

小结

1、目前由于 navigator.mediaDevices.getDisplayMedia() 还不能直接录制电脑的声音,必须电脑将声音外放,然后录音,所以录音需要找个安静的环境。

2、有时候网速不好可能会卡,需要找个好点的网络,我后面是用的手机热点,一点也没卡。

以上就是本文全部内容,希望这篇文章对大家有所帮助,也可以参考我往期的文章或者在评论区交流你的想法和心得,欢迎一起探索前端。

[1]阿里云的语音合成: https://ai.aliyun.com/nls/tts

[2]腾讯云的语音合成: https://cloud.tencent.com/product/tts

[3]微软的 TTS: https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/#overview

[4]官方文档: https://docs.microsoft.com/zh-cn/azure/cognitive-services/speech-service/speech-synthesis-markup?tabs=csharp#specify-paragraphs-and-sentences

[5]油猴脚本地址: https://greasyfork.org/zh-CN/scripts/440926-%E5%BE%AE%E8%BD%AFtts-%E5%BD%95%E9%9F%B3%E6%8F%92%E4%BB%B6

相关文章

探索人工智能绘画的边界与创新之路

探索人工智能绘画的边界与创新之路

   随着人工智能的飞速发展,各行各业纷纷融入了这一先进技术。在艺术创作领域,人工智能也崭露头角,尤其是在绘画方面。人工智能绘画通过算法和数据的加持,为艺术家们打开了全新的创...

副业巴巴 - 分享全网副业项目、赚钱资源

永久VIP 198软妹币 会员时长:永久享受包月/年会员所有服务不限制下载次数享受永久会员专区资源全站资源永久无限制下载用户推广奖励佣金比例高达 70%不止网站-享受市面90%网赚/副业项目教程分...

这是启动后的界面,这个 demo 不是一个简单的页面,而是一个包含了深度嵌套路由的例子。

下图我开发时的截图,Turbopack 直接在命令行中打印出了构建时间,我们看到启动时间只需要 2.3ms

更新速度

试着修改代码,程序会自动热更新,绝大多数次数更新时间都很快,但偶尔有几次更新时间却很长,图片中有一处需要 16s(我使用的是 Mac M1),这其中的原因就不得而知了,尤大也发布了测评,使用 1000 个节点来对比更新速度,数据显示:根组件与 vite 时间几乎相同,叶子节点比 vite 快 68%,与官方称比 vite 快 10 倍相差甚远。当然目前 Turbopack 还处于 alpha 阶段,期待 Turbopack 能够尽快推出正式版。

Turbopack 特点

  • 开箱即用 TypeScript, JSX, CSS, CSS Modules, WebAssembly 等
  • 增量计算: Turbopack 是建立在 Turbo 之上的,Turbo 是基于 Rust 的开源、增量记忆化框架,除了可以缓存代码,还可以缓存函数运行结果。
  • 懒编译:例如,如果访问 localhost:3000,它将仅打包 pages/index.jsx,以及导入的模块。

为什么不选择 Vite 和 Esbuild?

Vite 依赖于浏览器的原生 ES Modules 系统,不需要打包代码,这种方法只需要转换单个 JS 文件,响应更新很快,但是如果文件过多,这种方式会导致浏览器大量级联网络请求,会导致启动时间相对较慢。所以作者选择同 webpack 一样方式,打包,但是使用了 Turbo 构建引擎,一个增量记忆化框架,永远不会重复相同的工作。

Esbuild 是一个非常快速的打包工具,但它并没有做太多的缓存,也没有 HMR(热更新),所以在开发环境下不适用。

你好,Next.js 13

theme: vuepress highlight: monokai文章为稀土掘金技术社区首发签约文章,14 天内禁止转载,14 天后未获授权禁止转载,侵权必究!前言上周发布了 Next.js 的一个...

人脸搜索:探索人工智能领域的创新技术

人脸搜索:探索人工智能领域的创新技术

  人脸搜索作为人工智能领域的创新技术,正以其卓越的特性和广泛的应用领域吸引着越来越多的关注。随着科技的不断进步和人工智能算法的不断优化,人脸搜索正日益成为现代社会有效管理、...

文字识别插件:提升效率、深挖数据潜能

文字识别插件:提升效率、深挖数据潜能

  文字识别(OCR)插件是一种基于机器学习和人工智能技术,可将文档、图片中的文字提取出来,实现自动识别和转换。在如今信息爆炸的时代,文字识别插件的应用范围日益广泛,包括但不...

视频数据我找了“译学馆”中的一个API 作为我的初始数据,修改 main 函数来填充视频数据。

import example from './example.json" alt="使用 Next.js、 Prisma 和 PostgreSQL 全栈开发视频网站">

使用 Next.js、 Prisma 和 PostgreSQL 全栈开发视频网站

highlight: monokai theme: vuepress文章为稀土掘金技术社区首发签约文章,14 天内禁止转载,14 天后未获授权禁止转载,侵权必究!前言在前面的文章中,我们使用了 Not...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。