AI 玩即兴音乐, 为时不远了.

枫林晓
楼主 (文学城)

今天看到一篇简中文章. 描述了AI即兴演奏的可能性. 大概看下来, 似乎作者承认即兴还有困难, 不过只是资源上的限制. 资源够了, 完全可以和人一样玩即兴. 人玩机型的时候因为有主题和情绪, 所以实际上对人脑的算力要求小得多, 但是时间长了, 脑子会断篇. 很难超过10分钟而不乱. 机器却没有这个限制.

我虽不是专业, 但是大概理解的AI即兴流程, 涉及到缓冲, 实际上人即兴也是一样的. 这么看来, AI能力的边界其实不是AI算法和玩法, 应该是肉人本身的极限.

换句话说, 肉人能做的, 只要将肉人的行为模式分析清楚了, 告诉机器, 机器完全可以从方法论上模拟人的几乎一切行为.

这么看来, AI意识也不是不可能, 一旦人搞清楚了自己的意识真相, 秘密就回被AI攫取, 进而模拟出类人的意识. 这有点瘆人了. 人最好不要继续研究意识了.

看完这篇, 感觉凉透了, 以为人在现场即兴演出中还有优势, 乐手们还有饭碗, 现在看, 不一定了. 搞个机器人壳子, 然后AI音乐给足了算力, 完全可以娱乐喝醉了的肉身们…

、音乐创作交互的即兴反馈

不论做什么,我们都绕不过去两件事情。

第一件事情是音乐创作中的即兴反馈。所有的计算都需要时间,尤其是AI模型。假设横轴是时间轴,虚线时用户进行了一次操作,想要更加劲爆一点的音乐。一般情况下是用户操作完成之后,开始计算。计算时音乐会暂停,等计算好之后才会反馈。这样带给用户的体验很不好,中间需要等待很长时间。如果把计算时间缩短,在100、200ms左右或者更低时,可以算作即时反馈。但是这里有一个难以解决的问题。音乐本身有节奏,会像一把尺子一样衡量时间。即便是100ms的延迟,也会明显感觉到这里的卡顿。所以单纯缩短计算时间不是最优解。还有一种想法是在计算时继续播放,播放到一定时间点时,在合适的位置切断。这样带来的问题是过于生硬。

那么即兴反馈到底是什么呢?音乐播放时,用户进行一定的操作,接下来计算的,不仅仅是接下来要播放什么,而是接下来一段时间应该用什么样子的演奏方式使得它无缝衔接到你想要的状态。音乐播放本身就是一个耗时的过程,如果计算时间小于聆听所需要的时间,即兴就可以做到。即兴也意味着不再提前准备很多音频播放,而是边渲染边播放。

 

图片1080×608 457 KB

 

这就牵涉到前端的渲染过程。首先看一下音频引擎。以手机为例。手机有一个扬声器,其背后有一个叫做音频线程的东西。这个音频线程一般是操作系统里最高优先级的一个线程。它会把音频分割成很小的切片,例如256个采样点。在48000的采样率下,大概一个切片的时间长度是5.3ms。之后将切片循环加入音频,实现队列播放。任何一个音频文件,都会被切成很小的片段。音频线程将切片移交给扬声器,再通过回调函数获取新的256采样点的切片。如果不从内存里直接给扬声器切片,而是通过快速计算持续生成音频切片,就可以实现实时播放。

在回调函数里,放入图中所示的连接图,连接图可以模拟类似混音台的功能。左边类似虚拟乐队的乐手们,每一个都会接受控制信号。之后就会在连接方块里进行DSP数字信号处理的算法。最后再进行一些加工输出音频。播放完成之后,再经过5.3ms,会有新的一轮回调,重复上面的步骤即可。

虽然看上去很简单,但是每一个方块里面都是他自己数字音乐信号的结果,融合起来虽然很及时,但风险也是并存的。每5.3ms要消耗256个采样点,这意味着每256个采样点计算的时间都必须小于5.3ms。虽然增加缓冲可以降低要求,但是增加缓冲意味着延迟增加。想要尽量降低延迟,计算负载就不能太高。

 

图片1080×608 303 KB

 

下一个需要解决的问题是如何让多个乐器可以同步播放。其实只需要给每个乐器一个相同的播放头就可以了。我们会设置两个播放头,红色的叫做计算播放头,黄色的叫做渲染播放头。红色的部分会先运行,稍早于实际时间。计算播放头会动用一些AI算法,将中间生成的结果变成一个一个音频控制信号放在缓冲区中。当黄色渲染播放头刷过去时,会经过这些缓冲区的信号,全部发到相应的轨道上,就可以同步处理了。而且得益于提前一点的计算,不用过分担心高负载。

x
xerl
省流:iPhone 28解锁更多新福利
还依
赞一个,回头来细看了!
偶尔闪闪
老枫一向玩得挺高技术的哈:)慢慢学习。。
枫林晓
28? 没见过啊.
枫林晓
哪有, 我一个技术盲,,,就是感慨AI能做到的太多.
老地雷
感觉看半天有点儿云里雾里,是不是就是要强调下面就着重研究如何将计算时间小于5.3ms就可以AI即兴了,是这意思吗?
枫林晓
本文, 我的意思是, AI可以做到一切人类的行为, 只要行为机为机理清楚. 肉人即兴的真正原理和流程, 还没研究清楚吧.
枫林晓
最艰难的肉人行为机理, 就是所谓意识, 如果全人类不研究意识了, 这样机器也不会觉醒意识.
老地雷
我的老師給我們歸納了幾點AI不能代替的,分享一下
还依
为啥AI要模拟人类即兴的过程,直接模拟即兴风格不就可以了吗?~~
枫林晓
不一定, 1. 两个肉人双solo, 最为精彩的即兴, AI其实只要算力足够, 是可以做到的.

2. 第二点要看是什么风险, AI能够理解的风险, 完全可以计算进去. 不可以理解的, 当然是另一回事.

3. 好玩, AI的确木有这能力, 但是表面模拟好玩, 也是小Case.

人能做的, 只要其机理清楚, AI都能做, 

人不能做的, 比如理解和刨析意识, AI也不能

因此只要人不懂, AI也不行,. 

 

这是我观察AI入侵人类到目前为止, 最主要的结论.

 

希望这结论不会被推翻吧, 否则, 人类不明白意识, 反而然AI自己先搞懂了, 那就是人类的末日.

枫林晓
即兴不是说生成一段音乐, 更多的是, 根据已有的音乐, 在几毫秒内, 理解并生成新的小节. 机器目前还不行, 主要是算力

还有就是应和的即兴, 两把乐器都是即兴, 互相迎合应和. 机器就更难做到, 当然了, 还是算力, 你给足了算力, 它照样模拟. 而且听不出滞后.

还依
你说自动驾驶需要的算力大还是即兴演奏需要的算力大?
枫林晓
不知道啊, 音频压缩和token压缩技术, 视频压缩token压缩技术, 不知哪个更难, 不是搞技术的...
枫林晓
而且这里说的算力并不是洪荒之力, 指的是合理的消费者能分配的算力, 达到即兴还不行.
还依
谢谢