讯飞、阿里云、腾讯云:Android 语音合成服务对比选择

          在 移动端 接入语音合成方面,讯飞和腾讯云等都是优秀的选择,但各有其特点和优势。咱们的需求是需要支持普通话/英语/法语三种语言,以下是对各个平台的详细比较:

一、讯飞语音合成介绍

        与语音听写相反,语音合成是将一段文字转换为语音,可根据需要合成出不同音色、语速和语调的声音,让机器像人一样开口说话。支持37个语种,11种方言,2种民族语言;支持中英混合自然合成。

      注:

        语言为中英文的发音人可以支持中英文的混合朗读。
        英文发音人只能朗读英文,中文无法朗读。
        汉语发音人只能朗读中文,遇到英文会以单个字母的方式进行朗读。 

        太奢侈,领导说不是问题。那就作为备选方案

二、腾讯云语音合成介绍

        语音合成是将文本转化成拟人化语音的一种服务。语音合成提供多场景、多语言的音色选择,支持SSML标记语言,自定义音量、语速等参数,让发音更专业、更符合场景需求。语音合成广泛适用于智能客服、有声阅读、新闻播报、人机交互等业务场景,提升人机交互体验,提高语音类应用构建效率。

产品功能

  1. 声音效果:腾讯云语音合成目前支持男女共53种声音效果,可以满足小说、客服、导航、通知等多种应用场景。

  2. 合成方式:支持长文本语音合成、实时语音合成、基础语音合成三种合成方式。长文本语音合成与基础语音合成为非流式,整个文本合成语音后再下发,长文本语音合成可以一次性合成较长文本,适合阅读播报、新闻媒体等场景。流式语音合成(实时语音合成)为一边合成声音,一边下发声音,适合语音机器人等实时性要求较高的场景。

  3. 语种:语音合成支持纯中文、纯英文、中英文混合、粤语内容的合成

  4. 参数配置:语音合成支持音量、语速、采样率的设置。语速从0.6倍到1.5倍可选,适配各种客户场景。采样率可选8K和16K,同时支持App和电话线路。

        哎呀,腾讯爸爸这次不给力呀,不敢置信居然没有法语。为此我特意去了做了售前咨询,还是不支持(此消息为2024年10月17日 周四 15.24,后面如果有迭代别说我描述的有问题哈)。

        硬性需求满足不了只能放弃了,如果满足你们的要求你们可以试试哈。 

        腾讯云:语音合成 常见问题-文档中心-腾讯云

三、百度智能云

        基于业内领先的深度学习技术,提供高度拟人、流畅自然的语音合成服务,支持在线、离线多种调用方式,满足泛阅读、订单播报、智能硬件等场景的语音播报需求。

        支持中文、英文、中英文混读合成,提供基础音库和精品音库共28种音库供您选择,让您的产品拥有个性化的声音。但就是没有我想要的法语,好忧伤。

四、原生 TextToSpeech API

        Android平台提供的TextToSpeech API支持多种语言的语音合成,包括法语,可以用于开发语音合成应用

        TextToSpeech实例只有在完成初始化后才能用于合成文本。要实现TextToSpeech.OnInitListener以在初始化完成时接收通知。使用完TextToSpeech实例后,请调用shutdown()方法来释放TextToSpeech引擎使用的本地资源。针对Android 11的应用程序,如果需要使用文本转语音功能,则应在其清单文件的<queries>元素中声明TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE。

    <queries>
        <intent>
            <action android:name="android.intent.action.TTS_SERVICE" />
        </intent>
    </queries>
