讯飞、阿里云、腾讯云: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() {@Overridepublic 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

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS本地存储-Preferences(用户首选项)的使用

一&#xff0c;用户首选项简述 ohos.data.preferences (用户首选项) 用户首选项为应用提供Key-Value键值型的数据处理能力&#xff0c;支持应用持久化轻量级数据&#xff0c;并对其修改和查询。 数据存储形式为键值对&#xff0c;键的类型为字符串型&#xff0c;值的存储数据…

【机器学习】回归模型(线性回归+逻辑回归)原理详解

线性回归 Linear Regression 1 概述 线性回归类似高中的线性规划题目。线性回归要做的是就是找到一个数学公式能相对较完美地把所有自变量组合&#xff08;加减乘除&#xff09;起来&#xff0c;得到的结果和目标接近。 线性回归分为一元线性回归和多元线性回归。 2 一元线…

OceanBase 分区表详解

1、分区表的定义 在OceanBase数据库中&#xff0c;普通的表数据可以根据预设的规则被分割并存储到不同的数据区块中&#xff0c;同一区块的数据是在一个物理存储上。这样被分区块的表被称为分区表&#xff0c;而其中的每一个独立的数据区块则被称为一个分区。 如下图所示&…

【Android原生问题分析】夸克、抖音划动无响应问题【Android14】

1 问题描述 偶现问题&#xff0c;用户打开夸克、抖音后&#xff0c;在界面上划动无响应&#xff0c;但是没有ANR。回到Launcher后再次打开夸克/抖音&#xff0c;发现App的界面发生了变化&#xff0c;但是仍然是划不动的。 2 log初分析 复现问题附近的log为&#xff1a; 用户…

使用 K-means 算法进行豆瓣读书数据的文本聚类分析

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Django5 2024全栈开发指南(二):Django项目配置详解

目录 一、基本配置信息二、资源文件配置2.1 资源路由——STATIC_URL2.2 资源集合——STATICFILES_DIRS2.3 资源部署——STATIC_ROOT2.2.4 媒体资源——MEDIA 三、模板配置四、数据库配置4.1 mysqlclient连接MySQL4.2 pymysql连接MySQL4.3 多个数据库的连接方式4.4 使用配置文件…

数据结构-二叉搜索树(Java语言)

目录 1.概念 2.查找search 3.插入insert ​编辑4.删除remove&#xff08;难点&#xff09; 5.性能分析 1.概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树 : 1.若它的左子树不为空&#xff0c;则左子树上所有节点的值都…

学习笔记:黑马程序员JavaWeb开发教程(2024.11.18)

9.8 Mybatis-基础操作-查询&#xff08;条件查询&#xff09; 需要模糊查询&#xff0c;根据要求&#xff0c;我们需要在关键词前后都加上%&#xff0c;但是我们不能使用‘%#{内容}%’的形式&#xff0c;因为#{内容}最终会变成?&#xff0c;而?不能放在‘’之中&#xff…

数据分析-48-时间序列变点检测之在线实时数据的CPD

文章目录 1 时间序列结构1.1 变化点的定义1.2 结构变化的类型1.2.1 水平变化1.2.2 方差变化1.3 变点检测1.3.1 离线数据检测方法1.3.2 实时数据检测方法2 模拟数据2.1 模拟恒定方差数据2.2 模拟变化方差数据3 实时数据CPD3.1 SDAR学习算法3.2 Changefinder模块3.3 恒定方差CPD3…

学习大数据DAY61 宽表加工

目录 模型设计 加工宽表 任务调度&#xff1a; 大表 - 把很多数据整合起来 方便后续的明细查询和指标计算 模型设计 设计 建模 设计: excel 文档去编写 建模: 使用建模工具 PowerDesigner Navicat 在线画图工具... 把表结构给绘 制出来 共享\项目课工具\pd 加工宽表 数…

C#.Net筑基-模式匹配汇总

01、模式匹配概述 从C#7开始支持的 模式匹配 语法&#xff08;糖&#xff0c;挺甜&#xff09;&#xff0c;可非常灵活的对数据进行条件匹配和提取&#xff0c;经过多个版本的完善&#xff0c;已经非常强大了。 C# 支持多种模式&#xff0c;包括声明、类型、常量、关系、属性…

Python蓝桥杯刷题1

1.确定字符串是否包含唯一字符 题解&#xff1a;调用count函数计算每一个字符出现的次数&#xff0c;如果不等于1就输出no&#xff0c;并且结束循环&#xff0c;如果等于1就一直循环直到计算到最后一个字符&#xff0c;若最后一个字符也满足条件&#xff0c;则输出yes import…

Unity类银河战士恶魔城学习总结(P127 Stat ToolTip属性提示)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了把鼠标放到属性上面就会显示属性的作用 UI_StatToolTip.cs 这段代码实现了一个UI提示框&#xff08;ToolTip&#xff09;功能…

计算机编程中的事件驱动编程模型及其在构建响应式用户界面中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 计算机编程中的事件驱动编程模型及其在构建响应式用户界面中的应用 计算机编程中的事件驱动编程模型及其在构建响应式用户界面中…

ROS第九梯:ROS+VSCode+Python+C++自定义消息发布和订阅

首先,Python版本的ROS项目和C++版本的ROS项目前期创建功能包的步骤基本一致,具体可参考第二章。 费一步:新建msg文件 在功能包(data_input)目录下创建一个msg文件夹,并在msg文件夹下创建一个名为Box的msg文件,具体如下图所示: 该msg文件为一个用于描述3D Box的文件,…

selenium元素定位---元素点击交互异常解决方法

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、异常原因 在编写ui自动化时&#xff0c;执行报错元素无法点击&#xff1a;ElementClickInterceptedException 具体报错&#xff1a;selenium.common.exc…

Front Panel Window Bounds 与 Front Panel Window Bounds 的区别与应用

在LabVIEW中&#xff0c;Front Panel Window Bounds 和 Front Panel WindowBounds 是两个不同的属性节点&#xff0c;用于描述前面板窗口的位置和大小。它们的区别主要体现在它们表示的是窗口的不同部分&#xff0c;具体如下&#xff1a; 1 Window Bounds&#xff1a;调整整个…

H.265流媒体播放器EasyPlayer.js播放器出现加载视频等待画面时长过长的原因排查

在数字媒体时代&#xff0c;用户体验是衡量播放器性能的关键指标之一。EasyPlayer.js网页web无插件播放器作为一款流行的Web视频播放器&#xff0c;其加载速度和响应时间直接影响着用户的观看体验。 1、问题描述 加载视频等待画面时长过长。 2、可能的原因&#xff1a; 检查下…

计算机网络-MSTP基础实验一(单域多实例)

前面我们已经大致了解了MSTP的基本概念和工作原理&#xff0c;但是我自己也觉得MSTP的理论很复杂不结合实验是很难搞懂的&#xff0c;今天来做一个配套的小实验以及一些配置命令。 一、网络拓扑 单域多实例拓扑 基本需求&#xff1a;SW1为VLAN10的网关&#xff0c;SW2为VLAN20的…

大数据-227 离线数仓 - Flume 自定义拦截器(续接上节) 采集启动日志和事件日志

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…