• 关于

    系统集成未响应

    的搜索结果

问题

求教一个系统设计的问题 400 请求报错

假设当前Web系统,需要集成大量第三方系统API(服务不稳定、不可靠),各位大神,如何设计这个系统比较好一点,求指点,万分感谢!...
kun坤 2020-05-29 17:23:31 0 浏览量 回答数 1

问题

Web测试方法

在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏...
技术小菜鸟 2019-12-01 21:41:32 7022 浏览量 回答数 1

问题

【精品问答】性能测试 PTS

性能测试 PTS(Performance Testing Service)是具备强大的分布式压测能力的 SaaS 压测平台,可模拟海量用户的真实业务场景,全方位验证业务站点的性能、容量...
montos 2020-04-08 13:18:48 2 浏览量 回答数 1

问题

erp系统中国制造企业理性的追求

    1.1 为什么 ERP的实施应用未能尽如人意   ERP在中国已经走过20多年风风雨雨的历程,曾被人视为灵丹妙药,也曾受到猛烈的抨击。如今,信息化成为中国制造企业的理性的追求,...
lovequeen0 2019-12-01 20:17:35 7430 浏览量 回答数 0

回答

概述 视频上传到视频点播(VOD),并且转码成功后即可进行播放,可以在视频点播控制台的视频管理页面对视频进行预览播放,也可集成VOD播放器SDK,或者将获取到的视频播放地址传递给自己的播放器(系统原生或开源或自研)来播放视频。本文由阿里云视频云高级开发工程师筱巶撰写,主要介绍视频点播播放的前置条件以及用户在使用过程中经常遇到的问题,便于用户快速的定位并解决播放相关的问题。正式使用点播播放服务前需确认以下流程的配置及处理正确无误: 服务开通 视频处理 安全配置 网络环境 2. 服务开通 2.1 点播服务开通 在 阿里云视频点播产品页 点击【立即开通】。 若无阿里云账号请先 注册;若未完成实名认证,请参考 实名认证 进行操作。 点播帐号未欠费。关于欠费请参考 欠费说明。 2.2 域名配置 在 视频点播控制台 添加备案过的域名,过程参考 初始化设置。 域名获取:域名注册、转入或购买请移步 万网,可在 万网域名管理页面选择需要使用的域名。 域名配置:获得域名后需要进行CNAME绑定才能完成接入,请参考 万网域名接入,同时也支持 新网和 DNSPod的域名接入。 域名检测:在Linux命令行、Mac的Terminal或Windows的CMD命令行输入:nslookup -type=cname[用户点播域名] Linux(如CentOS)下若提示“command not found”则需要先安装:yum install bind-utils -y 如果显示的canonical name值与点播控制台显示的CNAME值一致则表示配置成功。 结果参考:https://help.aliyun.com/knowledge_detail/40173.html https://help.aliyun.com/knowledge_detail/40144.html CDN的IP检测页面:https://cdn.console.aliyun.com/home#/Tool/ip 视频处理 视频文件上传至点播帐号下,经过视频处理流程后才可用于播放。根据业务需要,用户可以选择普通转码和上传后直接分发加速两种处理方式。用户上传的源文件必须是多媒体文件,需要满足特定文件格式和编码的要求才可以转码成功,最终用于播放。 3.1 文件有效 源文件和输出文件格式和编码限制参考文档 https://help.aliyun.com/knowledge_detail/42250.html 如果用户的视频选择的是上传后直接分发加速的处理方式,点播需要对该视频进行截图处理和CDN分发加速,那么为了保障源文件分发后是默认可播放的,则视频源文件仅限于上传mp4、flv格式的文件。 当用户上传的源文件不符合视频处理要求时,会导致文件转码失败,目前转码失败的原因大部分是由于上传的源文件视频流缺失或Meta存在问题导致的,因此用户在上传文件前需要确认源文件能否在本地正常播放。 3.2 转码配置 在 转码设置中选择转码模板组,点播服务开通时默认会添加不转码即分发和系统模板组,配置参考 转码配置。进入转码流程处理时会根据转码配置转出相应格式和清晰度的文件用于播放。当视频选择不转码即分发模板组时,源文件上传完成后即可用于播放。 3.3 视频状态 视频处理成功后且只有视频状态为Normal的视频才能用于播放。为了快速获取可播放的视频,用户可以通过状态轮询和事件通知两种方式确定当前视频是否可以播放。状态轮询的方式时间上不可预期,建议用户根据视频处理的方式设置不同的事件通知: 普通转码,只要有一个清晰度转码完成后即可播放,可以配置: 单个清晰度转码完成事件 全部转码完成事件 不转码即分发,视频上传完成后即可播放,可以配置: 视频上传完成事件 在点播控制台的 回调设置中配置相应的事件通知,配置参考 事件通知。 安全配置正确 阿里云视频点播提供了完善的内容安全保护机制,可以满足不同业务场景的安全需求,但如果安全配置不当,也会导致用户视频无法播放的问题。 4.1 审核配置 在 审核设置 中可以配置审核流程,只有审核通过的视频才可用于播放,配置参考 审核设置。 在"审核设置"开启了"先审后发"才会出现状态为Checking的视频 在"视频点播控制台-视频审核-审核详情"中点击"屏蔽"或者调用审核接口对视频进行屏蔽操作后才会出现状态为Blocked的视频 状态为Checking和Blocked状态的视频只能在点播控制台内或者来自审核IP白名单内的请求才可播放。 4.2 访问限制 在 防盗链中配置访问的 Referer黑、白名单(二者互斥)来限制视频资源被访问的情况。符合规则可顺利请求到视频数据,若不符合,请求会被拒绝,并返回403响应码。配置参考 防盗链设置。 4.3 URL鉴权 播放地址若固定不变会带来持久的非法扩散传播,且无法有效遏制。视频点播提供的URL鉴权可通过生成动态的加密URL(包含权限验证、过期时效等信息)来区分合法请求,以达到保护视频资源的目的。在 URL鉴权 可配置URL鉴权信息,配置参考 URL鉴权配置 开启URL鉴权后,点播的播放器SDK、获取播放地址的API/SDK都会自动生成带时效的播放URL。 开启URL鉴权后,所有媒体资源,包括视频、音频、封面、截图等地址都会进行鉴权。 当开启URL鉴权后,只有在有效期内的URL才可以播放,URL鉴权过期后请求会被拒绝,并返回403响应码。 4.4 视频加密 阿里云视频加密是对视频数据加密,即使下载到本地,视频本身也是被加密的,无法恶意二次分发。如果用户在配置转码模板时选择了HLS加密,相应的转码输出文件只能通过集成阿里云播放器SDK播放。目前播放器内核SDK,涵盖iOS/Android/Flash多平台,自动对加密内容进行解密播放;H5播放器不支持加密视频的播放。 更多信息参考 阿里云-视频加密 网络环境 播放服务强依赖于网络环境,如果没有稳定畅通的网络环境,会严重影响播放服务质量甚至无法播放视频。当网络出现异常时,可以参考以下两种网络排查方法: 5.1 域名劫持检查 访问 https://www.ipip.net/ip.html 默认显示的是本地IP 用户本地PING一下要访问的域名,看是否能解析出对应的IP 查看解析出的IP是否是阿里云CDN的节点,在 https://www.ipip.net/ip.html 中输入IP会显示相应地区 如果不是阿里云CDN节点的IP,那么说明被劫持的,建议向客户端访问所在网络运营商进行投诉。 5.2 源站检查 如果通过域名解析出的IP是阿里云CDN的节点IP,且能PING通域名,那么本地域名绑定host测试,看下是CDN问题还是源站问题。具体操作步骤请参考 CDN访问异常。 常见问题 上传和播放服务均无法使用时,请确认点播帐号是否欠费 控制台内可播放,调用API/SDK获取播放地址时返回错误码InvalidDomain.NotFound,请确认域名配置 调用API/SDK获取播放地址时返回错误Forbidden.IllegalStatus,请确认视频状态 调用API/SDK获取播放地址时返回错误码InvalidVideo.NotFound,请确认视频是否被删除 当请求CDN加速地址返回403时,请确认安全配置 当某个地区用户无法播放视频时,请检查用户网络环境 使用点播Web端播放器诊断页面的输出信息定位播放问题。目前支持原生H5、阿里云H5/Flash播放。诊断页面地址: http://player.alicdn.com/detection.html?source=http://common.qupai.me/player/qupai.mp4 原文链接
游客2q7uranxketok 2021-02-07 20:08:30 0 浏览量 回答数 0

