众扬汇 AI 开放平台 API 文档

场景十二:Timing 歌词与音频时间线

做什么:拿到某首歌的逐词时间轴与波形数据,用于做逐句歌词高亮、字幕同步等。

A. 先准备一首歌

用场景一 / 二 / 三生成音乐,取其中一首歌的 clip_id,例如:

text
54834687-5e79-4f08-8e14-cf188f15b598

B. 获取歌词时间线

text
GET https://api.allyang.cn/suno/act/timing/<clip_id>

支持跨账号调用。返回体包含三部分:

  • aligned_words:逐词对齐结果,每项含 word、success、start_s、end_s、p_align(对齐置信度);
  • waveform_data:波形采样数组;
  • hoot_cer / is_streamed:整体识别误差与是否流式。
text
{
  "aligned_words": [
    {
      "word": "[Verse]\nWinter ",
      "success": true,
      "start_s": 8.38,
      "end_s": 8.78,
      "p_align": 0.982
    },
    {
      "word": "winds ",
      "success": true,
      "start_s": 8.78,
      "end_s": 9.54,
      "p_align": 0.961
    },
    {
      "word": "they ",
      "success": true,
      "start_s": 9.54,
      "end_s": 9.93,
      "p_align": 0.99
    }
  ],
  "waveform_data": [0.001, 0.00109, 0.04219, 0.03597],
  "hoot_cer": 0.03556771545827633,
  "is_streamed": false
}

aligned_words 与 waveform_data 在真实返回中是长数组,上例已截断,仅保留结构。

用法提示:用 start_s / end_s 驱动字幕逐词高亮;p_align 偏低(例如低于 0.6)的词建议做兜底处理。