音乐分析与打标

对音频进行结构化音乐分析。分两层输出:硬指标层(精确时间戳,本地计算必出)给出 BPM、调性、节拍/鼓点、段落、主副歌、高潮点;软语义层(可选)给出曲风、情绪、乐器、自然语言描述与标签云。适用于曲库打标、智能配乐、卡点剪辑、高光预览、音乐检索推荐等场景。

  • 接口路径POST /task/audio_music_analyze
  • 任务类型audio_music_analyze
  • 计费方式:按音频时长计费(分钟)

处理示例

解析结果可视化

这些参数能拿来做什么

下面是示例曲目「八音盒」的真实解析结果。点击播放,时间轴会随音乐联动;每个参数旁都标注了它在业务里的用途。

速度 BPM

754/4

用途 · 卡点剪辑、变速对拍、自动对拍

调性

F# major置信度 74%

用途 · 转调混音、伴奏匹配、按调性归类歌单

时长

4:09

用途 · 按分钟计费、排期估算

能量

35

用途 · 歌单情绪排序、场景匹配

节奏时间轴

段落、副歌、高光、强拍都画在同一条时间轴上,播放头会实时移动。

0:00 / 4:09
段落副歌高光强拍

当前段落

segment_00:000:00

当前拍

#0

用途 · 段落导航、AB 段循环、结构化预览

用途 · 一键直达副歌、自动生成试听片段

用途 · 短视频配乐切入点、封面帧定位

用途 · 踩点剪辑:每个强拍都是天然的转场点

· 接口返回最具代表性的副歌片段(本曲副歌实际重复多次)。

· 高光是全曲情绪峰值,与「副歌结构」不一定重合——本曲高光落在副歌之后。

语义画像

非时间性的整体属性,适合检索、推荐与智能配乐选曲。开启 enable_semantic_tags 后返回。

曲风

c-pop· 华语流行
90%
ballad· 抒情
85%
pop rock· 流行摇滚
75%

情绪

contemplative· 沉思
90%
nostalgic· 怀旧
85%
longing· 眷恋
80%

场景

intimate· 私密
80%
reflective· 内省
75%

用途 · 曲库检索、智能配乐选曲、推荐排序

乐器

electric guitar· 电吉他electronic drum· 电子鼓synth bass· 合成贝斯synth pad· 合成铺底piano· 钢琴

用途 · 相似曲匹配、按乐器检索

氛围标签云

深夜独处回忆氛围人声缥缈空间感强钢琴轻柔情感共鸣自然意象高保真音质

用途 · 给人看的内容打标,便于平台分发

一句话概括

一首融合中西元素的中文抒情流行歌曲,情感细腻

AI 文字描述

音频以轻柔的干净电吉他琶音开场,营造沉思氛围,随后加入轻柔电子鼓点和温暖合成贝斯,建立75BPM的4/4拍节奏,还有微妙的宽频谱合成器铺垫出开阔背景。9秒时女歌手用清晰、带呼吸感的中文演唱,歌声亲密且富有情感,伴奏包含层次丰富的合成器和轻柔的混响钢琴。歌曲采用主副歌结构,歌词围绕回忆与时间主题,编曲保持开阔,各乐器清晰,无背景噪音,录音保真度极高,立体声宽且…

请求参数

参数类型必填默认值说明
file_idstring-上传文件返回的文件 ID,详见 文件上传
enable_semantic_tagsbooleanfalse是否额外输出软语义层(曲风/情绪/乐器/描述/标签云)
languagestringzh-CN软语义层输出语言。仅影响 description / summary / descriptive_tags;曲风、情绪等分类标签恒为英文规范值,便于检索去重

请求示例

curl -X POST "https://cloud.ai-mcn.tv/task/audio_music_analyze" \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "file_id": "537489015178246",
    "enable_semantic_tags": true,
    "language": "zh-CN"
  }'

响应示例

{
  "code": 0,
  "message": "success",
  "data": {
    "task_id": "537489015178247"
  }
}

任务创建后为异步处理,需通过任务状态查询接口轮询结果。

结果获取

任务完成后,通过任务查询接口获取处理结果:

{
  "code": 0,
  "message": "success",
  "data": {
    "task_id": "537489015178247",
    "status": "completed",
    "progress": 100,
    "output_result": {
      "duration": 235.4,
      "bpm": 120,
      "key": "C minor",
      "key_confidence": 0.78,
      "beats": [0.5, 1.0, 1.5],
      "downbeats": [0.5, 2.5, 4.5],
      "beat_positions": [1, 2, 3, 4],
      "segments": [
        { "start": 0.0, "end": 12.3, "label": "segment_0" }
      ],
      "chorus": { "start": 72.4, "end": 108.6 },
      "highlight": { "time": 178.4 },
      "semantic": {
        "description": "独立流行器乐,钢琴与原声吉他主导,节奏轻快……",
        "description_raw": "Indie pop instrumental featuring piano and acoustic guitar……",
        "genres": [{ "name": "indie pop", "confidence": 0.95 }],
        "moods": [{ "name": "upbeat", "confidence": 0.9 }],
        "scenes": [{ "name": "coffee shop", "confidence": 0.6 }],
        "instruments": ["piano", "acoustic guitar", "bass", "drums"],
        "descriptive_tags": ["都市孤独感", "卡带质感", "深夜通勤"],
        "voice_type": "instrumental",
        "energy": 60,
        "vocal_language": "instrumental",
        "tempo_descriptor": "medium",
        "summary": "钢琴吉他驱动的轻快独立流行小品"
      }
    }
  }
}

字段说明

字段类型说明
durationnumber音频时长(秒)
bpminteger速度(每分钟节拍数)
keystring调性,如 C minor
key_confidencenumber调性置信度
beatsnumber[]每个节拍的时间戳(秒)
downbeatsnumber[]每小节起拍(强拍)的时间戳(秒)
beat_positionsinteger[]每个节拍在所在小节内的序号
segmentsarray段落边界,每项含 start / end / label
chorusobject | null主副歌段(start / end),无法识别时为 null
highlightobject | null整首歌的情绪峰值时间点(time),可用作预览起点
semanticobject | null软语义层。未开启 enable_semantic_tags 或该层无法生成时为 null
semantic.descriptionstring本地化的自然语言描述(随 language
semantic.description_rawstring原始英文描述(审计/复用)
semantic.genres / moods / scenesarray曲风 / 情绪 / 场景分类标签,每项含 name(英文规范值)与 confidence
semantic.instrumentsstring[]乐器列表(英文规范值)
semantic.descriptive_tagsstring[]描述性标签云(随 language,供阅读,如「深夜独处」「卡带质感」)
semantic.voice_typestring人声类型:instrumental / male / female / mixed
semantic.energyinteger能量值(0–100)
semantic.vocal_languagestring歌曲人声/歌词的语种(ISO 639-1,纯器乐为 instrumental)。与请求参数 language 无关
semantic.tempo_descriptorstring速度描述:slow / medium / fast
semantic.summarystring一句话概括(随 language

计费说明

  • 按音频时长计费,单位为分钟,不足一分钟按一分钟计
  • 任务失败不计费,已扣费用自动退还
  • 开启软语义层(enable_semantic_tags=true)不额外计费,仍按音频时长计费;若软语义层无法生成,硬指标层仍正常返回,semanticnull,任务按成功计费
  • 详细计费规则请参考 计费说明

使用限制

  • 输入仅支持音频文件(mp3wavm4aaacflacogg 等)。
  • 硬指标层(BPM/调性/节拍/段落/主副歌/高潮)必出;软语义层需 enable_semantic_tags=true 显式开启,默认不输出。
  • 软语义层为尽力而为:无法生成时 semantic 返回 null,不影响硬指标层与任务成功。
  • language 必须为受支持的语言取值;它仅影响 description / summary / descriptive_tags,曲风、情绪等分类标签恒为英文规范值。

错误码

错误码HTTP 状态码说明解决方案
6013400file_id 缺失传入 file_id 参数
6001400文件类型不支持上传受支持的音频文件
6016400业务参数非法(如 language 不受支持)使用受支持的 language 取值
6017400媒体探测失败确认文件未损坏且为有效音频
6004404文件不存在检查 file_id 是否正确
6502401鉴权失败检查 Authorization 请求头
6202402余额不足前往仪表盘充值