回答

概述 视频上传到视频点播(VOD),并且转码成功后即可进行播放,可以在视频点播控制台的视频管理页面对视频进行预览播放,也可集成VOD播放器SDK,或者将获取到的视频播放地址传递给自己的播放器(系统原生或开源或自研)来播放视频。本文由阿里云视频云高级开发工程师筱巶撰写,主要介绍视频点播播放的前置条件以及用户在使用过程中经常遇到的问题,便于用户快速的定位并解决播放相关的问题。正式使用点播播放服务前需确认以下流程的配置及处理正确无误: 服务开通 视频处理 安全配置 网络环境 2. 服务开通 2.1 点播服务开通 在 阿里云视频点播产品页 点击【立即开通】。 若无阿里云账号请先 注册;若未完成实名认证,请参考 实名认证 进行操作。 点播帐号未欠费。关于欠费请参考 欠费说明。 2.2 域名配置 在 视频点播控制台 添加备案过的域名,过程参考 初始化设置。 域名获取:域名注册、转入或购买请移步 万网,可在 万网域名管理页面选择需要使用的域名。 域名配置:获得域名后需要进行CNAME绑定才能完成接入,请参考 万网域名接入,同时也支持 新网和 DNSPod的域名接入。 域名检测:在Linux命令行、Mac的Terminal或Windows的CMD命令行输入:nslookup -type=cname[用户点播域名] Linux(如CentOS)下若提示“command not found”则需要先安装:yum install bind-utils -y 如果显示的canonical name值与点播控制台显示的CNAME值一致则表示配置成功。 结果参考:https://help.aliyun.com/knowledge_detail/40173.html https://help.aliyun.com/knowledge_detail/40144.html CDN的IP检测页面:https://cdn.console.aliyun.com/home#/Tool/ip 视频处理 视频文件上传至点播帐号下,经过视频处理流程后才可用于播放。根据业务需要,用户可以选择普通转码和上传后直接分发加速两种处理方式。用户上传的源文件必须是多媒体文件,需要满足特定文件格式和编码的要求才可以转码成功,最终用于播放。 3.1 文件有效 源文件和输出文件格式和编码限制参考文档 https://help.aliyun.com/knowledge_detail/42250.html 如果用户的视频选择的是上传后直接分发加速的处理方式,点播需要对该视频进行截图处理和CDN分发加速,那么为了保障源文件分发后是默认可播放的,则视频源文件仅限于上传mp4、flv格式的文件。 当用户上传的源文件不符合视频处理要求时,会导致文件转码失败,目前转码失败的原因大部分是由于上传的源文件视频流缺失或Meta存在问题导致的,因此用户在上传文件前需要确认源文件能否在本地正常播放。 3.2 转码配置 在 转码设置中选择转码模板组,点播服务开通时默认会添加不转码即分发和系统模板组,配置参考 转码配置。进入转码流程处理时会根据转码配置转出相应格式和清晰度的文件用于播放。当视频选择不转码即分发模板组时,源文件上传完成后即可用于播放。 3.3 视频状态 视频处理成功后且只有视频状态为Normal的视频才能用于播放。为了快速获取可播放的视频,用户可以通过状态轮询和事件通知两种方式确定当前视频是否可以播放。状态轮询的方式时间上不可预期,建议用户根据视频处理的方式设置不同的事件通知: 普通转码,只要有一个清晰度转码完成后即可播放,可以配置: 单个清晰度转码完成事件 全部转码完成事件 不转码即分发,视频上传完成后即可播放,可以配置: 视频上传完成事件 在点播控制台的 回调设置中配置相应的事件通知,配置参考 事件通知。 安全配置正确 阿里云视频点播提供了完善的内容安全保护机制,可以满足不同业务场景的安全需求,但如果安全配置不当,也会导致用户视频无法播放的问题。 4.1 审核配置 在 审核设置 中可以配置审核流程,只有审核通过的视频才可用于播放,配置参考 审核设置。 在"审核设置"开启了"先审后发"才会出现状态为Checking的视频 在"视频点播控制台-视频审核-审核详情"中点击"屏蔽"或者调用审核接口对视频进行屏蔽操作后才会出现状态为Blocked的视频 状态为Checking和Blocked状态的视频只能在点播控制台内或者来自审核IP白名单内的请求才可播放。 4.2 访问限制 在 防盗链中配置访问的 Referer黑、白名单(二者互斥)来限制视频资源被访问的情况。符合规则可顺利请求到视频数据,若不符合,请求会被拒绝,并返回403响应码。配置参考 防盗链设置。 4.3 URL鉴权 播放地址若固定不变会带来持久的非法扩散传播,且无法有效遏制。视频点播提供的URL鉴权可通过生成动态的加密URL(包含权限验证、过期时效等信息)来区分合法请求,以达到保护视频资源的目的。在 URL鉴权 可配置URL鉴权信息,配置参考 URL鉴权配置 开启URL鉴权后,点播的播放器SDK、获取播放地址的API/SDK都会自动生成带时效的播放URL。 开启URL鉴权后,所有媒体资源,包括视频、音频、封面、截图等地址都会进行鉴权。 当开启URL鉴权后,只有在有效期内的URL才可以播放,URL鉴权过期后请求会被拒绝,并返回403响应码。 4.4 视频加密 阿里云视频加密是对视频数据加密,即使下载到本地,视频本身也是被加密的,无法恶意二次分发。如果用户在配置转码模板时选择了HLS加密,相应的转码输出文件只能通过集成阿里云播放器SDK播放。目前播放器内核SDK,涵盖iOS/Android/Flash多平台,自动对加密内容进行解密播放;H5播放器不支持加密视频的播放。 更多信息参考 阿里云-视频加密 网络环境 播放服务强依赖于网络环境,如果没有稳定畅通的网络环境,会严重影响播放服务质量甚至无法播放视频。当网络出现异常时,可以参考以下两种网络排查方法: 5.1 域名劫持检查 访问 https://www.ipip.net/ip.html 默认显示的是本地IP 用户本地PING一下要访问的域名,看是否能解析出对应的IP 查看解析出的IP是否是阿里云CDN的节点,在 https://www.ipip.net/ip.html 中输入IP会显示相应地区 如果不是阿里云CDN节点的IP,那么说明被劫持的,建议向客户端访问所在网络运营商进行投诉。 5.2 源站检查 如果通过域名解析出的IP是阿里云CDN的节点IP,且能PING通域名,那么本地域名绑定host测试,看下是CDN问题还是源站问题。具体操作步骤请参考 CDN访问异常。 常见问题 上传和播放服务均无法使用时,请确认点播帐号是否欠费 控制台内可播放,调用API/SDK获取播放地址时返回错误码InvalidDomain.NotFound,请确认域名配置 调用API/SDK获取播放地址时返回错误Forbidden.IllegalStatus,请确认视频状态 调用API/SDK获取播放地址时返回错误码InvalidVideo.NotFound,请确认视频是否被删除 当请求CDN加速地址返回403时,请确认安全配置 当某个地区用户无法播放视频时,请检查用户网络环境 使用点播Web端播放器诊断页面的输出信息定位播放问题。目前支持原生H5、阿里云H5/Flash播放。诊断页面地址: http://player.alicdn.com/detection.html?source=http://common.qupai.me/player/qupai.mp4 原文链接
游客2q7uranxketok 2021-02-07 20:08:31 0 浏览量 回答数 0

