讯飞、阿里云、腾讯云: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,一经查实,立即删除!

相关文章

蓝牙 AVRCP 协议详解及 Android 实现

文章目录 前言一、什么是蓝牙 AVRCP 协议&#xff1f;1.1 定义与功能1.2 AVRCP 的设备角色1.3 AVRCP 的版本发展 二、AVRCP 的工作原理2.1 配对与连接2.2 命令与响应2.3 元数据传输 三、AVRCP 在 Android 中的典型应用场景3.1 音乐控制3.2 车载媒体交互3.3 蓝牙遥控器 四、Andr…

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

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

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

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

纯前端实现语音文字互转

在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环。Web Speech API 的引入使得开发者能够在浏览器中轻松实现语音识别和语音合成功能,为用户带来更加直观和便捷的操作体验。本文将介绍 Web Speech API 的基本概念、功能特性以及如何利用它来构建创新的应用程序…

java语言特性(持续更新)

1.java里创建的数组默认初始化是0元素&#xff0c;未初始化的基本元素是不可用的,但是在c语言里&#xff0c;全是随机数值。 int a;for(int i0;i<1;i) { //即使局部初始化也不可以a9;}System.out.println(a); //错误示例 int[][] anew int[3][3]; for(int[] i:a)…

【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View

Android Java 自定义View 步骤 创建一个新的Java类&#xff0c;继承自View、ViewGroup或其他任何一个视图类。 如果需要&#xff0c;重写构造函数以支持不同的初始化方式。 重写onMeasure方法以提供正确的测量逻辑。 重写onDraw方法以实现绘制逻辑。 根据需要重写其他方法&…

RHCE——系统的延迟任务及定时任务

延迟任务的发起 在系统中我们可以使用 at 命令来发起延迟任务 at 命令执行是调用的是 atd 服务&#xff0c;即使系统最小化安装 atd 也会被安装到系统中 at 任务信息存放在系统中 /var/spool/at 目录中 at 任务的日志文件被存放到 /var/log/cron 中 at 任务执行时如果遇…

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 使用配置文件…

SpringBoot创建Cookie工具类实现Cookie的:写入、读取、删除

1、什么是 Cookie Cookie 是网站服务器发送到客户端&#xff08;通常是浏览器&#xff09;的一小段数据&#xff0c;用于在客户端存储用户信息&#xff0c;以便在用户再次访问网站时提供更好的体验。当用户在浏览器中访问某个网站时&#xff0c;服务器可能会在用户的计算机上创…

Nginx Spring boot指定域名跨域设置

1、Nginx配置跨域&#xff1a; server {listen 80;server_name your-backend-service.com;location / {proxy_pass http://localhost:8080; # Spring Boot应用的内部地址proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-F…

android wifi扫描的capability

混合型加密android11 8155与普通linux设备扫描到的安全字段差别 android应用拿到关于wifi安全的字段&#xff1a; systembar-WifiBroadcastReceiver---- scanResult SSID: Redmi_697B, BSSID: a4:39:b3:70:8c:20, capabilities: [WPA-PSK-TKIPCCMP][WPA2-PSK-TKIPCCMP][RSN-PSK…

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

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

传奇996_22——自动挂机

登录钩子函数中执行 callscript(actor, "../QuestDiary/主界面基础按钮/主界面基础按钮QM", "基础按钮QM")基础按钮QM执行了已下代码 #IF Equal <$CLIENTFLAG> 1 #ACT goto PC端面板加载#IF Equal <$CLIENTFLAG> 2 #ACT goto 移动端面板加载…

学习笔记:黑马程序员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;包括声明、类型、常量、关系、属性…