TextToSpeech textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
            @Override
            public void onInit(int status) {
                Log.d(TAG, "初始化:" + status);
                if (status==0){
                    //设置语言
                    int result = textToSpeech.setLanguage(Locale.CHINESE);
                    if (result == TextToSpeech.LANG_MISSING_DATA
                            || result == TextToSpeech.LANG_NOT_SUPPORTED) {
                        Log.d(TAG, "数据丢失或不支持:" + status);
                        return;
                    }
                    // 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
                    textToSpeech.setPitch(0.2f);
                    // 设定语速,默认1.0正常语速
                    textToSpeech.setSpeechRate(0.5f);
                }
                textToSpeech.speak("设置音调,值越大声音越尖",TextToSpeech.QUEUE_FLUSH,null);
            }
        });

        设置语言:textToSpeech.setLanguage(Locale.CHINESE);

4.1 测试设备:红米 K4

        设置成Locale.CHINESE(中文)和Locale.ENGLISH(英语)都支持,并且能播放。

        设置成Locale.GERMANY(德语)和Locale.FRANCE(法语)都不支持,报错-2:Denotes the language is not supported(表示该语言不受支持)。

4.2 测试设备:Galaxy A8s

         第一次测试的时候也是报错:-2,后来在三星文字转语音设置中=>下载及对应的语言和语音即可。

        添加完法语后,第二次测试成功播放法语文字

        原生 TextToSpeech API 这个方案是可行的,但是法语局限性太强,可能存在部分限制(系统语音引擎必须支持这个语言,用户必须下载到语言支持库,红米不支持下载语言库,三星支持),在编写代码的时候需要考虑很多。        

五、阿里云语音合成介绍

        前两篇语音识别和语音合成忘了我阿里爸爸了,公司产品多偏向腾讯云和讯飞,一时没想起来,罪过罪过。

        阿里云智能语音交互SDK提供RESTful API、移动端、服务端、微信小程序以及WebSocket等多种接入方式,可帮助您更方便、快捷、灵活地将语音识别或语音合成功能集成到您的服务当中。

        抱着一丝希望,咱点击语音合成=>检索 法语=>美滋滋。

        计费说明

        瞬间美了,感觉问题解决了。前期量比较小,如果直接投入2个W,那简直跟割肉一样。看到这个价格瞬间就稳了,关键时候还得看大阿里。 

        阿里云语音合成接口说明_智能语音交互(ISI)-阿里云帮助中心

五、建议选择

        如果仅支持普通话/英语,那讯飞、腾讯云、阿里云都可以。可以根据自己的项目决定。作者这里法语事刚需,前期投入小,因此选择较为合适的阿里云。后期确定选择阿里云,那么大概率会将腾讯云实时语音识别改为阿里云实时语音识别:一方面是便于维护,另一方面则是缩小软件包体大小。

相关推荐

讯飞与腾讯云:Android 实时语音识别服务对比选择-CSDN博客文章浏览阅读1.6k次,点赞70次,收藏68次。讯飞与腾讯云在Android语音识别领域均表现出色,各具特色。讯飞提供全面的语音识别功能,支持多种语言和离线识别,拥有高知名度和市场占有率,适合高度定制化需求。腾讯云则基于深度学习技术,提供高准确性的语音识别,支持多种语种和方言,且作为领先的云服务提供商,拥有丰富的语音识别和语音合成产品,适合快速接入并希望利用其他云服务的开发者。两者均提供详细的开发文档和API接口,但开发者在选择时应根据自身需求、成本因素和用户评价进行综合考虑,以确保选择最具性价比的方案。https://shuaici.blog.csdn.net/article/details/142970169讯飞与腾讯云:Android 语音识别服务对比选择-CSDN博客文章浏览阅读2k次,点赞88次,收藏85次。讯飞与腾讯云在Android语音识别领域均表现出色,各具特色。讯飞提供全面的语音识别功能,支持多种语言和离线识别,拥有高知名度和市场占有率,适合高度定制化需求。腾讯云则基于深度学习技术,提供高准确性的语音识别,支持多种语种和方言,且作为领先的云服务提供商,拥有丰富的语音识别和语音合成产品,适合快速接入并希望利用其他云服务的开发者。两者均提供详细的开发文档和API接口,但开发者在选择时应根据自身需求、成本因素和用户评价进行综合考虑,以确保选择最具性价比的方案。https://shuaici.blog.csdn.net/article/details/142849015

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/917383.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之责任链模式(Chain Of Responsibility)