问题

使用HTTPDNS时该如何API访问

1. API访问说明 1.1 访问方式 HTTPDNS通过HTTP接口对外提供域名解析服务,服务接入直接使用IP地址,服务IP有多个,这里以 203.107.1.33这个服务IP为例&#...
猫饭先生 2019-12-01 21:51:27 1353 浏览量 回答数 0

回答

 TTS</B>是Text To Speech的缩写,即“从文本到语音”。它是同时运用语言学和心理学的杰出之作,在内置芯片的支持之下,通过神经网络的设计,把文字智能地转化为自然语音流。TTS技术对文本文件进行实时转换,转换时间之短可以秒计算。在其特有智能语音控制器作用下,文本输出的语音音律流畅,使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感。TTS语音合成技术即将覆盖国标一、二级汉字,具有英文接口,自动识别中、英文,支持中英文混读。所有声音采用真人普通话为标准发音,实现了120-150个汉字/秒的快速语音合成,朗读速度达3-4个汉字/秒,使用户可以听到清晰悦耳的音质和连贯流畅的语调。现在有少部分MP3随身听具有了TTS功能。   TTS是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者网页,转换成自然语音输出。TTS可以帮助有视觉障碍的人阅读计算机上的信息,或者只是简单的用来增加文本文档的可读性。现在的TTL应用包括语音驱动的邮件以及声音敏感系统。TTS经常与声音识别程序一起使用。现在有很多TTS的产品,包括Read Please 2000, Proverbe Speech Unit,以及Next Up Technology的TextAloud。朗讯、 Elan、以及 AT&T都有自己的语音合成产品。   除了TTS软件之外,很多商家还提供硬件产品,其中包括以色列WizCom Technologies公司的 Quick Link Pen,它是一个笔状的可以扫描也可以阅读文字的设备;还有Ostrich Software公司的Road Runner,一个手持的可以阅读ASCII文本的设备;另外还有美国DEC公司的DecTalk TTS,它是可以替代声卡的外部硬件设备,它包含一个内部软件设备,可以与个人电脑自己的声卡协同工作。 TTS文语转换用途很广,包括电子邮件的阅读、IVR系统的语音提示等等,目前IVR系统已广泛应用于各个行业(如电信、交通运输等)。   TTS所用的关键技术就是语音合成(SpeechSynthesis)。早期的TTS一般采用专用的芯片实现,如德州仪器公司的TMS50C10/TMS50C57、飞利浦的PH84H36等,但主要用在家用电器或儿童玩具中。   而基于微机应用的TTS一般用纯软件实现,主要包括以下几部分:   ●文本分析-对输入文本进行语言学分析,逐句进行词汇的、语法的和语义的分析,以确定句子的低层结构和每个字的音素的组成,包括文本的断句、字词切分、多音字的处理、数字的处理、缩略语的处理等。   ●语音合成-把处理好的文本所对应的单字或短语从语音合成库中提取,把语言学描述转化成言语波形。   ●韵律处理-合成音质(Qualityof Synthetic Speech)是指语音合成系统所输出的语音的质量,一般从清晰度(或可懂度)、自然度和连贯性等方面进行主观评价。清晰度是正确听辨有意义词语的百分率;自然度用来评价合成语音音质是否接近人说话的声音,合成词语的语调是否自然; 连贯性用来评价合成语句是否流畅。   要合成出高质量的语音,所采用的算法是极为复杂的,因此对机器的要求也非常高。算法的复杂度决定了目前微机并发进行多通道TTS的系统容量。 在一般的CTI应用系统中,都会有IVR(交互式语音应答系统)。IVR系统是呼叫中心的重要组成部分,通过IVR系统,用户可以利用音频按健电话输入信息,从系统中获得预先录制的数字或合成语音信息。具有TTS功能的IVR可以加快服务速度,节约服务成本,使IVR为呼叫者提供7*24小时的服务。   目前常见的IVR系统大都是通用的工控机平台上插入语音板卡组成,并支持中文语音合成TTS等技术。   一个典型的包含TTS服务的电话服务流程可分为:   用户电话拨入,系统IVR响应,获得用户按键等信息。   IVR根据用户的按键信息,向数据库服务器申请相关数据。   数据库服务器返回文本数据给IVR。   IVR通过其TCP通讯接口,将需要合成的文本信息发送给TTS服务器。   TTS服务器将用户文本合成的语音数据分段通过TCP通讯接口发送给IVR服务器。   IVR服务器把分段语音数据组装成为独立的语音文件。   IVR播放相应的语音文件给电话用户。   一般的公网接入(IVR)大都采用工控机+语音板卡,而合成的语音数据则通过局域网传给IVR。这种结构只适用于简单的应用场合。 包括中文语音处理和语音合成,利用中文韵律等相关知识对中文语句进行分词、词性判断、注音、数字符号转换,语音合成通过查询中文语音库得到语音。目前中文TTS系统,比较著名的有:IBM,Microsoft,Fujitsu,科大讯飞,捷通华声等研究的系统。目前比较关键的就是中文韵律处理、符号数字、多音字、构词方面有较多的问题,需要不断研究,使得中文语音合成的自然化程度较高。  CTI技术使电信和计算机相互融合,克服了传统电信和计算机服务相对单一的缺点,将两者完美结合了起来。其应用领域非常广泛,任何需要语音、数据通信,特别是那些希望把计算机网与通信网结合起来完成语音数据信息交换的系统都会用到CTI技术。   TTS即语音合成技术(Text To Speech),它涉及声学、语言学、数学信号处理技术、多媒体技术等多个学科技术,是中文信息处理领域的一项前沿技术,实现把计算机中任意出现的文字转换成自然流畅的语音输出。   TTS在CTI系统中可以应用在IVR(交互式语音应答)服务器上,以提供语音交互式平台,为用户电话来访提供语音提示,引导用户选择服务内容和输入电话事务所需的数据,并接受用户在电话拨号键盘上输入的信息,实现对计算机数据库等信息资料的交互式访问。   在IVR中应用TTS可以自动将文本信息转换为语音文件,或者实时地将文本信息合成语音并通过电话发布。实现文本与语音自动双向转换,以达到人与系统的自动交互,随时随地为客户服务。维护人员不必再人工录音,只须将电子文档引入系统中,系统可以自动将电子文档转换为语音信息播放给客户。数据库中存放的大量数据,无需事先进行录音,能够随时根据查询条件查出并合成语音进行播报,从而大大减少了座席人员的工作负担。   那么应如何将TTS功能附加到CTI应用中呢?某些比较先进的交换平台,已经在交换机的内部实现了TTS的功能,并作为标准接口的一部分对外提供,业务开发商只需要简单的调用他们即可以在业务中使用该功能。   对于未实现TTS功能的PBX,就需要业务开发商自己去选择合适的平台,在此基础上进行二次开发,即调用所选TTS平台提供的标准接口,实现语音合成功能。   目前CTI已经成为全球发展最为迅猛的产业之一,每年以50%的速度增长,CTI如同计算机产业一样是一个金字塔形的产业链,从上到下会以至少20倍的幅度增值。TTS作为一种诱人的新技术,如果能很好的嵌入到增值业务的应用中去,必将形成一个更好的应用前景。   杭州音通软件有限公司是由国家教育部和浙江省人民政府联办并依托浙江大学而成立的高新技术公司,音通公司主要致力于计算机语音技术的研发并逐步开拓语音识别、语音流媒体传输等其它语音领域的研究。其核心技术(Intone_TTS)是具有自主知识产权的中文语音合成技术,在由浙江省科技厅组织的鉴定中被专家一致鉴定为国内领先地位,并已申请多项国家专利。   Intone_TTS是一套把文本信息转换为语音信息的开发工具包,为系统集成商、软件开发商提供了完备的接口函数和编程示例,使用户能够灵活的进行调用,并集成到其它应用系统中。接口需要语音合成运行库的支持,适合多种开发环境。开发者可以根据具体的应用场合进行选择。   它能够对所有的汉字、英文、阿拉伯数字进行语音合成;   支持繁体字及多音字的编辑;   合成效果:自然、平滑;   规范的函数调用接口,同时支持微软SAPI的调用;支持同步调用和异步调用方式;   支持PCM Wave,uLaw/aLaw Wave,ADPCM,Dialogic Vox等多种语音格式;   支持GB2312码(简体中文)、BIG5码(繁体)、UNICODE码;   支持多路通道同时合成;   支持Dialogic、东进、三汇等主流语音板卡; TTS就是Text To Speech,文本转语音,文本朗读,差不多是一个意思。在语音系统开发中经常要用到。   目前市场上的TTS很多,实现方式也各式各样,有的很昂贵,如科大讯飞,据说当初得到863计划的资助,有很高的技术;有的相对便宜,如捷通华声, InfoTalk;也有免费的,如微软的TTS产品。   相对于ASR(Automatic Speech Recognition,自动语音识别)来说,实现一个TTS产品所需要的技术难度不算大,在我看来也就是个力气活。   要是让我们来做一个能够把汉语句子朗读出来的TTS,我们会怎么做呢?   有一种最简单的TTS,就是把每个字都念出来,你会问,岂不要录制6千多个汉字的语音?幸运的是,汉语的音节很少,很多同音字。我们最多只是需要录制: 声母数×韵母数×4,(其实不是每个读音都有4声),这样算来,最多只需要录制几百个语音就可以了。   在合成的时候需要一张汉字对应拼音的对照表,汉字拼音输入法也依赖这张表,可以在网上找到,不过通常没有4声音调,大不了自己加上,呵呵,要不怎么说是力气活呢。   这样做出来的TTS效果也还可以,特别是朗读一些没有特别含义的如姓名,家庭住址,股票代码等汉语句子,听起来足够清晰。这要归功于我们伟大的母语通常都是单音节,从古代的时候开始,每个汉字就有一个词,表达一个意思。而且汉字不同于英语,英语里面很多连读,音调节奏变化很大,汉字就简单多了。   当然,你仍然要处理一些细节,比如多音字,把“银行”读成“yin xing”就不对了;再比如,标点符号的处理,数字、字母的处理,这些问题对于写过很多程序的你,当然不难了。   国内的一些语音板卡带的TTS,不管是卖钱的还是免费的,大体都是这样做出来的,也就是这样的效果。   如果要把TTS的效果弄好一点,再来点力气活,把基本的词录制成语音,如常见的两字词,四字成语等,再做个词库和语音库的对照表,每次需要合成时到词库里面找。这样以词为单位,比以字为单位,效果自然是好多了。当然,这里面还是有个技术,就是分词的技术,要把复杂的句子断成合理的词序列,也有点技术。这也要怪新文化那些先驱们,当初倡导白话文,引进西文的横排格式、标点符号的时候,没有引进西文中的空格分词。不过即使分词算法那么不高效,不那么准确,也问题不大,如前面所说,汉字是单音节词,把声音合起来,大体上不会有错。   当然,科大讯飞的力气活又干的多了些,据说已经进化到以常用句子为单位来录音了,大家可以想像,这要耗费更多的力气,换来更好的效果。   至于增加一些衔接处的“词料”,弄一些修饰性的音调,我认为是无关紧要的,对整体的效果改进不是太大。   市面上商品化TTS一般还支持粤语,请个粤语播音员录音,把上面的力气活重做一遍就是了。   再说句题外话,很多人觉得录音最好找电台、电视台的播音员,其实找个你周围的女同事来录制,只要吐字清晰就可以了。在某种情况下,寻常声音比字正腔圆的新闻联播来得可爱。   再来说说文本的标识,对于复杂文本,某些内容程序没有办法处理,需要标识出来。比如,单纯的数字“128”,是应该念成“一百二十八”还是“一二八”?解决办法通常是加入XML标注,如微软的TTS:"<context ID = "number_cardinal">128</context>"念成“一百二十八”,"<context ID = "number_digit">128</context>"将念成“一二八”。TTS引擎可以去解释这些标注。遗憾的是,语音XML标注并没有形成大家都完全认可的标准,基本上是各自一套。   再说说TTS应用编程,微软的TTS编程接口叫SAPI,是COM接口,开发起来还是有点麻烦,还好MSDN的网站上资料很全面。微软的TTS虽然免费,但其中文角色目前是个男声,声音略嫌混浊,感觉不爽。   国内一般的厂家提供API调用接口,相对比较简单,可以方便地嵌入应用程序中去。   商品化的TTS还有个并发许可限制,就是限制同时合成的并发线程数,我觉得这个限制用处不大。无论哪种TTS,都可以将文本文件转换成语音文件,供语音卡播放。大部分应用句子比较短小,一般不会超过100个汉字,合成的时间是非常短的,弄个线程专门负责合成,其它应用向该线程请求就是了,万一句子很长,把它分解成多个短句子就是了,播放的速度总是比合成的速度慢。   也很多应用是脱机合成,没有实时性要求,就更不必买多个许可了。   更多情况下,我们甚至没有必要购买TTS,比如语音开发中常见的费用催缴,拨通后播放:“尊敬的客户,您本月的费用是:212元”,前面部分对所有客户都一样,录一个语音文件就是了,而数字的合成是很简单的,你只要录制好10个数字语音,再加上十,百,千,万,再加上金钱的单位“元”。   TTS(Training+Tool+Scheme)超越计划   针对目前成长型企业遇到的人力资源问题,立体化解决人力资源瓶颈、通过企业与专家共建、实现人才强企的人力资源方向的重大智业项目。为企业培养人力资源高级管理人才,提供先进人力资源管理工具,并协助企业建立现代人力资源战略规划。通过“培训(Training)+工具(Tool)+方案(Scheme)”的办法,为企业系统解决人力资源难点问题,进而搭建科学、完善的人力资源管理体系。   TTS TIANJIN TERMINAL SURCHARGE   天津港口附加费。09年从日韩经过的船所收的一个费用 答案来源网络,供参考,希望对您有帮助
