前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >语音消息技术实现技术实践

语音消息技术实现技术实践

原创
作者头像
可可爱爱没有脑袋
修改2020-04-14 17:03:35
3.5K0
修改2020-04-14 17:03:35
举报
文章被收录于专栏:云+直播云+直播

点击观看大咖分享

消费升级的时代,搭配才能创造奇迹。文字是苍白的,语音是生动的,语音转文字是具备科技色彩的。文字一旦有了科技感,生活才能有质感。本课程以GME做“活化酶”,将详细介绍以微信语音转文字技术为基础的GME功能,带你告别文字的苍白,激发AR活性,让你的生活瞬间充满“胶原蛋白”。随着AR技术的不断发展,语音转文字在音频场景的应用不断成熟。

本期腾讯云大学大咖分享邀请腾讯云高级工程师程君,将介绍以微信的语音转文字技术为基础的GME语音消息功能,并通过一个demo实践让大家快速了解GME的语音消息的功能。

本次分享目录:

1、GME语音消息支持的应用场景 2、语音消息的技术实现 3、语音消息功能开发实战

1. GME语音消息支持的应用场景

1.1 语音消息

下图是QQ飞车里的语音消息,录制完语音消息并翻译成文本之后,语音内容和转成文字后的内容发送给好友。

1.2 语音转文字

下图是王者荣耀里,一边说话一边转文字,说完了也翻译完了,有点类似于语音输入法。

1.3 变声玩法

下图是手机QQ里,语音变声的趣味玩法,将录制的声音以萝莉或大叔的声音播放。

2. 语音消息的技术实现

2.1 整体流程

下图是整个GME的语音SDK的使用流程,先是初始化SDK,设置鉴权信息。

对于发送方来说,先是录制,录制完了上传,上传成功会得到服务器返回的一个fileID。如果有语音转文字的需求的话,再调用SpeechtoText接口,把fileID传给服务器,就会得到翻译结果。然后走你们的app 或者游戏内的IM通道,把这个fileID发送给接受方。

对于接受方来说,收到了fileID后,调用我们的download 接口,先把语音文件下载到本地,再播放就可以了。

对于发送方也可以选择我们的流式的录制的接口,该接口会一边录制,一边上传,一边翻译,录制结束之后,录制结果,上传结果和翻译结果会在一个回调函数内返回给你,后面会详细对接口做介绍。下面就是对每个过程做详细的介绍。

2.2语音消息的录制

关于编码和采集,先用下面两幅频谱图,来展示人声和音乐的不同。左边是正常说话的人声,右边是一首从QQ音乐下载的正常歌曲。可以看到人声的频谱较低,大部分在8k以下,而且信号是离散不连续的;而音乐的频谱覆盖到全频带,信号连续且强度较大,按照奈奎斯特采样定律,需要完整还原信号的话,编码的采样率应该是频谱的两倍。所以,业界称8k频谱对应的16khz采样率为宽带,用于纯人声场景。24k频谱对应的采样率48khz为全频带,用于音乐场景。语音消息主要是针对人声场景,所以编码定的采样率是16K。

SILK编码最早在Skype中使用,它在编码效率和质量之间取得了很好的平衡,因此被广泛应用在互联网的音频相关产品中,目前广泛使用的是SILK V3。微信QQ里的语音消息也都是用silk,silk编码是Opus编码的基础,压缩后2K每秒。

2.3 录制和播放

前处理的流程,先是设备采集,其次是降噪,这个降噪是我们自研的,降噪可以帮你去除掉一些环境里的杂音,增益处理就是可以将声音的音量放大,这里没有修改设备的硬件音量,而是代码里做了处理,也就是所谓的软件音量。上采样和下采样的流程不是必须的,因为有些设备不支持我们音频文件的采样率 16K,比如PC的设备只支持48K的数据。所以就要做一次重采样,支持的设备,如IOS 就不用处理

2.4 变声

声音是一种波,具有三个要素:幅度,频率,相位。其中幅度决定了声音的大小,刚刚前处理说的增益就是在改变了振幅,频率决定了声音音调的高低,实际的声音往往都不是单一频率的波,而是有各种频率的波叠加而成,从而形成了各具特色的声音,通过分离不同频率的信号,并采取不同程度的放大或缩小,从而改变声音的效果。

