Soul智能语音技术实践之路人工智能

近年来,智能语音语言技术蓬勃发展,逐步改变着人们生产生活的方式,在社交领域更是对智能语音技术提出了更高的要求。

现将演讲内容整理如下,希望对大家有所启发。

群组可以创建房间,很多用户在里面进行语音聊天。

Soul平台的用户,其实大部分是不希望露脸的,不希望暴露自己的,所以我们就做了一个自研的3D的Avatar形象或者头套给用户使用,帮助用户更好地去表达自己或者是无压力的表达自己。

也是一个房间,里面也可以是好多人一起玩游戏。

基于这些语音算法能力,我们有很多语音应用形式,比如语音质量的检测,包括增强,语音审核,文字配音、语音话题、虚拟环境音,比如这些3D的空间音效等等。下面针对语音审核和虚拟形象两个业务场景下用到的技术进行介绍。

下图是我们目前正在使用的一个端到端语音识别框架,首先它会抓取用户的一个片段音频进行特征提取,目前用到的特征有很多,我们主要是用了Alfa-Bank特征,在一部分场景下尝试用了Wav2Letter这种预训练得到的特征。得到音频特征之后会进行一个端点检测,就是检测这个人是不是在说话,这个音频片段有没有人声。目前用到的基本上是一些经典的能量VD和模型DNVD。

拿到这些特征之后,我们会送到一个声学打分的模块,这个声学模型我们在开始的时候是用的TransformerCDC,目前已经迭代到了ConformerCDC。经过这个声学打分之后,我们会把一系列的序列的分数送给解码器,解码器负责解码出文字来,它会基于识别结果再进行二次打分。在这个过程中,我们用到的模型基本上还是一些比如传统的EngelM模型,还有一些目前比较主流的Transformer深度学习的模型进行重打分。最后,我们还会做一个后处理,比如经过一些标点的检测、文本正则化、语句顺滑等这些处理,最终得到一个有意义的比较准确的识别文字结果,比如“2022年全球人工智能大会”。

在端到端语音识别系统里面,其实我们讲的端到端主要是在声学打分这部分我们是使用了端到端技术,其他的主要还是一些传统的和一些经典的深度学习方式。

在构建上面这个系统过程中,我们实际上是遇到了很多问题,在这里主要是列举三个:

针对这几个问题,我们主要是通过如下三个方式去解决的。

Soul的场景多且比较复杂。比如群聊派对,它会出现多个人交叠的情况或者AB一直在对话。比如在在线KTV,它会出现一些边唱歌边说话的情况。但是我们在标注数据的时候,因为它比较昂贵,所以我们会选取这些场景下面比较干净的数据进行标注,比如可能会标注一万小时干净数据。但是干净的数据跟真实场景的数据的复杂性是不一样的,所以我们会基于这些干净数据做一些数据预处理。比如一些经典的加噪、加混响、调速,比较把速度调快一些或者调慢一些,调能量,把能量调大、调小一些,经过这些比较经典的一些数据预处理方式。

除了这些方式,我们会针对我们业务场景下出现的一些问题,我们会做一些针对性的数据预处理或者数据增广。比如刚才提到群聊派对很容易出现多说话人交叠的情形,所以我们会做一个多说话人拼接音频,也就是说把ABC三个说话人的音频片段我们会做一个cut,一起去做数据增广。

因为在音视频通话里面有一些会在整个音频前端做一些基本的3D算法的预处理,比如自动回声消除、智能降噪等等,所以说我们也会为了适配线上的使用场景也会做一些3D算法的预处理。

经过这些方式的数据预处理之后,我们可以得到多样性的这些数据,比如带噪声的、有一些混响的、多人甚至多风格的这种数据都会增广出来。比如我们会把一万小时增广成大概五万小时甚至比如八九万小时这么一个量级,这样的话,数据的覆盖度、广度就会非常高。

我们使用的模型的主要框架还是Conformer结构。在这个Conformer结构左边就是经典的EncoderCDC框架。右边是一个AttentionDecoder。但是大家注意到,我们在右边这个Loss里边,原来的Conformer结构是一个CELoss,而我们这边把它换成了FocalLoss。主要是我们是使用FocalLoss去解决稀疏单元、稀疏数据训练不收敛的问题,或者训练差的问题,它是可以解决的。

比如在中英混读里面,有些英文单词我们在训练数据里面是很少的,这种情况下这个单元是学不好的。通过FocalLoss我们可以把它的Loss权重给调高一些,可以缓解一部分数量问题或者训练不好的问题,能够解决一部分badcase。

