当前位置: 微商日报>热点 >

Cavern - 神奇的沉浸式音频开源实现-环球新视野

来源: 哔哩哔哩 | 时间: 2023-01-25 01:02:57 |

第一次在B站写专栏。如果有什么做的不对的地方,还请指正并见谅。本来有关技术的东西我都会写在cnblogs我的博客上的,但整理了这个之后我想了想发现有关影音技术的东西,尤其是有关杜比这些似乎都集中在B站投稿视频,又着实想试一试B站的专栏功能,索性写在这里了。

事情是这个样子的。这天我还像平时一样在Github上冲浪,突然一个项目吸引了我:


(资料图片)

https://github.com/VoidXH/Cavern

如它的描述,这是个“基于对象的声音系统引擎”,提供了杜比全景声混音的编码器包,及房间定位,HRTF等工具,还有一个Unity插件。乍一听像是个瑞士军刀一样的东西,听起来挺有意思。于是乎去查找其资料。发现国内的大佬们也早已发现它了。而其中一位巨佬的留言着实吸引了我:

???天底下有技术居然能在缩混了的eac3里拆出全景声数据来???

想想都很有意思。立马下载研究之。

http://cavern.sbence.hu/cavern/downloads.php

从其官网我们可见,它提供了多个工具,包含一个空间定位工具用于调试家庭影院、一个MPC-HC的遥控系统、一个用来在游戏里开发沉浸式音频的API、还有几个小工具、一个编码器。这个编码器就是今天的重头戏。

非常简洁干脆的一个GUI。一个打开文件的选项,一个送去渲染的选项,没了。那么咱们就按大佬的说法,找个有杜比全景声的EAC3音轨试试。

让我们康康这个演示片的信息。

很完美的一个实验品,让我们解封装出来:

可见mediainfo显示其包含了15个空间对象和一个音床。那么接下来让我们交给这个神器试试看。

这个程序只有几百KB,其依赖ffmpeg来做一些编解码,所以要先选择Locate FFmpeg来选择一个ffmpeg的exe,让程序调用它来干一些活。

那么我们Open Content,选择上这个音轨:

可见,它成功读取出了这个音轨的信息。 EAC3 JOC文件,8个声道,1个音床,15个动态对象,42秒长,48khz采样率。Output给了我们很多格式可以选择。打开看看:

可见,它可以将这个EAC3音轨转换成许多种格式,Opus,FLAC,线性/浮点PCM,普通ADM BWF和惊到了我们的杜比全景声ADM BWF母版。

那么难道说我们只要选择最后一项导出杜比全景声ADM BWF母版,就能还原出空间数据实现拆解全景声数据吗?试试即知。选择这一项,Render Now。选择一个位置保存。

40多秒的内容,大约花了5秒渲染完成。8.5MB的音轨渲染成了130MB的WAV。mediainfo可见,其是个完整的杜比全景声母版,并且标记了是用Cavern编码的:

所以,这是个真母版吗?导进达芬奇FairLight看看,惊人的事情发生了:

没错,它真的把分轨和空间数据还原出来了。。。

。。。

不过,这就代表着这是个神器了吗?。。。

可能。。。不完全是。

因为毕竟eac3是一种编码后的格式,它还是被缩混了。

再加上这个程序有一定的bug。。。

比如如果你选择solo一段轨道,比如只听人声,你还是能听到一定的其它声音。

毕竟,eac3这么一混,空间对象只剩下了15个。原始母版肯定很宏大,不会只有这么点东西的。

所以,每一轨一定是缩混了多个轨道的数据。想要真还原出原始的母版看来还是不可能的。

用我们已经有母版文件的杜比全景声演示片Nature's Fury就能看得出。各位可以比较下这两个视频,很容易看出,原母版中还是有大量信息被缩混故此缺失了。

另外,TrueHD全景声技术细节仍然不明,所以它也没法解TrueHD全景声。TrueHD想返回母版只能分为16声道,不含真全景声元数据。

那么,这个可能有什么用呢?

1、提取分轨

如果你能找到混着杜比全景声EAC3音轨的音乐MV,你就可以像这样返回母版文件,然后导入任何能读杜比全景声母版的软件里,就能导出每个空间对象的solo,实现导出分轨了。

不过正如上面所说的,eac3还是被缩混了的一种格式,外加这程序的一定bug,所以还是在一个轨道里能听到一定的其它轨道的声音。所以并不是很实用。不过如果你很想要伴奏或干声,而这首歌又能找到杜比全景声视频里面混着EAC3全景声音轨,这不失是个可以选择的办法。

2、EAC3转到TrueHD

既然能回到母版那就好办了。我们提取出EAC3音轨用它返回ADM BWF母版,再把这个母版交给DEE或DME就能拿去编码全景声TrueHD了,而且是真全景声,数据都是全的。

不过,因为之前编码到EAC3造成的音质损失,肯定是挽回不了的。

3、玩(雾)

就是玩呗,反正开源免费(大雾),拆几个大佬作品的音轨看看真大佬们都是怎么混音全景声的,就此可以学习以充实自己。

所以说,它到底是怎么做到的?它怎么知道EAC3的编码技术细节?

cnlang的大佬们说,是杜比已经泄露了EAC3全景声的技术详情。。。

也就是说,现在全景声也正走在和当年杜比数字一样的路上——曾经的专利独占技术,到后来人人可制作,人人可触及。。。全民全景声越来越近了。时代之所趋啊。

至于这个工具,还是很期待它日后能更完善的。当然,这个项目的其它工具也很值得研究研究。

反正它是开源的,懂编程编码的朋友,可以去看看其源码,或许能了解更多的技术细节。

就是这样,如有任何错误欢迎指正。当然还想说明,我是纯小白一位,如果有大佬路过,还请包涵,谢谢各位!

本文有大量参考cnlang论坛各位大佬的意见,在此致以诚挚的感谢!

标签: 家庭影院 FFMPEG FLAC LEVIATHAN 瑞士军刀