导航

音乐理解和生成工具:MusicAgent

Posted on 2023-10-23 14:41  蝈蝈俊  阅读(200)  评论(0编辑  收藏  举报

在由北京大学与微软研究院共同发表的《MusicAgent: 用大语言模型理解和创造音乐的 AI 智能体》论文中,深入探索了AI在音乐处理领域的应用。

下图是这个项目的图标Logo:

使用场景

音乐领域AI应用的典型场景如下:

当用户提出音乐创作(新做、转换风格、分析风格等等)的需求后,

MusicAgent能够做任务分解、选择合适的工具和语言交互,与用户进行聊天式的互动,协助完成音乐创作。


下面是一个中文的例子:

工作原理及架构

MusicAgent 能处理复杂的音乐任务,是因为:

  • 对接了多样化的音乐相关任务工具。
  • 与LLM相结合,可以理解话术、拆解任务、分析最优方案...
    具体实现可以参看:Auto-GPT是如何工作的?

如下图所示,MusicAgent 宏观分四步:任务计划、工具选择、任务执行、回应结果。

MusicAgent 可以处理的音乐任务包括:

  • 创建歌曲
  • 分析音乐风格
  • 音色转换
  • 混音
  • ...

它就像一个音乐处理的小助手,它可以把用户的请求分解成小任务,然后挑选合适的工具来完成这些任务。通过这种方式,它能够高效地处理音乐,帮用户得到他们想要的结果。

下图是 MusicAgent 的四层架构:

  • Application 是支持的音乐创作场景;
  • Plugins 是可扩展的各项音乐相关任务工具;
  • Skills 是MusicAgent自身的选择、调度能力;
  • Backend 是底层的大语言模型。

支持多样化音乐任务

我们把音乐任务(Task)分成两大类:

  • Generation tasks(生成任务):包括文本到音乐、歌词到旋律、歌声合成、音色转移、伴奏等。这些任务使协作音乐生成成为可能。
  • Understanding tasks(理解任务):包括音乐分类、音乐分离、歌词识别等。


上图的几个阶段翻译

  1. Textual Description 文字描述
    • Emotion 情感
    • Genre 类型
    • Theme 主题
  2. Symbolic Music 音乐符号
    • Melody 旋律
    • Accompaniment 伴奏
  3. Audio 音频
    • Singing Voice 歌声
    • Instrument Sound 乐器声音/伴奏声

Mixing 混合 / Separation 分离

更具体的音乐任务工具如下:

附:Auxiliary 分类指音乐辅助的分类。

写歌工作过程示例

以写一首关于love的歌为例,流程如下:

  1. 任务规划器(Task Planner)接收用户请求并生成解析后的任务队列,
  2. 工具选择器(Tool Selector)选择合适的工具,
  3. 响应生成器(Generator)收集工具输出并组织响应。


通过这样的流程就可以产生客户的音乐需求。

总结

AI-驱动的音乐处理是个涵盖广泛的复杂领域,包括了从音色合成到音乐分类等多种任务。对于开发者和音乐爱好者而言,掌握所有这些任务以满足音乐处理的需求是颇具挑战的,尤其是考虑到不同任务间音乐数据表示和模型适用性的巨大差异。

为了解决这个问题,创建一个能整合并组织这些任务的系统是至关重要的,它能帮助从业者自动分析需求并调用适当的工具,以满足他们的具体要求。MusicAgent应运而生,它集成了多种音乐相关的工具,并利用如ChatGPT等大型语言模型自动化处理用户请求,将其分解为多个子任务,并调用相应的音乐工具。通过这种方式,用户可以摆脱AI音乐工具的复杂性,从而能更专注于音乐的创造性方面。