问问小秘 2019-12-02 03:05:12 0 浏览量 回答数 0

回答

新地址 24题 Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了。Starters包含了许多项目中需要用到的依赖,它们能快速持续的运行,都是一系列得到支持的管理传递性依赖。 23题 Spring Boot 的核心配置文件是application(.yml 或者 .properties) 和 bootstrap(.yml 或者 .properties) 配置文件。boostrap 由父 ApplicationContext 加载,比 applicaton 优先加载,boostrap 里面的属性不能被覆盖。application 配置文件主要用于 Spring Boot 项目的自动化配置。bootstrap 配置文件的应用场景:使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;一些固定的不能被覆盖的属性;一些加密/解密的场景。 22题 优点:快速构建项目;对主流开发框架的无配置集成;starters自动依赖与版本控制;大量的自动配置,简化开发,也可修改默认值;无需配置XML,无代码生成,开箱即用;项目可独立运行,无须外部依赖Servlet容器;提供运行时的应用监控;与云计算的天然集成。缺点:集成度较高,使用过程中不太容易了解底层。 21题 Spring Boot的初衷就是为了简化spring的配置,使得开发中集成新功能时更快,简化或减少相关的配置文件。Spring Boot其实是一个整合很多可插拔的组件(框架),内嵌了使用工具(比如内嵌了Tomcat、Jetty等),方便开发人员快速搭建和开发的一个框架。 20题 当程序创建对象、数组等引用类型实体时,系统会在堆内存中为之分配一块内存区,对象就保存在内存区中,不需要显式的去释放一个对象的内存,而是由虚拟机自行执行。在JVM 中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,标记那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收。 19题 HashMap线程不安全,HashTable线程安全。HashMap允许有一个key为null,多个value为null;而HashTable不允许key和vale为null。继承类不一样,HashMap继承的是AbstractMap,HashTable继承的是Dictionary。初始容量不一样。使用的hashcode不一样。内部遍历方式的实现不一样。 18题 作用:内容可见性和禁止指令重排。内存可见性:某线程对 volatile 变量的修改,对其他线程都是可见的,即获取 volatile 变量的值都是最新的;禁止指令重排:重排序在单线程下一定能保证结果的正确性,但是在多线程环境下,可能发生重排序影响结果,若用volatile修饰共享变量,在编译时,会在指令序列中插入内存屏障来禁止特定类型的处理器重排序。使用:当一个线程需要立刻读取到另外一个线程修改的变量值的时候,我们就可以使用volatile。区别:volatile是变量修饰符,而synchronized则作用于一段代码或者方法;volatile只是在线程内存和main memory(主内存)间同步某个变量的值,而synchronized通过锁定和解锁某个监视器同步所有变量的值。显然synchronized要比volatile消耗更多资源;synchronized 关键字可以保证变量原子性和可见性,volatile 不能保证原子性。 17题 非公平主要表现在获取锁的行为上,并非是按照申请锁的时间前后给等待线程分配锁的 ,每当锁被释放后 ,任何一个线程都有机会竞争到锁,这样做的目的是为了提高执行性能 ,缺点是可能会产生线程饥饿现象 。 16题 如果线程遇到了 IO 阻塞,无能为力,因为IO是操作系统实现的,Java代码并没有办法直接接触到操作系统。如果线程因为调用 wait()、sleep()、或者 join()方法而导致的阻塞,可以中断线程,并且通过抛出 InterruptedException 来唤醒它。 15题 原子操作就是无法被别的线程打断的操作。要么不执行,要么就执行成功。在Java中可以通过锁和循环CAS的方式来实现原子操作。从JDK 1.5开始提供了java.util.concurrent.atomic包,这个包中的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式。 14题 wait()是Object类的方法,所以每一个对象能使用wait()方法。sleep()是Thread类中的静态方法。sleep不会释放锁,但会让出cpu,sleep会在指定的休眠时间后自动唤醒。wait则会释放锁,让出系统资源,并且加入wait set中,wait不会自动唤醒,而需要notify()或者notifyAll()唤醒。sleep和wait都可以被中断,使用sleep需要捕获异常。wait与notify、notifyAll只能在同步代码块中使用,而sleep可以在任何地方使用。 13题 Synchronized 是由 JVM 实现的一种实现互斥同步的一种方式,查看编译后的字节码,会发现被 Synchronized 修饰过的程序块,在编译前后被编译器生成了monitorenter 和 monitorexit 两个字节码指令。在虚拟机执行到 monitorenter 指令时,首先要尝试获取对象的锁:如果这个对象没有锁定,或者当前线程已经拥有了这个对象的锁,把锁的计数器+1;当执行 monitorexit 指令时将锁计数器-1;当计数器为0时,锁就被释放了。如果获取对象失败了,那当前线程就要阻塞等待,直到对象锁被另外一个线程释放为止。Java 中 Synchronize 通过在对象头设置标记,达到了获取锁和释放锁的目的。 12题 Mybatis 通过动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这 4 种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler 的 invoke()方法,只会拦截那些你指定需要拦截的方法。 实现方法:1.编写Intercepror接口的实现类;2.设置插件的签名,告诉mybatis拦截哪个对象的哪个方法;3.最后将插件注册到全局配置文件中。 11题 Mybatis可以映射枚举类,不单可以映射枚举类,Mybatis可以映射任何对象到表的一列上。映射方式为自定义一个TypeHandler,实现TypeHandler的setParameter()和getResult()接口方法。TypeHandler 有两个作用,一是完成从 javaType至jdbcType 的转换,二是完成jdbcType至javaType的转换,体现为 setParameter()和getResult()两个方法,分别代表设置sql问号占位符参数和获取列查询结果。 10题 Mybatis使用RowBounds对象进行分页,也可以直接编写sql实现分页,也可以使用Mybatis的分页插件。分页插件的原理:使用Mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql,根据dialect方言,添加对应的物理分页语句和物理分页参数。举例:select * from student,拦截 sql 后重写为:select t.* from(select * from student)t limit 0,10。 9题 resultType和resultMap都是表示数据库表与pojo之间的映射规则的。类的名字和数据库相同时,可以直接设置resultType 参数为Pojo类。若不同或者有关联查询,需要设置resultMap将结果名字和Pojo名字进行转换。在项目中我们定义的resultMap多了property和column属性,实际也就是分别配置Pojo类的属性和对应的表字段之间的映射关系,多了这个映射关系以后,方便维护。 8题 之所以说Mybatis半自动化,是因为SQL语句需要用户自定义,SQL的解析、执行等工作由Mybatis执行。区别:Hibernate属于全自动 ORM 映射工具,使用Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。而 Mybatis 在查询关联对象或关联集合对象时,需要手动编写 sql 来完成,所以它是半自动ORM映射工具。 7题 MyBatis 的缓存分为一级缓存和二级缓存。一级缓存是SqlSession级别的缓存,默认就有,在操作数据库时需要构造 sqlSession对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据,不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。二级缓存是mapper级别的缓存,默认是不打开的,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession去操作数据库得到数据会存在二级缓存区域,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。 6题 RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。用于方法上是为了细化映射,即根据特定的HTTP请求方法(GET、POST 方法等)、HTTP请求中是否携带特定参数等条件,将请求映射到匹配的方法上。 5题 1、前置通知(before advice):在目标方法调用之前执行; 2、后置通知(after returning advice):在目标方法调用之后执行,一旦目标方法产生异常不会执行; 3、最终通知(after(finally) advice):在目标调用方法之后执行,无论目标方法是否产生异常,都会执行; 4、异常通知(after throwing advice):在目标方法产生异常时执行; 5、环绕通知(around advice):在目标方法执行之前和执行之后都会执行,可以写一些非核心的业务逻辑,一般用来替代前置通知和后置通知。 4题 1、通过构造器或工厂方法创建Bean实例;2、为Bean的属性设置值和对其他Bean的引用;3、将Bean实例传递给Bean后置处理器的postProcessBeforeInitialization方法;4、调用Bean的初始方法(init-method);5、将bean实例传递给bean后置处理器的postProcessAfterInitialization方法;6、bean可以使用了;7、当容器关闭时,调用Bean的销毁方法(destroy-method) 3题 在TransactionDefinition接口中定义了五个表示隔离级别的常量: ISOLATION_DEFAULT:使用后端数据库默认的隔离级别,Mysql默认采用的REPEATABLE_READ隔离级别;Oracle默认采用的READ_COMMITTED隔离级别。 ISOLATION_READ_UNCOMMITTED:最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。 ISOLATION_READ_COMMITTED:允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生 ISOLATION_REPEATABLE_READ:对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。 ISOLATION_SERIALIZABLE:最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。但是这将严重影响程序的性能。通常情况下也不会用到该级别。 2 题 自动装配提供五种不同的模式供Spring容器用来自动装配beans之间的依赖注入: 1.默认的方式是不进行自动装配,通过手工设置ref 属性来进行装配bean。 2.byName:通过参数名自动装配,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。 3.byType:按照参数的数据类型进行自动装配,之后容器试图匹配和装配和该bean的属性类型一样的bean。如果存在多个相同类型的bean对象,会出错。 4.constructor:使用构造方法完成对象注入,其实也是根据构造方法的参数类型进行对象查找,相当于采用byType的方式。 5.autodetect:如果找到默认的构造函数,则通过 constructor的方式自动装配,否则使用 byType的方式自动装配。在Spring3.0以后的版本此模式已被废弃,已经不再合法了。 1 题 循环依赖只会存在在单例实例中,多例循环依赖直接报错。Spring先用构造器实例化Bean对象,然后将实例化结束的对象放到一个Map中,并且Spring提供获取这个未设置属性的实例化对象的引用方法。当Spring实例化了A类、B类后,紧接着会去设置对象的属性,此时发现A类依赖B类,就会去Map中取出已经存在的单例B类对象,以此类推。因为所持有的都是引用,所以A类一改变B类也会跟着改变。从而解决循环依赖问题。
游客ih62co2qqq5ww 2020-03-03 18:05:36 0 浏览量 回答数 0