变声支持12类型:萝莉,大叔,熊孩子,感冒,困兽,空灵肥仔,重金属,外国人,重机械,强电流,土话。

下图是原声和萝莉的语谱图,横坐标为时间,纵坐标为频率。颜色代表特定时间点下,某频率的声音强度。原声的声音频率较窄,为16000Hz以下,萝莉音频率被拉长,一些低频音被放大为高频,频率为14000Hz左右。可以用QQ语音消息进行体验。

2.5 上传

录制完成之后就是上传了。我们在全球部有语音消息的服务器。上传的流程是这样的,上传请求首先会到TGW服务器 TGW全称Tencent Gateway,是一套实现多网统一接入,支持自动负载均衡和就近计入的系统。请求到了TGW之后,就会根据负载均衡和就近接入的原则将请求分配给业务服务器,业务服务器也会根据就近分配的原则返回最近的cos服务器的地址和token。客户端然后再根据这个业务服务器返回的cos地址把语音文件到这个存储服务器上,并把文件的下载地址返回给客户端。

2.6 下载

下载的流程和上传的类似。下载的时候也会遵循就近接入的原则,比如上传的时候用户是在德国,那我们就会把语音文件就近存储到德国。而下载的时候,用户是在美国,GME的业务服务器会把下载的内容从德国拷贝到美国去加速下载。

2.7 语音转文字

语音转文字主要是用深度学习的技术来实现的。对于采集到的原始音频数据,先要做特征提取,特征提取的方法主要有预加重、分帧加窗、FFT、滤波器等,特征提取的目的就是把乱无章的音频信号的特征变得更加显著,这样有助于后面声学模型训练的收敛。其次就是声学模型的训练,就是将发音映射成汉字。但由于存在多音字这种情况,所以还需要语音模型,利用当前词前面的几个词来计算其概率,是这些词最大概率上可以组合成一句话。

GME的语音转文字支持100多种语音,识别率高达99%,前馈计算的模型是在服务器运行的,不占用客户端资源。语音转文字的速度大概是1秒的语音文件转换成文字需要0.4s, 基本上是呈线性增长的。

2.8 流式语音转文字

之前的语音转文字,需要先录制,在上传,拿到上传之后的文件ID之后,再向服务器请求翻译,这样的体验肯定是不够好的,所以我们推出一个流式的接口。流式的语音转文字,可以边录制,边上传,边转文字,语音转文字的等待时间固定,不会随说话时间增加而增加。由于它同时兼顾上传的功能,所以即使流式的翻译失败了,也可以用拿到的上传的文件地址再走一次普通的翻译。当然流式翻译的成功率还是很高的。

2.9 实时监控

在服务器监控这一块,我们有24小时的监控体系,一旦发生异常会及时报警,并进行处理,保证服务质量。

3. 语音消息功能开发实战

目标:实现一个简单的本地录制功能

GME SDK 下载:

https://cloud.tencent.com/document/product/607/18521

GME v2.5.1

Demo框架下载:

http://dldir1.qq.com/hudongzhibo/QCloud_TGP/GME/test/test/PTTDemo.zip

GME文档:

https://cloud.tencent.com/document/product/607


问卷

为了给广大开发者提供最实用、最热门前沿、最干货的视频教程,请让我们听到你的需要,感谢您的时间!点击填写 问卷

关注“腾讯云大学”公众号,回复【加群】进入交流群
关注“腾讯云大学”公众号,回复【加群】进入交流群

腾讯云大学是腾讯云旗下面向云生态用户的一站式学习成长平台。腾讯云大学大咖分享邀请行业技术大咖,为你提供免费、专业、行业最新技术动态分享。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 点击观看大咖分享
  • 1. GME语音消息支持的应用场景
    • 1.1 语音消息
      • 1.2 语音转文字
        • 1.3 变声玩法
        • 2. 语音消息的技术实现
          • 2.1 整体流程
            • 2.2语音消息的录制
              • 2.3 录制和播放
                • 2.4 变声
                  • 2.5 上传
                    • 2.6 下载
                      • 2.7 语音转文字
                        • 2.8 流式语音转文字
                          • 2.9 实时监控
                          • 3. 语音消息功能开发实战
                          • 问卷
                          相关产品与服务
                          语音识别
                          腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档