第二个点,我们在训练策略上会不一样,比如我们在训练策略也会采用一些混合训练的方式,比如在前期训练的时候,我们训练Decode这部分输入的时候,我们还是采用精标的Label序列数据作为输入。但是随着训练模型收敛,后期的时候我们会按照一定概率去采样一部分预测出来的Label作为Decoder的输入,来做一些Trick,这个trick主要解决什么?就是训练模型跟线上推理模型的输入特征不一致的现象,通过这种方式我们是可以解决一部分的。

但还有一个问题就是,其实在这个Conformer模型原来或者比如Vnet或者ESPnet他们提供的模型里面,默认是一个绝对位置信息。但是绝对位置信息它不能解决序列过长的时候的识别问题,所以我们会把绝对位置信息改成相对位置编码来解决这个问题。通过这种方式,可以解决识别过程中出现的比如说有些词重复或者是偶发的丢字或者丢词的现象,这个问题也是可以解决的。

第一个是声学模型,我们会把自回归的模型改成这种基于EncoderCDC+WFST解码的方式,先解出一部分识别结果,比如NBest、10best或者20best。基于20best,我们会送到DecordeRescore去做一个二遍重打分,这样的话可以避免时序依赖的关系,便于GPT并行的进行计算或推理。

除了经典的这种加速的方式,我们还做了混合量化的方式,就是我们在深度学习前向推理的过程中,我们一部分使用8Bit进行计算,但是在核心的一部分,比如金融函数这部分我们依然使用16bit,主要是在速度和精度方向上我们会做一个适当的平衡。

经过这些优化之后,整个推理速度是比较快的。但是在我们的实际上线过程中,我们还发现了一些小问题,我觉得也算是一个Trick。

在语言模型层面上,在语言模型层面上,比如我们场景闲聊的文本比较多,但是也有唱歌的,我们要同一个模型既要解决说话,又要解决歌声。在语言模型上面,比如闲聊文本,它通常比较碎、比较短,所以我们经过实验之后,我们发现三元的是比较好的,五元反而没有带来提升。

但是比如歌声的话,它的文本比较长,且它的句式、文法相对比较固定,所以在实验过程中,五元是比三元好的。出现这种情况,我们使用的是混合文法来对闲聊文本和歌声文本共同进行语言模型的建模。使用了“三元+五元”混合的模式,但这个“三元+五元”混合并不是我们传统意义上说的差值,我们并没有做差值,而是把闲聊的三元的文法跟四元的歌声和五元的文法拿过来直接做一个合并。这么得到的arpa目前是更小的,在解码的过程中也比较快,更重要一点就是显存占用比较小。因为在GPU上解码的话,显存大小是固定的。所以说我们是需要控制一定的语言模型大小的情况下,来尽可能通过语言模型提升识别的效果。

经过声学模型和语言模型的一些优化和Trick之后,目前我们的推理速度也是非常快的。实时率基本上能到0.1、0.2的水平。

主要是通过将声音、口形、表情、姿态等这些内容进行生成,来帮助用户更无压力或者更自然、更自由地去表达,这背后需要的核心技术之一就是多模态语音合成。

下图是目前正在使用的语音合成系统的基本框架。首先我们会获取用户的输入文字,比如“2022全球人工智能大会”,然后我们会送到文本分析这个模块,这个模块主要是对文本进行一些各方面的分析,比如进行文本的正则化,还有一些分词,最重要一点是自转移,把文字转成音素,还有一些韵律预测等等功能。经过这个文本分析之后,我们就可以拿到用户的这句话的一些语言学特征,这个特征会送到声学模型里面。声学模型目前我们主要是使用的基于FastSpeech这个框架做的一些模型的改进和训练。

声学模型得到声学特征,比如梅尔特征,或者时长或者能量等等信息,它的特征流向会分两部分。一部分我们会送到声码器里面,主要是用来生成我们可以听的音频波形。另外一个流向是送到唇形预测里面,我们通过唇形预测模块可以预测出口形对应的BS系数。得到BS特征值之后,我们会送到视频生成模块,这部分是由视觉团队负责,可以生成虚拟头像,就是带口形、带表情的这种虚拟形象。最终我们会把虚拟头像和音频会做一个合并,最终生成音视频动画。这就是我们整个多模态语音合成的基本框架、基本流程。

