欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文由腾讯游戏云发表于云+社区专栏

3月14日,腾讯旗下知名手游《QQ炫舞》正式上线各大应用商店,并迅速登上App Store免费游戏总榜第一位。作为一代玩家的青春记忆,早在游戏发布前,《QQ炫舞》手游全渠道预约人数就已突破2000W,其火爆程度不亚于腾讯旗下两款吃鸡手游。

实时语音房间内高清音乐播放,腾讯音频技术解决业内难题

《QQ炫舞》手游由端游原班人马打造,产品的核心体验与端游版本一致。此外,《QQ炫舞》手游还推出了弹珠模式、游戏音乐房间内实时语音等多种独创玩法。然而在创新的同时也带来了一些音频技术上的难题:比如游戏房间内支持高清背景音乐播放,开启实时语音后如何确保播放音乐效果的高音质,同时做到说话声音清晰且避免回音等。

游戏语音多应用在实时语音、多人会话、发送语音消息等场景,而《QQ炫舞》手游的游戏音乐房间内实时语音玩法在音频处理上的复杂度上远远超出了正常范畴。正常情况下,玩家在实时语音房间中启用电话音量模式,由于手机系统的回声消除、降噪模块的影响,房间内播放音乐音质会明显降低。玩家在实时语音房间中使用媒体音量模式播放高清音乐的同时,需要确保实时语音清晰并且避免回声。

这些技术难题对于《QQ炫舞》手游来说,无疑是一项重量级挑战。腾讯音视频实验室提供的游戏多媒体引擎GME(Game Multimedia Engine)作为游戏音乐房间内多人实时语音的解决方案,使得《QQ炫舞》手游呈现出的效果超乎预期:

https://v.qq.com/x/page/s0709emc7lh.html

视频内容

从视频可以看到,玩家在游戏音乐房间内实时语音时,使用手机的媒体音量(而非电话音量),绕过了手机系统的音频处理模块,播放效果达到QQ音乐一样的高清播放体验。当玩家说话时,说话声 “彼此隔离”,使每个声源都可以清晰呈现,且在混合发声时也不存在嘈杂感和回声,极大程度地提升玩家在游戏房间内播放音乐时的实时语音聊天体验。

对此,腾讯音视频实验室的技术专家们解释说:“这得益于GME强大音乐播放器能力,将背景音乐与实时语音完美融合。我们充分考虑到使用手机媒体音量模式的高清音乐播放效果,与房间内多人实时交流时产生的回声、噪声的影响,通过自研的高音质回声消除、噪声抑制处理技术,在保证游戏房间内音乐高音质播放的同时,减少回声、噪声对交流的影响。”

基于自研、优秀的高音质回声抵消技术,GME能保证玩家在多人实时语音场景下听清每个人说话的声音,且不会发生人声被剪切的情况。更富创意的是,如果玩家在其他玩家说话时,还能切换成电台的duking效果,提升观众与发声者的声音体验。

除此之外,GME的一些“看不见”的能力也为玩家所称道,比如为玩家提供30ms级别的超低延时耳返;此外,由于游戏音乐房间内实时语音场景对网络传输要求更高,对弱网、抗抖动的要求也更加苛刻,GME也很好地满足了这些需求。

GME攻克音频难点,为游戏提供一站式游戏语音解决方案

GME产品有着成熟的音频处理经验,特别在基础性能方面,已为400多个产品提供了音频技术支持,技术在业内可谓遥遥领先。GME支持语音开黑、休闲游戏等不同场景,在不同场景下提供不同的音质体验和不同的抗网络损伤技术,力求给用户带来最佳的游戏体验。实时语音音质在网络无损的场景下的平均MOS分达到4.38(满分5分),平均延时低于200ms;通过先进的丢包恢复技术、丢包补偿算法以及优秀的网络抗性,即使在50%以上丢包、1000ms的网络抖动下,也能保持顺畅的沟通和很好的音质。

对于游戏玩家很关心的流量消耗和CPU占用问题,GME也做了相应优化,例如MOBA类游戏中,在保证正常的语音沟通和良好的性能前提下,移动网络模式每分钟流量消耗低于500KB,CPU占用率平均在10%以下等。

值得一提的是,GME自研的3D实时语音技术,利用HRTF 算法对双耳之间的时间差异和频谱差异建立人耳获取声音模型,将无方位感的声音处理成带有声源方位感的声音,从而虚拟出空间中任意位置的声源对人耳造成的感觉。这种技术可以应用在“吃鸡”和棋牌类游戏场景上,通过提供听声辨位的能力,让玩家获得更好的游戏体验。

凭借语音效果好、接入门槛低的方案特点,GME覆盖了休闲社交类、MOBA类、MMORPG等多种游戏类型,提供实时语音、语音消息、语音转文本等功能。如今,通过针对游戏类型、游戏场景的深度优化,GME积累了深厚的技术底蕴,同时通过覆盖超过400+游戏产品的技术支持,不断积累技术经验,为玩家打造畅爽的游戏语音体验,展示了领先业内的技术实力。

游戏多媒体引擎GME 已正式登陆腾讯云,为广大游戏厂商开发者提供服务,详细信息可浏览:https://cloud.tencent.com/product/tmg?idx=1

问答

HTML 5音频循环?

相关阅读

【视频】云API实践教程(上)

iOS Push详述,了解一下?

我们用超火的几款手游和应用助您提前了解Andriod P Beta 2的兼容性问题

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1155113?fromSource=waitui

欢迎大家前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~

海量技术实践经验,尽在云加社区! https://cloud.tencent.com/developer?fromSource=waitui

内行看门道:看似“佛系”的《QQ炫舞手游》,背后的音频技术一点都不简单的更多相关文章

  1. 【转载】QQ炫舞手游自制谱子教程(星动模式)

    第一步:计算ET和BPM: 抄送原作者部落链接:https://buluo.qq.com/p/detail.html?bid=368006&pid=981862-1529828677& ...

  2. 微信游戏《全民炫舞》开发公司h3d2 engine和QQ炫舞2 布料系统技术介绍

    H3D公司开发的<全民炫舞>上线了. 蝉联IOS榜首很多天. 整理了一下过去公司游戏引擎开发的历史.有兴趣可以去看看 公司游戏引擎开发历史介绍: http://www.h3d.com.cn ...

  3. QQ炫舞官网选项卡效果

    这篇博文里需要注意的是当点击事件发生的时候,需要用循环,重置标题的classname和标题底部都设置成隐藏,当点击的时候在加上标题的active属性和显示属性 代码地址:https://github. ...

  4. Java 炫舞按键功能 DancingPlay (整理)

    /** * Java 炫舞按键功能 DancingPlay (整理) * 2016-1-2 深圳 南山平山村 曾剑锋 * * 设计声明: * 1.本次设计是模仿QQ炫舞类游戏,当图标到红色的检测区域时 ...

  5. nyoj 740 “炫舞家“ST

    “炫舞家“ST 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 ST是一个酷爱炫舞的玩家.TA很喜欢玩QQ炫舞,因此TA也爱屋及乌的喜欢玩跳舞机(Dance Dance ...

  6. 不融资、不上市、不快马圈地…“佛系”ZOHO的中国生意经

    来源:钛媒体 作者:秦聪慧 "技术比肩SAP.直追微软的这家25岁"非典型"国际大厂会继续佛系下去吗? ZOHO研发中心大楼 在中国,有家相对低调的"舶来&qu ...

  7. 开源工具 | 手游自动化框架GAutomator,新增iOS系统和UE4引擎支

    WeTest 导读 GAutomator是腾讯WeTest推出的手游自动化测试框架,已用于腾讯多个手游项目组的自动化测试. 1.GAutomator诞生背后 研究过手游自动化测试的同学都知道,虽然市场 ...

  8. 佛系结对编程---四则运算(Core 第四组)

    ----by core 第四组 ( 邹卫其 范力 ) 一. 项目介绍 1. 能自动生成小学四则运算题目并给出答案,生成题目时可以选择下列参数:   1)生成题目数量   2)每道题目中运算数数量   ...

  9. 七个要素帮你打造现象级手游!优化程度堪比《QQ飞车》

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由WeTest质量开放平台团队发表于云+社区专栏 作者:申江涛,腾讯互娱客户端工程师 商业转载请联系腾讯WeTest获得授权,非商业转载 ...

随机推荐

  1. .Net Core 项目区域请求设置

    .net core 和asp.net MVC区域请求有个区别,这里重点记录一下 asp.net MVC 区域请求直接是/区域名称/控制名称/方法名称,其他不需要设置任何东西,而Core 项目这样请求路 ...

  2. F题(水题)

    给出一个有N个数的序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有数中,最大的数是多少.   例如: 1 7 6 3 1.i = 1, j = 3,对应的数为7 6 3,最大的数为7. ...

  3. linux防火墙(四)—— SNET和DNET原理及应用

    图(1) 一.SNAT策略 应用环境:局域网主机共享单个公网IP地址接入Internet,简单的说就是企业内部局域网想访问外部服务器时,网关型防火墙需要开启的SNAT应用策略. SNAT策略原理:网关 ...

  4. js去重方法

    function remove(array){ var obj={}; newarray=[]; for(var i in array){ console.log(i); var arg=array[ ...

  5. 【离散数学】 SDUT OJ 1.3按位AND和按位OR

    1.3按位AND和按位OR Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知长度为 ...

  6. 《Andrew Ng深度学习》笔记4

    浅层神经网络 1.激活函数 在神经网络中,激活函数有很多种,常用的有sigmoid()函数,tanh()函数,ReLu函数(修正单元函数),泄露ReLu(泄露修正单元函数).它们的图形如下: sigm ...

  7. (C/C++) Link List - C 語言版本

    基本Link List 用C語言實現 先附上標頭檔 /** * @author Chen-Hao Lin * @email westgate.skater@gmail.com * @website h ...

  8. Qt 学习之路 2(57):可视化显示数据库数据

    Qt 学习之路 2(57):可视化显示数据库数据(skip) 豆子 2013年6月26日 Qt 学习之路 2 26条评论 前面我们用了两个章节介绍了 Qt 提供的两种操作数据库的方法.显然,使用QSq ...

  9. Python之freshman02

    内置方法:https://docs.python.org/3/library/functions.html?highlight=built#abs 一.数学运算 1.abs()-取绝对值 2.divm ...

  10. tar命令加密压缩/解密解压

    在tar解压文件时发生下面错误信息 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not rec ...