写点什么

人工智能时代,如何硬核“玩”音乐?

  • 2021-11-26
  • 本文字数:7476 字

    阅读完需:约 25 分钟

人工智能时代,如何硬核“玩”音乐?

中国计算机界一年一度的顶级盛会 —— CNCC2021( 中国计算机大会)将于 12 月 16-18 日在深圳拉开帷幕。InfoQ 极客传媒已正式成为 CNCC2021 的战略合作媒体。作为合作的一部分,《InfoQ 大咖说》与 CCF 联合推出了高端访谈栏目《技术风云 | 对话 CNCC》。

 

《技术风云 | 对话 CNCC》高端访谈栏目将以直播对话的形式,从纵览计算机发展的视角出发,特邀来自 CNCC2021 的顶尖专家学者、科技企业的技术领袖,围绕 AI、数字化转型、计算+ 、云计算、开源、芯片等前沿技术展开广泛探讨,带来学术、技术、产业等全方位的深度解读,推动计算领域创新技术更广泛的传播、讨论和变革,帮助 IT 从业者开拓视野,紧跟时代。

 

在人工智能技术迅速发展的当下,越来越多的领域被这项技术注入新的活力。作为多媒体领域中不可缺少的组成部分,音乐对于人类的重要性不言而喻。值得一提的是,人工智能在音乐领域的研究早在多年前就已经开始了,并且也落地了很多成熟应用。

 

11 月 10 日,InfoQ 和 CCF 联合推出的大咖说栏目《技术风云 | 对话 CNCC》第 7 期直播开播。本期大咖说,我们邀请到了微软亚洲研究院主管研究员,也是 CNCC 2021 的讲者——谭旭老师 ,来跟我们聊聊在人工智能时代,如何硬核玩音乐。 

 

以下内容节选自当天的分享,InfoQ 做了不改变原意的编辑:

 

InfoQ:谭旭老师好,非常开心可以有机会和您进行交流,可以先和大家打个招呼吗?

 

谭旭:大家好,我是微软亚洲研究院主管研究员谭旭,我的研究领域主要包括机器学习、自然语言处理、语音和音乐相关方向,尤其是在文字、语音和音乐的内容创作方面开展了一些研究。在 AI 音乐方向,我们围绕着 AI 音乐的理解和生成做了一些研究工作。相信通过 AI 技术能给音乐领域带来新的生产力和创造力,帮助到音乐从业者。

 

InfoQ:您作为 CNCC2021 计算艺术论坛讲者,能分享下您与 CNCC 之间的故事吗?您加入的契机是什么?

 

谭旭:CNCC 中国计算机大会是由中国计算机协会组织的非常有影响力的会议,今年 CNCC2021 的主题是计算赋能加速数字化转型,主要探讨计算和人工智能技术如何加速各个行业的数字化转型。近几年,计算机音乐、人工智能音乐取得了快速发展,受到学界和业界的广泛关注,大家也普遍认为,计算机及人工智能技术能给音乐行业数字化转型赋能。我在微软亚洲研究院的团队围绕 AI 音乐开展了一系列的研究工作,也是这个领域的见证者和参与者。希望借这次 CNCC2021 大会,能和大家共同探讨人工智能技术在音乐,尤其是音乐创作领域的发展现状、行业机遇、目前面临的问题以及未来的发展方向,也希望能吸引更多志同道合的朋友们加入进来,推动这个领域发展进步。

为什么说音乐适合与人工智能相结合?

 

InfoQ:人工智能技术与音乐相结合听起来非常有趣,主要的结合点有哪些?您能整体介绍一下吗?

 

谭旭:在回答这个问题前,我想先解答下可能大多数人心中的一个疑惑:音乐作为一门艺术,怎么会和人工智能或计算机这么偏重逻辑、理工的领域有结合呢?

 