多模态语音合成过程中的主要问题:

Soul的处理方式与在改进端到端的语音识别系统中类似。

针对这些数据复杂性,我们做了一些数据预处理,比如短句的拼接,刚才提到在采集的过程中,句子是有长有短的,我们为了扩增音库的时长,我们会把短句做一个cut,过程中我们会去掉一些静音,静音太长的话也会有一些影响。

第二,就是去噪,比如在拿到的这些网络数据或者营销视频,在这里面的噪声我们会通过一些语音增强的方式把噪声去掉。

第三,其实现在的标注大部分是标注的音转字,但音素的边界现在基本上就不作为标注了,所以我们通常是通过这种MFA强制对齐的方式去获得音素的边界信息。

然后下面人声分离的话是比较特殊的,因为是在营销视频里面我们是有背景音乐,所以说我们会做一个人声分离,会把背景音乐给去掉,获取到干声数据。我们还做一些能量规整,还有一些VAD,VAD主要是在对话或者网络数据里面,我通过VAD去检测到有效的人声,再拿去做一些预标注或者预训练。

我们在做FastSpeech的过程中,我们主要做了三个方面的改动。左边这个图左边这一类是FastSpeech的基础模型,我们首先做了第一个变化就是我们会把音素和音调进行解耦建模,就是正常情况下大家的文本前端转出来的是音素序列,像左边这个图一样,“你好”这种单调的音素序列。但是我们会把它拆成右边这部分,两部分,就是左边一部分是音素序列,只有音素,没有声调。右边是只有声调,没有音素。这样的话我们会分别输送到一个ProNet(音)里面,会得到两个Embedding。两个Embedding会cut到一起,来替代之前的这种Embedding的方式。这样的话,好处就是它可以解决稀疏发音的问题,或者是有些发音不在我们的训练语料里面,这种问题是基本上都可以解决的。

第二个我们改动的方式是原来的方式是先预测一个时长,就是右边这个图,然后再基于这个时长我们把声音集进行扩展,然后预测能量和Pitch。现在我们是换了一下顺序,我们会基于音素级的去预测Pitch和Energy,然后预测完之后我们才会去对它进行一个帧级别的时长的扩展。这样的好处就是,在整个完整的音素的发音过程中,它的发音就比较稳定,这是在我们场景下的一个变化。

第三个就是我们在Decoder这部分,就是最上面这部分,Decoder这部分我们做了一个替代变化。原来的Decoder里面是用的这种Attention的方式,我们现在换成了这种Iconv或者Convolution的方式。这个好处就是因为Self-Attention它虽然能捕获很强大的历史信息、上下文信息,但是对逐步建模的能力是比较差的。所以说换成Convolution之后,我们在处理这种局部建模的能力会更好一些。比如在发音的时候,刚才提到的这种发音比较哑音或者模糊的现象,基本上它是可以解决的。这是我们目前的一些主要的变化。

左边是合成口形,右边是合成声音,他们共享声学模型里面的一些Encoder和时长信息。

我们主要是做了三个动作。第一个是,我们是真实的采集了一些高精度的数据,比如我们会找一些真人佩戴一些高精度传感器,去驱动我们已经预测好的Avatar形象,得到高分辨率的音视频,做一些标注。这样就会得到文字、音频、视频的三者同步的一些数据。

第二个事情就是,可能也提到我们怎么解决音画一致性呢?因为我们最开始是先通过合成,文本合成声音,拿到声音之后,我们会做一个声音到口形的预测,这个过程中它会出现帧级别不对称的现象。目前我们是通过这种合成口形和合成声音共享声学模型的方式,并且在帧级序列进行扩展之后去做。目前是可以保证在帧级上是可以对齐的,能够保证音画一致性。

最后,我们目前并没有基于序列的方式去预测口形或者BS基,我们是基于LSTM的这种方式去预测BS基。预测的BS系数之后,但是它有可能预测得有些异常,我们还会做一些后处理,比如正则化,比如BS基太大或者太小,都会导致口形张得太大甚至变化太小,我们都会设置一个范围,不能太大了,会控制在一个合理的范围之内。目前基本上是可以保证音画一致性的。

一是多模态识别,在高噪情况下,音频结合口形做多模态识别,提高识别准确率。

二是多模态的语音合成实时语音转换,可以保留用户的情感、风格这些特征,只是把用户的音色转换到另外一个音色上面。

THE END
1.账号申诉*所在服务器: 请先选择游戏 *角色名称: *角色等级: 联系信息 邮箱用于申诉结果查询和接收申诉通知邮件,请认真填写。 *邮箱: 申诉基本资料 如记不清具体时间,可大致描述,如:3月10日到15日,4月中旬等。 *注册时间: *注册城市: *账号异常时间: *最后登录时间: https://www.xd.com/service/appeal?username=leejunki945
2.Soul黑猫投诉投诉对象SoulApp 投诉问题 未履行合同 正义喵 2024-11-29 于黑猫投诉平台发起 要求退款 我在soul开通的自动续费,2023年开通一次年费会员,2024年未使用过该软件又被自动扣款!长时间未使用此软件,不知情情况下被扣除年费会员198元。打客服电话长时间无人接听,无法沟通退款!申请退款198元!在没有通知的情况下突然扣款http://gx.tousu.sina.cn/company/view/?couid=5772598187&vt=4
3.Soul黑猫投诉并且客服电话打了无数次居然没有人接!!!什么人工审核未通过,什么人?什么人没有主观意识?要求开通账号!同时抄录一份对上海任意门科技有限公司到上海工商行政管理局以及工 [投诉对象]SoulApp [投诉要求]退款,解释,改善服务 0 0 0 已回复 正义喵2024-12-01 于黑猫投诉平台发起 Soul App醉酒误操作https://ah.tousu.sina.com.cn/company/view/?couid=5772598187
4.联系我们长沙办公室 地址:湖南长沙市开福区鸭子铺路46号32楼 联系方式OUR CONTACTS 官方邮箱 soul@soulapp.cn CS 400-9030057 HR hr@soulapp.cn 广告合作 ad@soulapp.cn 商务合作 commercial-b@soulapp.cn 供应商合作 pc@soulapp.cn 不良信息举报 400-9030142https://www.soulapp.cn/favicon.ico/contact
5.soul客服电话无法联系,问题长时间未解决315消费保用户闻某某投诉soul服务质量差,电话骚扰,称人工客服电话基本打不通,线下反馈问题说48个工作日回复,已经过了三个工作日,加上休息日5天问题一直没有跟进解决!!!https://www.xfb315.com/tousu/96922737
6.qq客服电话人工台服务电话是多少qq客服电话人工服务热线qq客服电话人工服务热线是多少呢?如果你你因为腾讯业务需要联系客服,却不知道人工电话是多少的话,不妨来看看本文介绍吧! qq客服电话人工台服务电话是多少 语音自助服务: 腾讯客服热线 0755-83765566 帐号安全专线 QQ业务专线 0755-86013515 为您提供Q币卡充值及号码申诉的催办和上诉等服务。 https://m.qqtn.com/mipc/185600.html
7.刷soul关注,拉票平台24小时人工服务在这个信息爆炸的时代,社交媒体的影响力不容小觑,Soul作为一个新兴的社交平台,其关注和投票功能成为了许多人关注的焦点,本文将为你揭秘如何在Soul上刷关注和拉票,以及如何利用24小时人工服务的平台来实现这一目标。 刷Soul关注和拉票的重要性 在Soul上获得更多的关注和投票,不仅可以提升个人或品牌的知名度,还能增加在https://www.hbkbyy.cn/kuaishou/202412-14429.html
8.?快速参与,尊享豪礼:娱乐体育下载大全登录直播吧12月2日讯 在对阵海登海姆的比赛中,埃及新神锋马尔穆什梅开二度。据德国天空体育名记普莱滕伯格报道,法兰克福仍然希望和马尔穆什续约,但目前来看,球员有可能会在夏窗离队。 鬼泣徽章的属性选择应以“智力”和“魔法攻击力”为主。content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximumhttp://mil.luouymp.cn/
9.soul随缘对人工桌面的评价soul随缘 2024/7/2 玩过 评价历史 推荐 画面音乐可玩性运营服务 游戏时长 游戏时长 11 分钟 设备 Nubia NX709S 太好用辣! 人工桌面 应用 8.6 美少女3D高画质 查看 转发 回复 赞 最早 友善回复,会获得更多的赞~ 快来发布第一个回复吧~ 原神 https://www.taptap.cn/review/41166752
10.SiteOficialDell:Notebooks,PCseSoluesdeO melhor lugar para comprar notebooks, PCs, monitores e acessórios é na Dell. Ofertas exclusivas, frete grátis e tecnologia de ponta para todas as suas necessidades.http://dell.com/