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

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

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. mvc - codefirst 数据迁移

    from :http://blog.csdn.net/xiaoyiyz/article/details/41485325

  2. asp.netcore+jenkins+docker+svn+centos7.2 持续集成,每天凌晨获取最新代码打包发布

    运行环境: centos7.2服务器或则虚拟机 可以是腾讯云也可以是内网服务器,(如果是内网服务器需要用frp做内网穿透,这样才可以通过外网访问该服务器) svnserver 来托管代码 一.安装je ...

  3. linux下关闭防火墙命令

    今天使用linux虚拟机搭建jenkins,但是在虚拟机内部使用浏览器可以访问jenkins主页,在物理机上却无法访问jenkins主页,查找原因后是因为linux虚拟机没有关闭防火墙,关闭防火墙后, ...

  4. 上课总结-数据库Chapter2: 关系数据库

    Chapter2: 关系数据库 一.搞懂主键 外键关系 主键(主码):能唯一标识一个元组的某一属性组. 外键:不是这组数据的主键 但是另一组数据的唯一主键(当这组数据的主键有2个时 可以作为外键) 例 ...

  5. shell传参给matlab问题解决办法

    之前需要通过shell脚本传参给matlab程序,但是遇到一些问题,现将我遇到的问题分享出来,给遇到同样问题的人一些借鉴. shell部分脚本Execl.sh: /usr/bin/python /ho ...

  6. win10 + Lubuntu 双系统安装

    win10 + Lubuntu 双系统安装 最近重装了系统,索性直接安装win10 + Lubuntu 双系统,便于在物理机下进行 Linux开发. 这里我选择的 Linux 发行版是 Lubuntu ...

  7. 流水的算法,铁打的损失函数/MLE

    机器学习算法可以说是不少的,如果死记硬背的话,只能当时记得推导过程和步骤,过一段时间就又想不起来了,只能依稀记得一些影子.所以,应该找到算法的一些通用的方法来理解算法的思路以及推导过程. 我认为,最大 ...

  8. CF138D World of Darkraft

    $ \color{#0066ff}{ 题目描述 }$ n*m的格子,每个格子有字符'L','R',X',初始可以选择所有格子. 当选了 'L'的格子时,当前格子左下右上这条线上所有点不能选; 当选了 ...

  9. Docker - 使用 Nexus3 搭设私有 NuGet 仓库

    目录 前言 NuGet Nexus 私有仓库 说明 安装 Nexus 拉取 Nexus 镜像 运行 Nexus Nexus NuGet 仓库简单使用 Nexus 默认帐号 Repositories 上 ...

  10. c语言数据结构学习心得——线性表

    线性表:具有相同数据类型的n(n>0)个数据元素的有限序列. 主要有顺序存储和链式存储. 顺序存储: 特点:地址连续,随机/存取,顺序存储. 建立:首地址/存储空间大小(数组),表长. 方式:静 ...