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

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

游戏社交化是近年来游戏行业发展的重要趋势,如何提高游戏的社交属性已成为各大游戏厂商游戏策划的重要组成部分。游戏中玩家的互动形式也不再止于语音聊天,有了更为高阶的需求,比如:玩家在“吃鸡”的时候,会通过外带的声卡或者其他的技术手段进行“变声“。大叔变萝莉,萌妹变宅男,这些都让游戏里的语音互动变得更具娱乐性。

在这股社交娱乐大浪潮下,腾讯云游戏多媒体引擎GME创新性地引入了变声的玩法,让变声成为了游戏内置的功能。只要接入GME的SDK,游戏研发厂商就可以提供给玩家更加丰富有趣的游戏内语音体验,让玩家在不借助任何外部设备的情况下,实现抠脚大汉变声萝莉、变声口吃的的有趣玩法。

目前,腾讯云GME的这个变声功能已应用在手机QQ上,被亿万QQ用户所使用。用户在拨通QQ电话或者发送语音消息时,选择 “变声”,就可以在“萝莉”、“歪果仁”、“熊孩子”等数十种特色音效中自由切换。

实测效果: https://v.qq.com/x/page/p0728cduuy3.html

年轻人追求个性,喜欢猎奇。手机QQ这个变声功能帮助用户展现自己的“多面人格”,让聊天更有趣,广受用户好评。

用户使用反馈

变声的原理,即是通过改变人声的音调、音色,使输出声音在感官上与原始声音不同。人耳分辨人声,是通过音色和音调两个维度去做区分。日常所说的男中音、男高音,就是音调不同;音调一致的情况下,我们依然能通过音色去区分人声。变声器,正是借助对声音音色和音调的双重复合改变,实现输出声音的改变。

在音频后处理领域,“变声”是一个相对常见的功能,语音消息的变声不难,但是在QQ电话中实时变声,这可是个大挑战。要保证在用户无感的超低延时下对人声进行特殊处理,怎么办呢?

为了降低时延,技术团队想了不少办法:数据采集阶段,用自研前处理替换系统的前处理,把时延降低了30ms;处理过程中,支持更少长度的处理(常规变声处理必须定长20ms处理,这20ms等待时间也会体现在总时延上面),能将延时控制在30ms以内。而人耳不会感受的最大延时是40ms,这个延时基本不被用户所感知。最终实现了用户在QQ里体验到的实时语音变声功能。

“趣味变声”也集成到了腾讯云游戏多媒体引擎GME产品能力中。只要在游戏中集成GME的SDK,就能实现QQ通话里的趣味变声玩法,丰富游戏玩家的社交体验,让游戏玩家爱上沟通,通过社交属性有效地提升游戏热度。

腾讯云游戏多媒体引擎 GME(Gaming Multimedia Engine)提供一站式游戏语音解决方案。针对不同游戏场景深度优化,覆盖休闲社交类、MOBA 类、MMORPG、FPS 等多种游戏类型。支持多人实时语音、3D位置语音、语音消息和语音转文本等功能。功能完备,接入门槛低,一个 SDK 即可满足多样化的游戏内语音需求。

问答

怎么换域名?

相关阅读

一个域名引发的血案……

你的nginx访问过慢?增加个模块吧!

给你的CVM安装一个面板吧!

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

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

海量技术实践经验,尽在云加社区

实时语音趣味变声,大叔变声“妙音娘子”Get一下的更多相关文章

  1. 挑战中英实时语音翻译——Skype Translator 中文预览版登陆中国

    Translator 中文预览版登陆中国" title="挑战中英实时语音翻译--Skype Translator 中文预览版登陆中国"> 今天,我们正式宣布在中国 ...

  2. scala-协变、逆变、上界、下界

    scala-协变.逆变.上界.下界 当我们定义一个协变类型List[A+]时,List[Child]可以是List[Parent]的子类型. 当我们定义一个逆变类型List[-A]时,List[Chi ...

  3. # li鼠标移入移出,点击,变背景色,变checkbox选中状态

    移入移出背景色改变和点击背景色改变,两者是否相互覆盖? 若移出背景色恢复,影响点击事件的背景色改变,会产生效果为: 点击时,背景色改变,并且checkbox选中 鼠标移开后,checkbox仍选中,但 ...

  4. 用css 添加手状样式,鼠标移上去变小手,变小手

    用css 添加手状样式,鼠标移上去变小手,变小手 cursor:pointer; 用JS使鼠标变小手onmouseover(鼠标越过的时候) onmouseover="this.style. ...

  5. 转:android实时语音问题分析

    转:http://ticktick.blog.51cto.com/823160/1746136 PigeonCall:一款Android VoIP网络电话App架构分析 2016-02-29 20:1 ...

  6. scala-协变和逆变

    class GaoJi class ZhongJi extends GaoJi //协变=========================== class Card[+T] val cgaoji = ...

  7. DIV的变高与变宽

    代码: <!DOCTYPE HTML><html><head> <meta charset="utf-8"> <title&g ...

  8. HTML5实时语音通话聊天,MP3压缩传输3KB每秒

    目录 一.把玩方法 二.技术特性 (1)数据传输 (2)音频采集和编码 (3)音频实时接收和播放 三.应用场景 自从Recorder H5 GitHub开源库优化后,对边录边转码成小语音片段文件实时上 ...

  9. JS多物体运动案例:变宽、变高

    任务描述: 当鼠标移入"变宽"矩形时,该矩形宽度逐渐增加至400px,移出该矩形,宽度逐渐恢复至初始值;当鼠标移入"变高"矩形时,该矩形高度逐渐增加至400px ...

随机推荐

  1. thinkphp---ajax实现删除

    $(document).ready(function(){ $("a[data]").click(function(){ var data = $(this).attr('data ...

  2. Python_struct模块操作二进制文件

    ''' 使用struct模块写入二进制文件 ''' import struct n=130000000 x=96.45 b=True s='a1@中国' sn=struct.pack('if?',n, ...

  3. PAT1094:The Largest Generation

    1094. The Largest Generation (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...

  4. mybatis延迟加载详解

    http://www.cnblogs.com/selene/p/4631244.html http://blog.csdn.net/eson_15/article/details/51668523

  5. springcloud禁用动注册正在运行的服务

    @EnableDiscoveryClient(autoRegister=false)或者在配置文件里spring.cloud.service-registry.auto-registration.en ...

  6. Java 8 Optional类深度解析(转)

    经常会遇到这样的问题,调用一个方法得到了返回值却不能直接将返回值作为参数去调用别的方法.我们首先要判断这个返回值是否为null,只有在非空的前提下才能将其作为其他方法的参数. 新版本的Java,比如J ...

  7. Tiny4412之外部中断

    一:外部中断 在之前我们学习按键驱动的时候,我们检测按键有没有按下是通过轮循的方式(也就是我们说的死循环),这样虽然可以检测实现按键,但太浪费系统资源了,不论我们按键中断有没有发生,cpu都要一直进行 ...

  8. java 各数据类型之间的转换

    String —> Date SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date ...

  9. Fedora Linux安装deb包

    前言: 我们知道,在Linux系统上有两种主要的软件包格式,分别是RPM和deb. RPM是"RPM Package Manager(RPM软件包管理器)"的递归缩写.RPM是一种 ...

  10. python基础autopep8__python代码规范

    关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性. 官网地址:http ...