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

2023-11-15

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Python发送信息及附件到邮箱

    import smtplib import os from email mime text import MIMEText from email mime multipart import MIMEMultipart from email
  • PB的组合查询

    用PB进行数据库应用系统开发时 我们经常要对大量的数据进行筛选 查询 得到符合要求的记录 这就需要用到组合条件查询功能 我在作应用系统开发时 就自己编写了一个简单而又实用的组合条件查询模板窗口 只要用到组合条件查询的地方 都可从此窗口继承而

随机推荐

  • 【华为OD机试真题 JAVA】火星文计算

    JS版 华为OD机试真题 JS 火星文计算 标题 火星文计算 时间限制 1秒 内存限制 262144K 语言限制 不限 已知火星人使用的运算符为 其与地球人的等价公式如下 x y 2 x 3 y 4 x y 3 x y 2 1 其中x y是
  • webpack打包项目文件

    在项目开发中想了解一下使用webpack打包vue项目的具体操作 1 在命令窗口中使用npm run dev serve启动package json中配置的脚本运行项目 2 在build dev server js文件中 const con
  • 通行时间估计 读书笔记

    Learning to Estimate the Travel Time Didichuxing 中文提示 通行时间估计 特征提取 对路段中所有可能获取的数据进行特征提取 包括交叉路口 route 信号灯信息 路段长度 宽度 车道数 本段在
  • 【2023】华为OD机试真题Java-题目0198-整理扑克牌

    整理扑克牌 题目描述 给定一组数字 表示扑克牌的牌面数字 忽略扑克牌的花色 请安如下规则对这一组扑克牌进行整理 步骤一 对扑克牌进行分组 规则如下 当牌面数字相同张数大于等于4时 组合牌为炸弹 三张相同牌面数字 两张相同牌面数字 且三张牌与
  • 统计学---之样本方差与总体方差的区别

    前段日子重新整理了一下这个问题的解答 跟大家分享一下 如果有什么错误的话希望大家能够提出来 我会及时改正的 话不多说进入正题 首先 我们来看一下样本方差的计算公式 刚开始接触这个公式的话可能会有一个疑问就是 为什么样本方差要除以 n 1 而
  • Java加密技术(十一)——双向认证

    对于双向认证 做一个简单的描述 服务器端下发证书 客户端接受证书 证书带有公钥信息 用于验证服务器端 对数据加密 解密 起到OSI五类服务的认证 鉴别 服务和保密性服务 这只是单向认证 为什么 因为客户端可以验证服务器端 但服务器端不能验证
  • Mac前往服务器文件夹变成灰色,[mac]解决移动硬盘文件显示灰色的问题

    在mac上创建的文件 在复制到移动硬盘上后 变成灰色且不能操作 项目已被 macOS 使用 不能打开 在移动硬盘上变成灰色的文件 双击会提示 项目已被 macOS 使用 不能打开 打开终端输入 ls eln 灰色文件路径 image png
  • 新手如何使用pycharm

    开启coding之旅 我在写代码的时候 我总是因为安装包和环境的问题 代码总是bug不断 短段的两天时间 我整天扑在上面研究 不断地抓头 短段两天 我感觉我的头发都凸了一点了 后来我实在解决不了 于是直接付费请教别人帮我装机 就为了完成最简
  • Jenkins 设置镜像_在k8s上安装Jenkins及常见问题

    持续集成和部署是DevOps的重要组成部分 Jenkins是一款非常流行的持续集成和部署工具 最近试验了一下Jenkins 发现它是我一段时间以来用过的工具中最复杂的 一个可能的原因是它需要与各种其它工具集成才能完成任务 而集成的方法又各不
  • XML转JavaBean的简单实现

    一个基于JSON的简单的XML转为Bean的方法 之前在做一个WEB SERVICE的交互的时候 写的一个基于JSON的XML转Bean的方法 就把它整理处理 如下 gt pom xml 所有需要的依赖包如下
  • 使用ChatGPT自动编写Python爬虫脚本

    都知道最近ChatGPT聊天机器人爆火 我也想方设法注册了账号 据说后面要收费了 ChatGPT是一种基于大语言模型的生成式AI 换句话说它可以自动生成类似人类语言的文本 把梳理好的有逻辑的答案呈现在你面前 这完全不同于传统搜索工具 Cha
  • Unity Mesh网格编程(三) Shader实现水面或旗帜飘扬效果

    Upgrade NOTE replaced Object2World with unity ObjectToWorld Upgrade NOTE replaced mul UNITY MATRIX MVP with UnityObjectT
  • 【Unity3D小功能】Unity3D中实现UI擦除效果、刮刮卡功能

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好 我是佛系工程师 恬静的小魔龙 不定时更新Unity开发技巧 觉得有用记得一键三连哦 一 前言 使用Unity3D实现UI的擦拭效果 刮刮卡
  • php图片居中显示图片,CSS实现图片居中的三种方式

    在我们的WEB前端css开发过程中 我们避免会遇到让图片居中的情况 为了网页美观以及用户的体验 我们有时候就要让图片居中 那么我们也都知道图片居中的方法有很多 今天我们就给大家详细介绍下CSS实现图片居中的三种方式 1 利用display
  • Docker入门命令

    文章目录 1 安装Docker 2 搜索 下载镜像 3 查询本地镜像 4 启动镜像到容器 5 查询已启动镜像 容器 6 进入容器环境 7 创建镜像 7 1 基于已有镜像的容器创建 7 2 基于本地模板导入 7 3 基于Dockerfile创
  • AI绘图:教你几个提示词 100%生成美丽小姐姐

    许多常用提示对于确保高质量的成像结果至关重要 我们将教您一些基本的提示词和设置 以节省您在初始探索过程中的时间 本次用到的模型ChilloutMix 基础设置 默认设置包括图片 大小 512 x 512 采样器 DPM SDE Karras
  • 逆序栈(使用递归)

    题目 一个栈依次压入1 2 3 4 5那么从栈顶到栈底分别为5 4 3 2 1 将这个栈转置后 从栈顶到栈底为1 2 3 4 5 也就是实现了栈中元素的逆序 请设计一个算法实现逆序栈的操作 但是只能用递归函数来实现 而不能用另外的数据结构
  • springBoot添加自定义拦截器

    文章目录 前言 步骤如下 首先新建一个自己的拦截器 其次 把自己的拦截器注册到spring中 让其生效 前言 新的项目需要校验用户是否登录 在springBoot项目中添加一个自定义的拦截器拦截到所有请求进行逻辑判断 步骤如下 首先新建一个
  • 资讯汇总230429

    230429 11 44 大华股份 重点投入大模型和多模态方向 会持续按需扩容算力 大华股份在业绩说明会表示 GPT 的发展具有里程碑式的意义 公司会重点投入大模型和多模态方向 过去在大模型领域的算法和工程能力已经有一定的积累 先进技术研究
  • 内行看门道:看似“佛系”的《QQ炫舞手游》,背后的音频技术一点都不简单

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由腾讯游戏云发表于云 社区专栏 内行看门道 看似 佛系 的 QQ炫舞手游 背后的音频技术一点都不简单 3月14日 腾讯旗下知名手游 QQ炫舞 正式上线各大应用商店 并迅速登上Ap