Suno MIDI 生成 API 集成指南

3 阅读2分钟

在现代音乐创作中,利用 AI 生成的音乐进行二次创作已成为一种潮流。Suno 是一个强大的工具,它允许我们从生成的音乐中创建二次作品,并获取音乐的 MIDI 数据。本文将详细介绍如何集成 Suno 的 MIDI 生成 API。

背景介绍

Suno 是 Ace Data Cloud 提供的一项服务,旨在通过 AI 技术生成音乐并进行后期处理。对于音乐制作人、作曲家和开发者来说,Suno 提供了丰富的 API 接口,能够方便地获取音乐的 MIDI 数据,进而进行更深入的创作和分析。

API 概述

Suno MIDI 生成 API 的核心输入参数是 audio_id,该参数通常是生成的完整曲目的官方歌曲 ID。通过提供这个 ID,API 可以根据所选的音轨返回相应的 MIDI 数据。为了实现异步处理,API 还支持 callback_url 参数。

例如,我们将使用以下 audio_id 进行请求:

c65e6ffd-ead3-4926-9c8c-a42ce202946b

示例代码

下面是使用 Python 进行 API 请求的示例代码:

import requests

url = "https://api.acedata.cloud/suno/midi"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",  # 替换为你的 Bearer token
    "content-type": "application/json"
}

payload = {
    "audio_id": "c65e6ffd-ead3-4926-9c8c-a42ce202946b"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

在这个示例中,我们使用 requests 库向 Suno MIDI 生成 API 发送 POST 请求。当请求成功后,我们将打印响应的内容。

API 响应解析

请求成功后,API 将返回包含 MIDI 信息的 JSON 数据。以下是一个示例响应:

{
  "success": true,
  "task_id": "4f94486d-5013-4bcc-922f-39bd52b5cd4a",
  "trace_id": "8bc8cca3-2d4b-46d0-a4fa-bb355af9902c",
  "data": [
    {
      "state": "complete",
      "instruments": [
        {
          "name": "Synth Voice",
          "notes": [
            {
              "pitch": 55,
              "start": 29.78125,
              "end": 31.78125,
              "velocity": 0.49606299212598426
            },
            ...
          ]
        }
      ]
    }
  ]
}

在响应中,data 字段包含了曲目在完整音轨分离后的 MIDI 信息,包括乐器的名称、音符的音高、开始和结束时间以及音量等信息。

总结

通过以上步骤,我们成功集成了 Suno MIDI 生成 API,并获取了音乐的 MIDI 数据。这样一来,音乐制作人和开发者可以利用这些数据进行更深入的创作和分析。对于希望在音乐创作中引入 AI 技术的开发者来说,Suno 提供了一个强大的平台。

如需更多信息,请访问 Ace Data Cloud

技术标签:#API #音乐生成 #AIdata #MIDI #Python