问题

如何推送高级接口?

Push 描述 推送高级接口。 请求参数 基础参数 名称类型是否必须描述ActionString是操作接口名称,取值:PushAppKeyLong是AppKey信息 推送目标(de...
猫饭先生 2019-12-01 21:56:00 1106 浏览量 回答数 0

问题

SSH面试题

1.什么是struts2?struts的工作原理? struts2:1)经典的  mvc (Model  View  Controller) 框架                          ...
琴瑟 2019-12-01 21:46:22 3489 浏览量 回答数 0

问题

Android SDK是什么?

功能介绍 语音Android SDK提供一句话识别服务,提供将实时短语音转成文字的功能,可直接用于语音搜索类应用。 阿里云语音服务SDK(NLSClinet),是运行...
nicenelly 2019-12-01 21:28:03 1794 浏览量 回答数 0

问题

【精品问答】python技术1000问(2)

为了方便python开发者快速找到相关技术问题和答案,开发者社区策划了python技术1000问内容,包含最基础的如何学python、实践中遇到的技术问题、python面试等维度内容。 我们会以每天至少50条的...
问问小秘 2019-12-01 22:03:02 3129 浏览量 回答数 1

问题

Android SDK是什么?

功能介绍 语音Android SDK提供一句话识别服务,提供将实时短语音转成文字的功能,可直接用于语音搜索类应用。 阿里云语音服务SDK(NLSClinet),是运行...
nicenelly 2019-12-01 21:01:23 1531 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT