在线音乐领域一直是各大资本巨头投资的热点,从抢占版权到现在的“云上之争”, 主流平台的战火从版权资源转向创新领域扩延。而如今,在线K歌正在成为抢占“云音乐”市场的重要砝码。

据统计,截至2019年,在线K歌用户规模已经接近3亿,网民渗透率达到了67.9%;在线音乐领域累计用户分布中,在线K歌用户比重逐渐增长。因为疫情的原因让人们积攒许久的线下消费需求迁移到了线上,为本就火热的在线K歌行业又添上了一把分量十足的干柴。

以往的几年中,在线K歌领域一直是唱吧与全民K歌的轮番较量的地盘。而这两年,它们将面临全新的挑战者。在阿里巴巴推出“唱鸭”和“鲸鸣”两款在线K歌App之后,网易云音乐终于也坐不住了,推出一款名为“音街”的全新App,同时其他互联网公司背靠雄厚资本的“音遇”、“咪哒”也相序推出在线 K 歌场景。资本的看重以及玩法的多样化,都加快了在线K歌行业的发展。

当下主流在线 K 歌场景技术方案

在介绍 anyRTC 在线实时 K 歌解决方案前,我们先来回顾下目前在线 K 歌行业常见的在线合唱玩法,以及真正的“实时合唱”面临了哪些技术难点?

体验过在线 K 歌的用户都了解,目前几乎所有的在线 K 歌都是通过录制合唱串行合唱两种方式实现,以主唱A、合唱B、听众C为例进行讲述:

录制合唱: 主唱 A 根据伴奏演唱-》完成后点击上传-》合唱B选择带有 A 歌声的伴奏再演唱-》录制完成后间接完成合唱-》完成后点击上传-》观众C进行在线点播合成的演唱。

串行合唱: 主唱 A 发起合唱(本地伴音混音) -》主唱 A 的歌声+伴奏发给合唱 B -》合唱 B 加入一起唱。

串行合唱 的技术架构在用户体验上有以下缺陷:

  • 对于主唱来说,听到合唱返回的歌声延迟很大。所以在主唱一般不拉取合唱者的音频流,主唱无法听到副唱的歌声,这样导致主唱不清楚合唱者歌唱的效果,在线 K 歌氛围因此很薄弱。
  • 难以支持三人及以上的合唱。多人实时合唱在串行方案中实现起来十分复杂,很难真正落地。
  • 听众听演唱的歌曲的时候也会觉得合唱者没有跟对节拍,从而对点评结果产生影响。

因此,anyRTC 推出了"真实时"在线多人合唱方案。

anyRTC 实时合唱解决方案

基于上述技术难题,anyRTC 推出一体化实时合唱解决方案,以超低延时、多端同步、多人合唱、出色音质等功能优势直击用户体验痛点。

anyRTC 实时合唱方案架构大致如下:

合唱各端在连麦的基础上同时播放歌曲伴奏,然后上麦进行合唱,双人模式下主唱和合唱可以互相听到对方声音,多人模式下合唱者之间都能听到彼此声音,几乎感受不到延迟,达到了真正意义上的实时合唱。

  • 主唱端与各个合唱端同时从本地获取 BGM,随着伴奏同时开启演唱
  • 主播端发送两路音频流,本地的 BGM 和 Mic
  • 合唱端不订阅主唱端的 BGM 音频流,只订阅其他端的 Mic 音频流
  • 观众订阅所有的音频流便可享受到演唱者们“0延时”的合唱效果

在实时合唱方案中,anyRTC 主要解决三个问题高音质、超低延迟同步伴奏人数限制

在实时方案的实现中,anyRTC 以保障音质为基础,对“采集、前处理、编码、传输、解码、渲染”全链路进行了延迟优化,将延迟降到了科学合理的 66ms 超低感官延迟。

高音质

anyRTC 通过业内领先的语音引擎,实现从低比特率的窄带语音扩展到高质量的立体声音乐,并支持从8kHz(窄带)到48kHz(全频带)采样,最高支持 196K 的码率。领先自研的 3A算法(回声消除 AEC、自动噪声抑制 ANS、自动增益控制 AGC)则有效解决了anyRTC 在通信中可能出现的的回声、啸叫、噪音等问题。进一步保证了出色的音质。

anyRTC 内置实时美声功能。在原有低延时、高音质的基础上,针对歌唱场景采用链路式多模组联合算法框架,对人声的音调、音色、韵律、节奏、空间、氛围甚至艺术类型等不同维度进行调整,使歌声更动听、更契合伴奏,同时又能保留歌手声音原有的特点。

超低延迟

设备端上的延时包括采集端的采集、前处理、编码,播放端的接收、解码、渲染过程产生的延时,以及两端在编码后和解码前产生端网络延时。anyRTC 在编解码算法上进行调优,层层优化各个环节里延迟的因素。

网络的延迟也是实时合唱中必须要关注的环节,终端用户网络复杂、运营商参差不齐、容易产生网络抖动。anyRTC 全球部署服务节点,通过就近接入策略,让使用者就近接入质量最好的数据节点;加持拥塞控制算法、Qos/QoE最优化策略、多人通信流控算法等有效减少通信中的卡顿延迟问题。

同步伴奏

合唱同步: 精确服务时间,主唱和合唱约定好精确的唱歌时间点进行歌曲播放。

观众同步: 为了保证歌词在多端的同步及观看与合唱的同步,anyRTC 在方案上采用了SEI进行歌词同步,歌词信息和音视频信息在同一个媒体通道传输,这样可以保障歌词和音视频同步。歌词进度由主唱端发送,观众端接收到时间戳后,再根据时间戳把关键歌词行高亮。达到歌词同步展示的效果。

人数限制

传统的在线 K 歌最多人数为2人,人数越多,不可控的因素越多,导致体验效果极差。anyRTC 实时合唱解决方案,针对多人实时合唱落地难题,合唱用户采用本地伴音,强制时间差对其,多人实时合唱跟2人合唱的效果一样,目前 anyRTC 支持同时上麦人数最大为 50 人,观看用户不限制。

实时合唱解决方案支持多人实时合唱,能够在高音质的前提下,进行超低延迟通信,端到端延迟低至 66 ms,精准同步各端之间的伴奏与人声,不受合唱人数的限制,接入成本低且扩展容易。

结语

anyRTC 实时合唱作解决方案助力在线 KTV 玩出更多花样,让产品在众多产品中出类拔萃,提升用户活跃度与留存率,协助产品探索出更多商业价值,提升营收空间。未来,anyRTC 也将持续深耕技术,提供完善的解决方案,以技术创新助力客户增质提效。

