语音合成 订阅
语音合成是通过机械的、电子的方法产生人造语音的技术。TTS技术(又称文语转换技术)隶属于语音合成,它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的汉语口语输出的技术。 展开全文
语音合成是通过机械的、电子的方法产生人造语音的技术。TTS技术(又称文语转换技术)隶属于语音合成,它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的汉语口语输出的技术。
信息
基础知识
数字信号处理,语言学知识
定    义
通过机械产生人造语音的技术
技    术
TTS技术
中文名
语音合成
应    用
计算机
外文名
speech synthesis
语音合成概述
语音合成是利用电子计算机和一些专门装置模拟人,制造语音的技术。语音合成和语音识别技术是实现人机语音通信,建立一个有听和讲能力的口语系统所必需的两项关键技术。使电脑具有类似于人一样的说话能力,是当今时代信息产业的重要竞争市场。和语音识别相比,语音合成的技术相对说来要成熟一些,并已开始向产业化方向成功迈进,大规模应用指日可待。语音合成,又称文语转换(Text to Speech)技术,能将任意文字信息实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是中文信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。我们所说的“让机器像人一样开口说话”与传统的声音回放设备(系统)有着本质的区别。传统的声音回放设备(系统),如磁带录音机,是通过预先录制声音然后回放来实现“让机器说话”的。这种方式无论是在内容、存储、传输或者方便性、及时性等方面都存在很大的限制。而通过计算机语音合成则可以在任何时候将任意文本转换成具有高自然度的语音,从而真正实现让机器“像人一样开口说话”。 [1]  文语转换系统实际上可以看作是一个人工智能系统。为了合成出高质量的语言,除了依赖于各种规则,包括语义学规则、词汇规则、语音学规则外,还必须对文字的内容有很好的理解,这也涉及到自然语言理解的问题。下图显示了一个完整的文语转换系统示意图。文语转换过程是先将文字序列转换成音韵序列,再由系统根据音韵序列生成语音波形。其中第一步涉及语言学处理,例如分词、字音转换等,以及一整套有效的韵律控制规则;第二步需要先进的语音合成技术,能按要求实时合成出高质量的语音流。因此一般说来,文语转换系统都需要一套复杂的文字序列到音素序列的转换程序,也就是说,文语转换系统不仅要应用数字信号处理技术,而且必须有大量的语言学知识的支持。 [1] 
收起全文
精华内容
下载资源
问答
  • 语音合成

    2020-07-25 18:49:16
    语音合成语音合成语音合成 deepvoice3 中文语音合成数据集 调用Api

    语音合成


    1. deepvoice3
    2. 中文语音合成数据集
    3. 调用Api

    展开全文
  • 语音合成
  • 语音合成提高篇语音合成提高篇语音合成提高篇语音合成提高篇语音合成提高篇语音合成提高篇
  • 调用百度语音合成API概述开通语音合成服务创建语音技术应用使用Qt调用百度语音合成API 概述 本文介绍了使用Qt调用百度语音合成API的详细过程,调用过程十分简单,关键在于掌握获取个人的access_token。首先必须有...

    概述

    本文介绍了使用Qt调用百度语音合成API的详细过程,调用过程十分简单,关键在于掌握获取个人的access_token。首先必须有百度账号,账号注册过程不在赘述。(注:软件环境,Qt5.14.2;)

    开通语音合成服务

    进入百度云主页,按下图顺序找到语音合成服务并开通。
    在这里插入图片描述
    在这里插入图片描述

    创建语音技术应用

    开通服务之后,进入控制台,在控制台左侧选择语音技术,进入,点击创建应用。这里我已创建好一个语音合成应用。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    创建成功后可以看到APIKey和SecretKey,记录下这两个值,接下来使用其获取access_token。
    在这里插入图片描述

    使用Qt调用百度语音合成API

    百度语音技术文档
    在这里插入图片描述
    1.获得access_tocken
    方法:将自己的APIKey和APISecret分别填入下述网址,APIKey对应client_id,APISecret对应client_secret,然后在浏览器中访问此网址,返回的数据中,有一条就是我们需要的access_token。

    // appKey = Va5yQRHl********LT0vuXV4
    // appSecret = 0rDSjzQ20XUj5i********PQSzr5pVw2
    https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHl********LT0vuXV4&client_secret=0rDSjzQ20XUj5i********PQSzr5pVw2
    

    链接修改正确后,访问,有一项access_token,记录此值。

    {
        "access_token": "1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328",
        "expires_in": 2592000,
        "refresh_token": "2.385d55f8615fdfd9edb7c4b********.604800.1293440400-2346678-124328",
        "scope": "public audio_tts_post ...",
        "session_key": "ANXxSNjwQDugf8615Onqeik********CdlLxn",
        "session_secret": "248APxvxjCZ0VEC********aK4oZExMB",
    }
    

    2.获得合成接口

    接下来拼接参数,拼接参数后,即可在代码中使用参数链接,获得相应文本的语音数据。将下述链接中的tok值替换为自己的access_token,tex值我们在Qt调用时修改,tex值即为需要转为语音的文本内容。本文使用GET调用方式,还需要在下述链接中加入cuid参数,cuid中填写本机MAC地址。查看本机MAC地址的方法很多,不再赘述。访问接口,可以下载MP3文件。

    http://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=abcdxxx&tok=1.a6b7dbd428f731035f771b8d****.86400.1292922000-2346678-124328&tex=%e7%99%be%e5%ba%a6%e4%bd%a0%e5%a5%bd&vol=9&per=0&spd=5&pit=5&aue=3
    // 这是一个正常MP3的下载url
    // tex在实际开发过程中请urlencode2次
    

    最终的接口链接为

    "http://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=xx-xx-xx-xx-xx-xxcuid填写本机的MAC地址&tok=换成自己的&vol=9&per=0&spd=5&pit=5&aue=3&per=4&tex="
    

    3.Qt调用
    mainwindow.cpp

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
        , ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        media_player =new QMediaPlayer(this);
        connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(texttospeech()));
    }
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    void MainWindow::texttospeech()
    {
           QString text=ui->lineEdit->text();
           //修改链接,cuid填写本机MAC地址,tok换成自己的
           QByteArray url="http://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=xx-xx-xx-xx-xx-xxcuid填写本机的MAC地址&tok=换成自己的&vol=9&per=0&spd=5&pit=5&aue=3&per=4&tex=";
           url.append(QUrl::toPercentEncoding(text));
           //播放url里面的音频
           media_player->setMedia(QUrl::fromLocalFile(url));
           media_player->play();
    }
    

    mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QMainWindow>
    #include<QMediaPlayer>
    QT_BEGIN_NAMESPACE
    namespace Ui { class MainWindow; }
    QT_END_NAMESPACE
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        MainWindow(QWidget *parent = nullptr);
        ~MainWindow();
        QMediaPlayer* media_player;
    private slots:
        void texttospeech();
    private:
        Ui::MainWindow *ui;
    };
    #endif // MAINWINDOW_H
    

    main.cpp

    #include "mainwindow.h"
    #include <QApplication>
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
        return a.exec();
    }
    

    界面只有两个控件,非常简单。
    在这里插入图片描述

    Qt工程下载链接

    点击下载工程,免费链接,不需要积分。可能需要关注一下,下载完成,取消关注即可。

    展开全文
  • 语音合成软件工具合成语音
  • 语音合成

    2014-09-03 09:56:25
    语音合成
  • 一、腾讯语音合成介绍腾讯云语音合成技术(TTS)可以将任意文本转化为语音,实现让机器和应用张口说话。 腾讯TTS技术可以应用到很多场景,比如,移动APP语音播报新闻;智能设备语音提醒;依靠网上现有节目或少量录音,...

    一、腾讯语音合成介绍

    腾讯云语音合成技术(TTS)可以将任意文本转化为语音,实现让机器和应用张口说话。 腾讯TTS技术可以应用到很多场景,比如,移动APP语音播报新闻;智能设备语音提醒;依靠网上现有节目或少量录音,快速合成明星语音,降低邀约成本;支持车载导航语音合成的个性化语音播报。(废话一大堆)。。。

    二、腾讯语音合成python SDK文档

    安装 Python SDK 前,先获取安全凭证。在第一次使用云 API 之前,用户首先需要在腾讯云控制台上申请安全凭证,安全凭证包括 SecretID 和 SecretKey, SecretID 是用于标识 API 调用者的身份,SecretKey 是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。

    通过 pip 安装(推荐)

    您可以通过 pip 安装方式将腾讯云 API Python SDK 安装到您的项目中,如果您的项目环境尚未安装 pip,请详细参见 pip官网 安装。

    通过pip方式安装请在命令行中执行以下命令:

    pip install tencentcloud-sdk-python

    请注意,如果同时有 python2 和 python3 环境, python3 环境需要使用 pip3 命令安装。

    三、腾讯语音合成

    1 # !/usr/bin/env python

    2 #-*- coding: utf-8 -*-

    3 from base64 importb64decode4 from uuid importuuid45 from tencentcloud.common importcredential6 from tencentcloud.common.exception.tencent_cloud_sdk_exception importTencentCloudSDKException7 from tencentcloud.aai.v20180522.models importTextToVoiceRequest8 from tencentcloud.aai.v20180522.aai_client importAaiClient9 try:10 #实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey

    11 cred = credential.Credential("你的secretID", "你的secretKey")12 #实例化要进行语音合成请求的client对象

    13 client = AaiClient(cred, 'ap-shanghai')14 #实例化一个请求对象

    15 req = TextToVoiceRequest()16 #请求对象属性封装

    17 req.Text = '先帝创业未半而中道崩殂' #type: str # 要合成语音的文本

    18 req.SessionId = uuid4() #type: int # 一次请求对应一个SessionId,会原样返回,建议传入类似于uuid的字符串防止重复

    19 req.ModelType = 1 #type: int # 模型类型,默认值为1

    20 req.Volume = 5.0 #type: float # 音量大小,范围:[0,10],分别对应10个等级的音量,默认为0

    21 req.Speed = 0.6 #type: float # 语速,范围:[-2,2],分别对应不同语速:0.6倍,0.8倍,1.0倍,1.2倍,1.5倍,默认为0

    22 req.ProjectId = 10086 #type: int # 项目id,用户自定义,默认为0

    23 req.VoiceType = 0 #type: int # 音色0:女声1,亲和风格(默认) 音色1:男声1,成熟风格 音色2:男声2,成熟风格

    24 req.PrimaryLanguage = 1 #type: int # 主语言类型1:中文,最大100个汉字(标点符号算一个汉字)语言类型2:英文,最大支持400个字母(标点符号算一个字母)

    25 req.SampleRate = 16000 #type: int # 音频采样率,16000:16k,8000:8k,默认16k

    26 #通过client对象调用想要访问的接口,需要传入请求对象

    27 rep =client.TextToVoice(req)28 #rep为响应对象

    29 print(rep)30 """

    31 {32 "Audio": "UklGRlR/AABXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YSx9AAD+AQD//wAAAAAAAAIAAQADAAMABgAEAAYABQAGAAUABwAIAAgACQAAE......AAgACAAEAAgADAAIAAwACAAQAAwACAAIAAgADAAMAAgACAAIAAwABAAAAAAAAAAAAAAD/AAAAAAAA//8AAP///v/9//7//v///v8AAP///wAA/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAA",33 "RequestId": "9a7a1615-3e09-4db2-8032-5c6f497f7e6a",34 "SessionId": "session-1234"35 }36 Audio对应的值为经过base64编码,37 RequestId为返回的唯一请求id,38 SessionId为发送请求时传入的id即uuid4()39 """

    40 #content为base64解码后的二进制流

    41 content =b64decode(rep.Audio)42 #I/O操作

    43 with open('voice.wav', 'wb') as f:44 f.write(content)45 exceptTencentCloudSDKException as e:46 print(e)

    四、腾讯语音合成使用后感受

    首先,在代码层次上讲,官方压根没有合成示例文档啊(咆哮ing),全自己摸索的啊(咆哮ing),SDK都开发出来了,示例代码给一下能死啊(咆哮ing),怪不得没人用啊(咆哮ing)!

    第二,还是在代码层次上讲,源码中TextToVoiceRequest()类,在__init__()方法中就不能直接封装属性啊(咆哮ing),有些没有自定制但都是默认的直接填上不就行了啊(咆哮ing),懒死你啊,非得一行一行自己加属性啊(咆哮ing),看到的同学务必要修改这个类的__init__()方法,要不然就像示例代码中那样麻烦。

    第三,在合成效果上讲,声音难听爆了有木有,语音文件还得解码再I/O,吃饱了撑的了啊,还是那句话:怪不得没人用,百度语音合成效果比你强多了。

    总之,就这样吧,不吐槽你了,真是费劲。。。

    展开全文
  • 百度语音合成

    2019-04-19 16:32:56
    免费的百度云语音合成,包含在离线语音合成功能,如果只是语音播报,还是不错的
  • 语音合成apiThe Speech Synthesis API is an awesome tool provided by modern browsers. 语音合成API是现代浏览器提供的强大工具。 Introduced in 2014, it’s now widely adopted and available in Chrome, ...

    语音合成api

    The Speech Synthesis API is an awesome tool provided by modern browsers.

    语音合成API是现代浏览器提供的强大工具。

    Introduced in 2014, it’s now widely adopted and available in Chrome, Firefox, Safari and Edge. IE is not supported.

    它于2014年推出,现已 Chrome,Firefox,Safari和Edge 广泛采用并可用。 不支持IE。

    Browser support for the Speech Synthesis API

    It’s part of the Web Speech API, along with the Speech Recognition API, although that is only currently supported, in experimental mode, on Chrome.

    它是Web Speech API的一部分,与Speech Recognition API一起 ,虽然目前仅在Chrome上以实验模式受支持。

    I used it recently to provide an alert on a page that monitored some parameters. When one of the numbers went up, I was alerted thought the computer speakers.

    我最近使用它在监视某些参数的页面上提供了警报。 当其中一个数字上升时,我就被计算机扬声器吓到了。

    入门 (Getting started)

    The most simple example of using the Speech Synthesis API stays on one line:

    使用语音合成API的最简单示例停留在一行上:

    speechSynthesis.speak(new SpeechSynthesisUtterance('Hey'))

    Copy and paste it in your browser console, and your computer should speak!

    将其复制并粘贴到您的浏览器控制台中,您的计算机就会讲话!

    API (The API)

    The API exposes several objects to the window object.

    该API将多个对象公开给window对象。

    SpeechSynthesisUtterance (SpeechSynthesisUtterance)

    SpeechSynthesisUtterance represents a speech request. In the example above we passed it a string. That’s the message the browser should read aloud.

    SpeechSynthesisUtterance表示语音请求。 在上面的示例中,我们为它传递了一个字符串。 那是浏览器应大声读出的消息。

    Once you got the utterance object, you can perform some tweaks to edit the speech properties:

    获得语音对象后,您可以进行一些调整以编辑语音属性:

    const utterance = new SpeechSynthesisUtterance('Hey')
    • utterance.rate: set the speed, accepts between [0.1 - 10], defaults to 1

      utterance.rate :设置速度,可接受[0.1-10],默认为1

    • utterance.pitch: set the pitch, accepts between [0 - 2], defaults to 1

      utterance.pitch :设置音高,接受[0-2],默认为1

    • utterance.volume: sets the volume, accepts between [0 - 1], defaults to 1

      utterance.volume :设置音量,接受[0-1],默认为1

    • utterance.lang: set the language (values use a BCP 47 language tag, like en-US or it-IT)

      utterance.lang :设置语言(值使用BCP 47语言标记,例如en-USit-IT )

    • utterance.text: instead of setting it in the constructor, you can pass it as a property. Text can be maximum 32767 characters

      utterance.text :您可以将其作为属性传递,而不是在构造函数中进行设置。 文字最多32767个字符

    • utterance.voice: sets the voice (more on this below)

      utterance.voice :设置声音(有关此内容,请参见下文)

    Example:

    例:

    const utterance = new SpeechSynthesisUtterance('Hey')
    utterance.pitch = 1.5
    utterance.volume = 0.5
    utterance.rate = 8
    speechSynthesis.speak(utterance)

    设定声音 (Set a voice)

    The browser has a different number of voices available.

    浏览器有不同数量的声音。

    To see the list, use this code:

    要查看列表,请使用以下代码:

    console.log(`Voices #: ${speechSynthesis.getVoices().length}`)
    
    speechSynthesis.getVoices().forEach(voice => {
      console.log(voice.name, voice.lang)
    })

    Voices in Firefox

    Here is one of the cross browser issues. The above code works in Firefox, Safari (and possibly Edge but I didn’t test it), but does not work in Chrome. Chrome requires the voices handling in a different way, and requires a callback that is called when the voices have been loaded:

    这是跨浏览器问题之一。 上面的代码在Firefox,Safari(可能还有Edge)中都可以使用,但在Chrome中不起作用 。 Chrome需要以不同的方式处理声音,并且需要在加载声音后调用回调:

    const voiceschanged = () => {
      console.log(`Voices #: ${speechSynthesis.getVoices().length}`)
      speechSynthesis.getVoices().forEach(voice => {
        console.log(voice.name, voice.lang)
      })
    }
    speechSynthesis.onvoiceschanged = voiceschanged

    After the callback is called, we can access the list using speechSynthesis.getVoices().

    调用回调后,我们可以使用speechSynthesis.getVoices()访问列表。

    I believe this is because Chrome - if there is a network connection - checks additional languages from the Google servers:

    我认为这是因为Chrome(如果存在网络连接)会从Google服务器检查其他语言:

    Chrome Languages

    If there is no network connection, the number of languages available is the same as Firefox and Safari. The additional languages are available where the network is enabled, but the API works offline as well.

    如果没有网络连接,则可用的语言数量与Firefox和Safari相同。 在启用网络的情况下,还可以使用其他语言,但是API也可以脱机工作。

    跨浏览器实现以获取语言 (Cross browser implementation to get the language)

    Since we have this difference, we need a way to abstract it to use the API. This example does this abstraction:

    由于存在这种差异,因此我们需要一种抽象方法以使用API​​。 这个例子做了这个抽象:

    const getVoices = () => {
      return new Promise(resolve => {
        let voices = speechSynthesis.getVoices()
        if (voices.length) {
          resolve(voices)
          return
        }
        speechSynthesis.onvoiceschanged = () => {
          voices = speechSynthesis.getVoices()
          resolve(voices)
        }
      })
    }
    
    const printVoicesList = async () => {
      ;(await getVoices()).forEach(voice => {
        console.log(voice.name, voice.lang)
      })
    }
    
    printVoicesList()

    See on Glitch

    见小故障

    使用自定义语言 (Use a custom language)

    The default voice speaks in english.

    默认声音是英语。

    You can use any language you want, by setting the utterance lang property:

    通过设置话语lang属性,可以使用所需的任何语言:

    let utterance = new SpeechSynthesisUtterance('Ciao')
    utterance.lang = 'it-IT'
    speechSynthesis.speak(utterance)

    使用其他声音 (Use another voice)

    If there is more than one voice available, you might want to choose the other. For example the default italian voice is female, but maybe I want a male voice. That’s the second one we get from th voices list.

    如果有多个声音可用,则可能要选择另一个声音。 例如,默认的意大利语声音是女性,但也许我想要男性声音。 这是我们从声音列表中获得的第二个声音。

    const lang = 'it-IT'
    const voiceIndex = 1
    
    const speak = async text => {
      if (!speechSynthesis) {
        return
      }
      const message = new SpeechSynthesisUtterance(text)
      message.voice = await chooseVoice()
      speechSynthesis.speak(message)
    }
    
    const getVoices = () => {
      return new Promise(resolve => {
        let voices = speechSynthesis.getVoices()
        if (voices.length) {
          resolve(voices)
          return
        }
        speechSynthesis.onvoiceschanged = () => {
          voices = speechSynthesis.getVoices()
          resolve(voices)
        }
      })
    }
    
    const chooseVoice = async () => {
      const voices = (await getVoices()).filter(voice => voice.lang == lang)
    
      return new Promise(resolve => {
        resolve(voices[voiceIndex])
      })
    }
    
    speak('Ciao')

    See on Glitch

    见小故障

    语言的价值 (Values for the language)

    Those are some examples of the languages you can use:

    这些是您可以使用的语言的一些示例:

    • Arabic (Saudi Arabia) ➡️ ar-SA

      阿拉伯文(沙特阿拉伯)➡️ar ar-SA

    • Chinese (China) ➡️ zh-CN

      中文(中国)➡️zh zh-CN

    • Chinese (Hong Kong SAR China) ➡️ zh-HK

      中文(中国香港特别行政区)➡️zh zh-HK

    • Chinese (Taiwan) ➡️ zh-TW

      中文(台湾)➡️zh zh-TW

    • Czech (Czech Republic) ➡️ cs-CZ

      捷克(捷克共和国)➡️CS cs-CZ

    • Danish (Denmark) ➡️ da-DK

      丹麦文(丹麦)➡️da da-DK

    • Dutch (Belgium) ➡️ nl-BE

      荷兰语(比利时)➡️nl nl-BE

    • Dutch (Netherlands) ➡️ nl-NL

      荷兰语(荷兰)➡️nl nl-NL

    • English (Australia) ➡️ en-AU

      英文(澳大利亚)➡️en en-AU

    • English (Ireland) ➡️ en-IE

      英语(爱尔兰)➡️en en-IE

    • English (South Africa) ➡️ en-ZA

      英语(南非)➡️en en-ZA

    • English (United Kingdom) ➡️ en-GB

      英文(英国)➡️en en-GB

    • English (United States) ➡️ en-US

      英文(美国)➡️en en-US

    • Finnish (Finland) ➡️ fi-FI

      芬兰语(芬兰)➡️fi fi-FI

    • French (Canada) ➡️ fr-CA

      法语(加拿大)➡️fr fr-CA

    • French (France) ➡️ fr-FR

      法国(法国)➡️fr fr-FR

    • German (Germany) ➡️ de-DE

      德语(德国)➡️de de-DE

    • Greek (Greece) ➡️ el-GR

      希腊文(希腊)➡️el el-GR

    • Hindi (India) ➡️ hi-IN

      印地语(印度)➡️hi hi-IN

    • Hungarian (Hungary) ➡️ hu-HU

      匈牙利文(匈牙利)➡️hu hu-HU

    • Indonesian (Indonesia) ➡️ id-ID

      印尼文(印度尼西亚)➡️id id-ID

    • Italian (Italy) ➡️ it-IT

      意大利语(意大利)➡️it it-IT

    • Japanese (Japan) ➡️ ja-JP

      日语(日本)➡️ja ja-JP

    • Korean (South Korea) ➡️ ko-KR

      韩国语(韩国)➡️ko ko-KR

    • Norwegian (Norway) ➡️ no-NO

      挪威语(挪威)➡️no no-NO

    • Polish (Poland) ➡️ pl-PL

      波兰语(波兰)➡️pl pl-PL

    • Portuguese (Brazil) ➡️ pt-BR

      葡萄牙语(巴西)➡️pt pt-BR

    • Portuguese (Portugal) ➡️ pt-PT

      葡萄牙语(葡萄牙)➡️pt pt-PT

    • Romanian (Romania) ➡️ ro-RO

      罗马尼亚语(罗马尼亚)➡️ro ro-RO

    • Russian (Russia) ➡️ ru-RU

      俄语(俄罗斯)➡️ru ru-RU

    • Slovak (Slovakia) ➡️ sk-SK

      斯洛伐克(斯洛伐克)➡️sk sk-SK

    • Spanish (Mexico) ➡️ es-MX

      西班牙语(墨西哥)➡️es es-MX

    • Spanish (Spain) ➡️ es-ES

      西班牙语(西班牙)➡️es es-ES

    • Swedish (Sweden) ➡️ sv-SE

      瑞典语(瑞典)➡️sv sv-SE

    • Thai (Thailand) ➡️ th-TH

      泰国(泰国)➡️th th-TH

    • Turkish (Turkey) ➡️ tr-TR

      土耳其语(土耳其)➡️tr tr-TR

    移动 (Mobile)

    On iOS the API works but must be triggered by a user action callback, like a response to a tap event, to provide a better experience to users and avoid unexpected sounds out of your phone.

    在iOS上,该API可以运行,但必须由用户操作回调(例如对轻击事件的响应)触发,以为用户提供更好的体验并避免手机发出意外声音。

    You can’t do like in the desktop where you can make your web pages speak something out of the blue.

    您无法在桌面上喜欢那样,在桌面上,您的网页可以突如其来。

    翻译自: https://flaviocopes.com/speech-synthesis-api/

    语音合成api

    展开全文
  • 语音合成工具TTS顾名思义就是一款号称第二代语音真人版文本转语音的语音合成软件,语音技术由科大讯飞提供,能帮助大家把文字转换成音频文件,在大家上听到的很多广告喊话,以及小区内的那些定做隐形纱窗,软包防盗...
  • 语音合成demo

    2018-07-03 12:01:03
    百度语音合成的net代码,实现可以大于500字以上的语音合成,1000字生成的语音文件大小500K
  • Android百度语音合成语音识别Demo Android百度语音合成语音识别Demo Android百度语音合成语音识别Demo Android百度语音合成语音识别Demo
  • 嗓音 语音合成器和语音识别器 Synthesizer.py:Python文件,包含语音合成器功能 Recognition.py:Python文件,包含语音识别功能
  • 语音识别和语音合成

    2018-03-19 11:07:29
    实现调用百度提供的语音识别api和语音合成api。语音文件必须符合百度提供的规格。
  • 图灵语音合成

    2017-03-27 12:01:07
    图灵语音合成
  • 1. 什么是语音合成? 2. PSOLA算法 3. 基于HMM的参数合成 4. 未来有哪些趋势? (本系列时常补充和纠错) 1.1 什么是语音合成?  语音识别是最近几年很火的一个词,也是一个应用到生活中各种方面的一个...
  • 语音合成工具

    2018-09-28 15:59:24
    语音合成工具 可选择中英文合成引擎与个性化合成引擎 可选择文字、音频格式、编码类型、语速和音量等等
  • 谷歌语音合成Ben Stockton 本·斯托克顿 While Google focuses on the Assistant, Android owners shouldn’t forget about the Text-to-Speech (TTS) accessibility feature. It’ll convert text from your ...
  • 语音合成和语音识别

    2016-03-28 10:17:20
    讯飞语音实现语音合成和语音识别功能,保证能用
  • 科大讯飞 语音合成 语音识别
  • Unity 百度 语音识别-语音合成

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,916
精华内容 2,766
关键字:

语音合成