要回答这个问题,就得先谈音乐的本质。音乐背后是有乐理的,几千年来,人类一直在探索音乐背后的乐理,像早期古希腊、古罗马的科学家、数学家、音乐理学家就在研究,为什么人听一段音乐会感觉到和谐。比如毕拉格拉斯就曾发现,音调的音程实际上是和弦长成一定比例的,而不同的声音一定会有一些频率组合,这样组合起来才会产生悦耳的声音。柏拉图也提出过,天文学里的很多运动轨迹,和音乐里听到的一些音程的和谐,是有很多关联的。这些例子能够说明,音乐背后是有非常严谨的逻辑的。

 

我们生产一段音乐,最重要的是要让不同声音组合在一起能够和谐,这个和谐来自于人的听感,能产生共鸣,而共鸣实际上就是物理学的声波共振。两个音组合在一起能够和谐,一定是它们的共振或谐波比例是比较协调的。这说明,音乐的背后是有很深的数学上的逻辑关系的,音乐是适合计算机或人工智能去做处理的。

 

音乐本身也是有严谨的结构框架的,像小说、电影需要有起承转合,需要推动故事情节,音乐也是如此。在音乐中,推动情感发展的是和弦,和弦能起到音乐的情绪推进作用,比如大家熟悉的和弦 4536251 或者卡隆。此外,音乐要想好听还需要具备一些其他因素,比如配器规则、编曲技巧等等。这也解答了为什么艺术是可以和计算机、人工智能相结合的。

 

其实最早可以追溯到十五、十六世纪,就已经有计算机音乐方向的研究了。比如在古典音乐前期,像莫扎特就曾做过一个有趣的音乐实验,他把一段音乐先分成很多片段,每个片段就是一小节,然后再摇骰子,摇到什么就选择哪个片段去组合,最后组合出来的音乐还挺好听的,这在计算机音乐圈被认为是计算机音乐的鼻祖。

 

至于人工智能技术和音乐的主要结合点,我大概从以下两个方面来做解读。

 

第一,从音乐本身的数据表现方式来做解读。我们可以粗略地把音乐的表示形态分为两种,一种是我们常见的曲谱、歌词这些符号化的音乐表示方式,另一种是有了曲谱会发出声音,通过歌手唱出来,通过播放器播放出来,或是通过音乐软件渲染出声音传到人耳,这也是更为常见的音乐的表达方式。人工智能与音乐相结合,其实就是将人工智能技术在这两种音乐模态上去发挥一些作用。比如我们可以利用自然语言处理技术,如语言理解、语言生成,来帮助音乐的理解和生成。

 

第二,从音乐涉及的一些任务来去解读。比如我们可以把音乐粗浅地进行二元划分,一方面是假设我们已经有了音乐,需要对音乐进行处理、理解、检索、转换、加工等等。另一方面,假设我们没有音乐,需要去创造音乐,具体包括制作旋律、词曲写作、伴奏编曲、音色的合成、混音、歌词合成等等。这些刚好对应人工智能技术里比较常见的数据理解和数据生成。

人工智能 + 音乐的应用与技术挑战

 

InfoQ:您本人也做了一系列 AI 音乐研究,包括音乐理解、词曲创作、伴奏生成、歌声合成等,它们的实现难度和实现路径分别是什么样的?主要会涉及哪些技术和方法?

 

谭旭:我和我的团队在 AI 音乐生成方向上做了一系列的工作,尤其是围绕流行音乐,具体包括词曲创作、伴奏编曲、歌声合成等等。我们在围绕这些流程去开展相关研究的时候就发现,要想做好音乐生成,离不开对音乐的理解,你需要对音乐的节奏、和声、曲式结构、情感风格有较好的理解。

 

我们的整个研究主要围绕理解和生成两个方向进行。在音乐生成方向,商品化音乐的整个制作流程是非常长的,涉及很多技术链条。举个例子,创作一首音乐最基本的就是词曲创作,从词到曲这个创作过程用 AI 的方式来解,就是一个典型的序列到序列学习的任务,输入一个歌词系列,输出一个旋律系列。目前市面上的开源数据集是非常少的,歌词旋律的配对数据是非常缺乏的。我们解决这个问题的方式就是引入预训练,利用大规模的非配对数据来训练模型,实现歌词的旋律生成。

 

随着研究的深入,我们发现歌词、旋律和一般的序列到序列学习的任务还是不一样。比如在人工智能领域里,一些常见的序列到序列学习的任务像语音识别、语音合成、机器翻译,输入和输出有很强的语义对应关系,一段语音识别出来的文字就是对应语音中的某个片段,不会漏掉,也不会增加。但一句歌词可以对应多段旋律,一段旋律也可以有多个歌词去匹配它,这是一种很弱的耦合。如果我们还用传统的人工智能序列到序列的学习方法去解决这个问题,那么不可避免地需要大量的训练数据,因为它的逻辑很弱。

 

这个时候,就得换个方式去解决它,比如找到歌词和旋律里真正产生耦合的信息做中间的桥接,把歌词和旋律这个任务拆成两阶段,歌词到了桥接再生成旋律。我们最近开展的一个工作就是通过一些音乐的线性知识去定义怎么桥接歌词旋律,先从歌词里提取出中间的模板旋律,也可以提取节奏信息,或是句子结束的信息来作为第二阶段,从这个模板信息生成最后的旋律。这样做的优势在于,第二阶段的模型只需从旋律里边抽出音乐模板即可,这是一个自监督的学习过程。而第一阶段就是歌词的模板,它是可以通过规则人为去决定的,或者通过一些辅助的监督训练的方法,从歌词抽取到模板,这样就能解决我们之前提到的耦合很弱,需要很多数据的问题。

 

从实际的生成效果来看,这样做也确实比之前的方法更好,并且基本不需要任何配对的歌词到旋律数据,就能实现比较好的旋律生成效果。当然,从歌词到旋律还有很多路要走,比如怎么能让旋律匹配到歌词里的意境、情感或是主题,这些都是以后需要持续探索的。

 

再举一个歌声合成的例子。歌声合成是曲谱和歌词合成声音,实际上它和语音合成非常类似。两者相比最大的区别在于,语音中的人声音高和时长基本上是比较平稳的、确定的,比如男生音高大概是一两百赫兹,女生音高大概是两三百赫兹。但歌声却不一样,一个八度频率就会翻倍,这么宽的频带会给建模带来非常大的挑战。另外,唱歌的时候经常容易过快或过慢,比如像 Rap 每个音发很短,而一些慢歌一个音会发很长,这种特点就会造成我们在生成音频波形的时候非常不稳定。

 

针对歌声合成中遇到过的这些挑战,我们设计了一系列工作来解决。其中一项工作是 HIFISinger,它是专门针对高保真的音频进行合成,48K 的采样率,能传达出比较丰富的歌声细节。我们通过一些改进的对象生成网络,以及系统性的设计来解决,最后合成了效果比较不错的歌声。

 

举的这些例子主要涉及哪些通用的方法呢?整个 AI 生成任务大概涉及两部分技术方法,一部分是通用的,比如人工智能里常见的自然语言生成、系列到系列学习、可控的系列生成、语音合成,以及声音生成里的声码器、常见的生成模型等等。还有一些通用的学习范式,比如半监督学习、自监督学习,或者低资源的一些机器学习。另一部分是问题特有的,只能具体问题具体解决。要想在这些任务里面做得更好,比如你要做到稳定鲁棒,要让音质的效果好,要有完整的结构和情绪推动,都存在很大的挑战。像在歌声合成里面,有很多人声特有的一些唱歌技巧,比如说颤音、滑音,或是把京剧、戏腔加入到歌声中,建模都非常困难。这是我们目前要往下进行的研究关注点,也是整个行业需要关注的一些问题。

 

InfoQ:您刚和我们介绍了目前团队在 AI 音乐方向上的研究现状以及挑战,能介绍一下当前 AI 音乐的整体应用情况吗?

 

谭旭:其实计算机音乐的应用场景是一直都有的,可能这几年 AI 刚火,大家才有 AI 音乐这个概念。在过去,大家习惯叫计算机音乐或是音乐信息检索,典型的应用场景就是帮助我们更好地组织、管理、检索、推荐音乐。此外还有音乐风格分类,通过歌词搜索歌曲等等。在音乐教学中,AI 音乐也有很多应用。比如对弹奏出来的声音进行分析,看曲谱卡拍有没有卡准,转换是否出现问题,从而帮助人们更好地去学习某项乐器。在音乐生成方向上也有一些应用,比如现在很多短视频的配乐工作,或是通过 AI 辅导人类去创作等等。我认为从目前的技术来讲,还没有做到 AI 生成的音乐是完全不需要任何人工参与,就是一个完整的产品音乐。可能随着技术的不断发展,未来或许能够解决。

 

InfoQ:您开源了 AI 音乐研究项目 Muzic,能和我们介绍下这个项目的具体情况吗?Muzic 可以解决什么问题?在技术上有哪些创新点?

 

谭旭:Muzic 是微软亚洲研究院围绕着 AI 音乐的理解和生成的研究项目,宗旨是通过机器学习和人工智能技术更好地帮助到音乐的理解和生成。项目涉及理解和生成的各个方面任务,比如音乐分类、音乐识别出歌词、歌声合成、伴奏编曲等等,未来还会有分离、识别检索的任务。AI 领域涉及的问题非常多,我们希望通过开放一些现有研究工作的源代码或项目文档资料,给到社区的每个从业者,这些从业者能基于我们的这些框架工具,更方便地做进一步研究,一起推动 AI 音乐领域的进步,也欢迎大家多多关注和使用 Muzic。

 

开源地址:https://github.com/microsoft/muzic

 

InfoQ:评论区有观众提问,音乐生成和其他比如下棋、语言理解这些任务不同,它的目标不是明确的。对于这种目标不明确的任务,我们有什么解决方案吗?

 

谭旭:像下棋或是其他任务都有一个非常强的规则体系和 Reword,就是你赢了没有,你得到多少分。而音乐实际上是一个很主观的东西,并且不同人的标准是不一样的,同样一首歌,有人听到的是喜悦,有人听到的是悲伤。我们可以从两个角度去看待这个问题,一是它本身的反馈机制不明确,这就需要我们在利用 AI 技术的时候拆解,AI 技术到底能帮到音乐里面的哪个环节。二是,AI 生成的音乐更多还是需要人工来进行评估,也就是说在整个链条里,始终有人的存在。AI 技术只是一个工具,它不可能有一个自制系统去操控或是有主观的意见去做一些事情,人在这个过程中还是要有完全自主的把控能力,最后还是需要人来做决定。

 

InfoQ:评论区有观众提问,AI 在辅助音乐创作方向上有哪些作品和应用?

 

谭旭:辅助创作的产品应用并不算多,但是有很多 Demo 是符合辅助音乐创作的。比如有很多音乐技术软件和编辑软件,你写完一段旋律的时候,AI 能马上给你补充一段旋律,并且补充的这段旋律是符合你的整个思路的,接下去也比较连贯自然。又或者,你写了一首曲子,AI 的工具马上给你配上伴奏,整个音乐也很和谐。面对这些 AI 生成的音乐,你可以完全采纳,也可以在上做一些编辑修改,去掉不合理的地方,这些一定可以帮助你减少很多成本,这也是 AI 辅助音乐创作的典型例子。当然还有很多其他应用,比如这种交互式的,我输出一句,AI 输出一句,有点像和 AI 斗琴,我弹奏一段,AI 弹奏一段,这种场景也会有。

AI 只是工具,为人类的音乐创作赋能

 

InfoQ:AI 音乐大概什么时候可以完全不需要人工参与呢?

 

谭旭:关于这个问题,可以从两种角度进行回答。一种角度是,我们是不是真正期待 AI 音乐完全不需要人类?如果 AI 真正取代了人类,不需要任何干扰就能创作出非常好的音乐,人类的位置该在哪里?另外从技术角度来看,我觉得实现起来也还很远。当然,对于 AI 音乐的最终形态,我们也不希望演化成 AI 完全取代人类,这也是不太得体的一种方式。

 

更好的方式是什么?就是人在创作过程中,通过 AI 去激发灵感,去辅助自己做出更好的音乐。AI 为人类的音乐创作赋能。人的一生能听的音乐有限,但 AI 模型训练听过上百万甚至上千万的音乐,AI 能见到大规模的不同流派、不同风格、不同编排规划的音乐,它能为人类提供很多相关的素材,能在人类的音乐创作环节中提供指导或参考。

 

InfoQ:有评论认为,人工智能技术产生的音乐是没有灵魂的,不利于音乐的发展,您如何看待这种观点?

 

谭旭:这个问题也会涉及的一点是,我们需要问自己,AI 音乐到底需不需要灵魂?动物是有灵魂的,机器需不需要灵魂?这是个哲学范畴的问题,如果机器哪天有灵魂,取代人类怎么办?它可能就不是人工智能,而是超越人的智能了。

 

另一方面,如果它没有灵魂,是不是不利于现在音乐的发展?我觉得不是的。AI 永远只是工具,是为人服务的。相比 AI,人类的优势在于有灵魂,AI 的优势在于它的数据或知识体系很完善,但最后还是需要依靠人的亲身实践。很多时候音乐创作不单是音乐本身,而且创作者在生活中遇到了什么事情,或悲伤或快乐。过去创作者可能需要花一个月甚至更长的时间创作一首歌,但有了人工智能,创作效率可以得到提升,这样的模式结合是我个人比较期待看到的。总结来说就是,人要把控最精华、最有灵魂、最有灵感的地方,而 AI 去做剩下的事情。

 

InfoQ:在未来,人工智能在音乐领域的发展会朝着哪个方向迈进?有哪些可以预见的发展趋势?

 

谭旭:从我个人的一些理解和判断来看,长远来讲,人工智能技术未来一定会取得非常大的进步。作为技术从业者,我希望能看到人工智能技术的发展,可以实实在在地帮助到音乐。

 

在音乐理解层面,我相信未来我们能够构建一个比较大规模的音乐理解模型,这个模型和现在的不一样,它可以直接对音频进行分类、分离转录等等。现在音乐领域的很多束缚还是在于把音频的一些任务转成符号,这项技术目前还是存在很多挑战的。比如我们可以把音频转成钢琴,但如果转成其他乐器,就会产生比较大的误差。如果未来的语音处理技术能真正成熟的话,那我们可以直接从音乐中把这些内容理解出来,这也能极大地推动 AI 音乐的进步。

 

在音乐生成层面,我们目前需要解决的问题在于模型的可控生成。之前提到 AI 要为人服务,人要去指定控制模型生成,或某种音乐结构,或某种曲子结构,告诉 AI 生成什么,AI 就能生成什么。如果未来真正能做到这一点,我相信能有巨大的场景应用。另外就是 AI 能不能去自动地做音色选择,或是混音,这也是我个人比较期待的。

人工智能时代下的通用内容创作

 

InfoQ:人工智能在内容创作上存在哪些优势和局限性?和真人相比,还有哪些差距?

 

谭旭:我本人对 AI 内容创作这个方向比较感兴趣,也围绕着这个方向做了很多研究。其实文本生成、语音生成以及音乐生成都属于广泛的人工智能内容创作,优势在于 AI 技术本身的一些优势,比如它能够从大量数据里去总结背后的规律,通过拟合这些规律实现模型生成。

 

在人工智能领域,我们经常能听到两个概念:感知和认知。比如图像和语音更多会涉及感知层面的生成,现在的 AI 能够生成非常逼真的人脸,以及出色的语音效果。在认知任务层面,比如 AI 需要对语言进行理解,这部分的发展还有一段距离。像之前 OpenAI 的 GPT-3 模型非常大,生成效果也不错,乍一看内容还可以,但如果你仔细去看这些内容,用一个词来衡量叫似是而非,从认知层面来推敲的话,还是和真人存在一定的差距的。当然,这也是我们这个行业以及从业者努力的空间和方向,需要在数据、算法、建模,以及整个技术路线的选择上做更多努力,这样才能在文本或音乐生成上真正取得不错的效果。

 

InfoQ:您将在今年 12 月 16-18 日召开的 CNCC2021 计算艺术论坛上带来《基于深度学习的流行音乐创作》主题演讲,能否提前剧透一下演讲中的一两个亮点?

 

谭旭:有很多大咖专家参与了 CNCC2021 计算机艺术论坛,既有来自技术界的,也有来自音乐艺术界的。我们会探讨计算机人工智能和艺术,包括计算机和音乐,或是绘画美术以及其他艺术形式的一些结合,整个内容非常丰富。

 

我主要围绕着深度学习技术在流行音乐创作中的一些工作,介绍我们团队最新的关于 AI 音乐的研究。比如我之前提到过,音乐序列是非常长的,它比一般的文本或者段落都要长很多,并且有很多重复结构,像主歌、副歌,后面又来个主歌,或者又来个副歌,它其实是有远距离依赖的重复结构的。我们针对这个问题做了一些长序列建模的工作,以及可控音乐生成。所以我也会分享这方面的一些研究进展,希望大家到时参加。谢谢。

 

如果大家还想了解关于《基于深度学习的流行音乐创作》的更多信息,请关注将于 12 月 16-18 日在深圳举办的 CNCC2021,届时谭旭老师将在大会上做精彩的报告。

2021-11-26 13:552692

评论

发布
暂无评论
发现更多内容

动态规划之0-1背包问题(详解+分析+原码)

未见花闻

6月月更

volatile的解构

卢卡多多

volatile 6月月更

RF中使用reuqests的两种方式

红毛丹

Python 6月月更

基于华为云图像识别标签实战

乌龟哥哥

6月月更

模块八作业

库尔斯

#架构实战营

LabVIEW控制Arduino实现超声波测距(进阶篇—5)

不脱发的程序猿

单片机 LabVIEW Arduino VISA 超声波测距

LabVIEW控制Arduino实现红外测距(进阶篇—6)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 红外测距

leetcode 257. Binary Tree Paths 二叉树的所有路径(简单)

okokabcd

LeetCode 搜索 数据结构与算法

ConcurrentHashMap 源码分析-put方法

zarmnosaj

6月月更

预解析与作用域

Jason199

js 全局作用域 作用域 6月月更

使用 select 切换协程

宇宙之一粟

golang 6月月更

WWDC22 开发者需要关注的重点内容

37手游iOS技术运营团队

iOS16 WWDC22 Xcode14 iPadOS16 macOS10.16

BottomSheetDialog 使用详解,设置圆角、固定高度、默认全屏等

yechaoa

android dialog 6月月更 material design

【Spring 学习笔记(十)】Spring 使用注解整合 Mybatis

倔强的牛角

Java spring Java EE 6月月更

思科私有动态路由协议:EIGRP

wljslmz

动态路由 6月月更 路由协议 EIGRP

5分钟了解攻防演练中的红蓝紫

穿过生命散发芬芳

6月月更 攻防演练

什么是Vue3的组合式 API?

源字节1号

软件开发 小程序开发

LabVIEW Arduino电子称重系统(项目篇—1)

不脱发的程序猿

单片机 LabVIEW VISA ​Arduino Uno 电子称重系统

Java—并发容器

武师叔

6月月更

flutter系列之:flutter中常用的container layout详解

程序那些事

flutter 程序那些事 6月月更

直播预告|FeatureStore Meetup V3 重磅来袭!

星策开源社区

机器学习 开源 DevOps 特征平台 MLOps

消息队列存储消息数据的 MySQL表

Dean.Zhang

消息队列入门MQ

卢卡多多

MQ 消息队列 6月月更

向线程池提交任务

急需上岸的小谢

6月月更

【愚公系列】2022年06月 面向对象设计原则(六)-合成复用原则

愚公搬代码

6月月更

一文读懂Logstash原理

恒山其若陋兮

6月月更

【Python技能树共建】lxml 模块

梦想橡皮擦

Python 6月月更

Flutter doctor 显示xcode没有安装的解决办法

坚果

6月月更

为什么需要微服务

阿泽🧸

微服务 6月月更

数据库每日一题---第9天:销售员

知心宝贝

数据库 算法 前端 后端 6月月更

vue自定义指令

小恺

6月月更

人工智能时代,如何硬核“玩”音乐?_AI&大模型_凌敏_InfoQ精选文章