anyRTC 重磅推出在线实时 K 歌解决方案的更多相关文章

  1. 在香港用什么软件可以唱歌?香港K歌app推荐

    KTV的源头来自于日本,KTV是Karaok TV的缩写.随着互联网时代越来越发达,手机K歌成了很多人会选择的方式,那么在香港有什么好用的K歌软件呢?这里qt6小编给大家推荐几款好用的,让你足不出户即 ...

  2. OSS上传图片无法在线预览的解决方案

    OSS上传图片无法在线预览的解决方案 最近在做的项目涉及到商品详情,由于前端用的flutter框架并且该详情为富文本,dart语言关于富文本的组件不是非常友好,当富文本中的图片无法在浏览器中直接预览的 ...

  3. 犀利的background-clip:text,实现K歌字幕效果

    今天学到了一个新的CSS3属性,更准确的说是属性值,那就是background-clip:text.利用此属性值可以制作出很神奇的效果.可惜只有chrome支持,不过今天可以先来玩玩这个属性. 先来介 ...

  4. TogetherJS – 酷!在网站中添加在线实时协作功能

    TogetherJS是一个免费.开源的 JavaScript 库,来自 Mozilla 实验室,可以实现基于 Web 的在线协作功能.把 TogetherJS 添加到您的网站中,您的用户可以在实时的互 ...

  5. 玩一玩nodejs--一个简单的在线实时填表应用

    学习nodejs三天,入了个门,感觉他和jsp.php还是存在较大的差别.本文首先复习这些天学的一些知识点,然后谈一下如何一步一步到做一个在线实时填表的小应用,进一步巩固一下这些个知识点.这里先简单介 ...

  6. python爬取全名k歌

    python3 爬取全名k歌 代码: import re import requests import ssl ssl._create_default_https_context=ssl._creat ...

  7. 【收藏】轻松导出全民K歌里任何人录制的短视频(MV)、歌曲的方法

    有一次想把她在全民K歌里唱过的所有歌下载到电脑上,然后合成一个视频.但不知道怎么导出全民K歌里的歌曲,经过各种百度Google终于找到了一个用起来很简单的工具.不仅可以下载保存任何人录制的歌曲,还可以 ...

  8. python3爬取全民K歌

    Python3爬取全民k歌 环境 python3.5 + requests 1.通过歌曲主页链接爬取 首先打开歌曲主页,打开开发者工具(F12). 选择Network,点击播放,会发现有一个请求返回的 ...

  9. 数据结构与算法实验题 9.1 K 歌 DFS+剪枝

    数据结构与算法实验题 K 歌 ★实验任务 3* n 个人(标号1~ 3 * n )分成 n 组 K 歌.有 m 个 3 人组合,每个组合都对应一个分数,你能算出最大能够得到的总分数么? ★数据输入 输 ...

随机推荐

  1. Linkerd 2.10(Step by Step)—设置服务配置文件

    Linkerd 2.10 系列 快速上手 Linkerd v2.10 Service Mesh 腾讯云 K8S 集群实战 Service Mesh-Linkerd2 & Traefik2 部署 ...

  2. Jenkins用户权限管理-Role-based Authorization Strategy插件

    02-Jenkins用户权限管理-Role-based Authorization Strategy插件 在jenkins的使用过程中,需要给用户分配只管理特定项目的权限来保证项目相关人员只能管理对应 ...

  3. redis字典快速映射+hash釜底抽薪+渐进式rehash | redis为什么那么快

    前言 相信你一定使用过新华字典吧!小时候不会读的字都是通过字典去查找的.在Redis中也存在相同功能叫做字典又称为符号表!是一种保存键值对的抽象数据结构 本篇仍然定位在[redis前传]系列中,因为本 ...

  4. java 的 IO简单理解

    首先要先理解什么是 stream ? stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源. 一.不同导向的 stream 1)以字节为单位从 stream 中读取或往 st ...

  5. maven与eclipse的集成

    由于篇幅问题,本文将不介绍maven的安装和配置. 一.maven的概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平 ...

  6. linux--------find命令之xargs

    p.p1 { margin: 0; font: 18px "Hannotate SC"; color: rgba(4, 51, 255, 1); -webkit-text-stro ...

  7. 我是如何用redis做实时订阅推送的(转)

    前阵子开发了公司领劵中心的项目,这个项目是以redis作为关键技术落地的.       先说一下领劵中心的项目吧,这个项目就类似京东app的领劵中心,当然图是截取京东的,公司的就不截了...   其中 ...

  8. HCNA Routing&Switching之路由基础

    在开始聊路由之前,我们首先要明白在网络通讯里,什么是路由?什么是路由表.路由器以及网关的相关术语:路由简单讲就是指网络数据包从源头到目标的路径,主要用来为不同网络间通讯提供数据包转发依据:路由表就是多 ...

  9. asp.net mvc中的路由

    [Route] 路由 [Route("~/")] 忽略路由前缀 [Route("person/{id:int}")] 路由内联约束 [Route("h ...

  10. CF1539C Stable Groups[题解]

    Stable Groups 题目大意 给定 \(n\) 个数 \(a_i\) ,你可以将这些数分成若干组,但每一组的元素满足按升序排列后,相邻两个元素值的差不超过 \(x\) .在分组前,你可以向这些 ...