一、责任链模式介绍 1、责任链模式介绍 职责链模式(chain of responsibility pattern) 定义: 避免将一个请求的发送者与接收者耦合在 一起&#xff0c;让多个对象都有机会处理请求。将接收请求的对象连接成一条链&#xff0c;并且沿着这条链 传递请求&#xff0c;直到有一个对…

游戏引擎学习第12天

视频参考:https://www.bilibili.com/video/BV1yom9YnEWY 这节没讲什么东西&#xff0c;主要是改了一下音频的代码 后面有介绍一些alloc 和malloc,VirtualAlloc 的东西 _alloca 函数&#xff08;或 alloca&#xff09;分配的是栈内存&#xff0c;它的特点是&#xff1a; 生命周…

更改liunx的磁盘名称

目录 1. 问题的提出 2. 机器环境说明 3. 解决方法 1. 问题的提出 今天在Linux上部署软件&#xff0c;发现要部署软件的硬盘名称带中文&#xff0c;当访问该磁盘时&#xff0c;中文则被转为长长的一串数字字符串&#xff0c;这很不方便&#xff0c;于是需要将带有中文的磁盘名…

基于Python 和 pyecharts 制作招聘数据可视化分析大屏

在本教程中&#xff0c;我们将展示如何使用 Python 和 pyecharts 库&#xff0c;通过对招聘数据的分析&#xff0c;制作一个交互式的招聘数据分析大屏。此大屏将通过不同类型的图表&#xff08;如柱状图、饼图、词云图等&#xff09;展示招聘行业、职位要求、薪资分布等信息。 …

论文PDF页面无法下载PDF

问题&#xff1a;通常在下载学术论文时&#xff0c;网页命名是PDF页面&#xff0c;但是无法下载PDF&#xff0c;下载的是html网页 解决&#xff1a; mac&#xff1a;按F12打开开发者界面 然后点击源代码/来源选项 然后打开下图所在位置&#xff0c;鼠标右键复制链接&#xff…

Ubuntu24 上安装搜狗输入法

link 首先在终端中依次输入以下代码 sudo apt update sudo apt install fcitx 找到语言支持 在终端中依次输入 sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/ sudo apt purge ibus 进入网页 搜狗输入法linux-首页​ shurufa.sogou.com/linux 找到刚才下…

从0开始机器学习--Day27--主成分分析方法

主成分分析方法(Principal components analysis) 在降维算法中&#xff0c;比较普遍的是使用主成分分析方法&#xff08;PCA&#xff09; PCA算法简单示例 如图&#xff0c;假设我们有一个二维的特征&#xff0c;想要将其降为一维&#xff0c;简单的方法是寻找一条直线&#…

深度学习中的mAP

在深度学习中&#xff0c;mAP是指平均精度均值(mean Average Precision)&#xff0c;它是深度学习中评价模型好坏的一种指标(metric)&#xff0c;特别是在目标检测中。 精确率和召回率的概念&#xff1a; (1).精确率(Precision)&#xff1a;预测阳性结果中实际正确的比例(TP / …

【实验11】卷积神经网络(2)-基于LeNet实现手写体数字识别

&#x1f449;&#x1f3fc;目录&#x1f448;&#x1f3fc; &#x1f352;1. 数据 1.1 准备数据 1.2 数据预处理 &#x1f352;2. 模型构建 2.1 模型测试 2.2 测试网络运算速度 2.3 输出模型参数量 2.4 输出模型计算量 &#x1f352;3. 模型训练 &#x1f352;4.模…

Springboot3.3.5 启动流程之 tomcat启动流程介绍

在文章 Springboot3.3.5 启动流程&#xff08;源码分析&#xff09; 中讲到 应用上下文&#xff08;applicationContext&#xff09;刷新(refresh)时使用模板方法 onRefresh 创建了 Web Server. 本文将详细介绍 ServletWebServer — Embedded tomcat 的启动流程。 首先&…

学习日志011--模块,迭代器与生成器,正则表达式

一、python模块 在之前学习c语言时&#xff0c;我们学了分文件编辑&#xff0c;那么在python中是否存在类似的编写方式&#xff1f;答案是肯定的。python中同样可以实现分文件编辑。甚至还有更多的好处&#xff1a; ‌提高代码的可维护性‌&#xff1a;当代码被分成多个文件时…

【提高篇】3.3 GPIO(三,工作模式详解 上)

目录 一,工作模式介绍 二,输入浮空 2.1 输入浮空简介 2.2 输入浮空特点 2.3 按键检测示例 2.4 高阻态 三,输入上拉 3.1 输入上拉简介 3.2 输入上拉的特点 3.3 按键检测示例 四,输入下拉 4.1 输入下拉简介 4.2 输入下拉特点 4.3 按键检测示例 一,工作模式介绍…

Excel单元格中自适应填充多图

实例需求&#xff1a;在Excel插入图片时&#xff0c;由于图片尺寸各不相同&#xff0c;如果希望多个图片填充指定单元格&#xff0c;依靠用户手工调整&#xff0c;不仅费时费力&#xff0c;而且很难实现完全填充。如下图中的产品图册&#xff0c;有三个图片&#xff0c;如下图所…

@Autowired 和 @Resource思考(注入redisTemplate时发现一些奇怪的现象)

1. 前置知识 Configuration public class RedisConfig {Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> template new RedisTemplate<>();template.setConnectionFactory(facto…

从零开始学习 sg200x 多核开发之 milkv-duo256 编译运行 sophpi

sophpi 是 算能官方针对 sg200x 系列的 SDK 仓库 https://github.com/sophgo/sophpi &#xff0c;支持 cv180x、cv81x、sg200x 系列的芯片。 SG2002 简介 SG2002 是面向边缘智能监控 IP 摄像机、智能猫眼门锁、可视门铃、居家智能等多项产品领域而推出的高性能、低功耗芯片&a…

防火墙----iptables

防火墙是位于内部网和外部网之间的屏障&#xff0c;他按照系统管理员预先定义好的规则来控制数据包的进出 一、iptables简介 防火墙会从以上至下的顺序来读取配置的策略规则&#xff0c;在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为&#xff08;即放行或阻止&…

【CSS】absolute定位的默认位置

position: absolute; 属性会使元素脱离正常的文档流&#xff0c;并相对于最近的非 static 定位祖先元素进行定位。如果没有这样的祖先元素&#xff0c;则相对于初始包含块&#xff08;通常是视口&#xff09;进行定位。 但是当top和left没有指定具体值时&#xff0c;元素的在上…

(一)机器学习、深度学习基本概念简介

文章目录 机器学习、深度学习基本概念简介一、什么是机器学习&#xff08;一&#xff09;举例&#xff08;二&#xff09;不同类型的函数&#xff08;三&#xff09;机器是怎么找这个函数的&#xff08;1&#xff09;Function with Unknown Parameters&#xff08;2&#xff09…

CentOS8 启动错误,enter emergency mode ,开机直接进入紧急救援模式,报错 Failed to mount /home 解决方法

先看现场问题截图&#xff1a; 1.根据提示 按 ctrld 输入 root 密码&#xff0c;进入系统。 2. 在紧急模式下运行&#xff1a;journalctl -xe &#xff0c;查看相关日志&#xff0c;找到关键点&#xff1a; Failed to mount /home 3.接着执行修复命令&#xff1a; xfs_repa…

mysql 大数据查询

基于 mysql 8.0 基础介绍 com.mysql.cj.protocol.ResultsetRows该接口表示的是应用层如何访问 db 返回回来的结果集 它有三个实现类 ResultsetRowsStatic 默认实现。连接 db 的 url 没有增加额外的参数、单纯就是 ip port schema 。 @Test public void generalQuery() t…