Suno局部改词:原曲、时间区间与真实替换核验

apizt 实测记录 · 2026-10-24 · 不是第三方产品界面截图

apizt实际生成原曲后,task=infill请求虽返回200,却输出34秒整首新版本,未证明原生局部替换。本例保留这个负例,再从真实新版本截取目标句,在18.8—23.3秒范围内做本地交叉淡化替换;读回验证区间外PCM逐样本一致,合成结果可下载。

本次操作

  1. 先生成可核验原曲:原创四句歌词通过Suno API生成,保存clip_id与真实39.48秒音频。
  2. 定位目标句:本地faster-whisper时间戳把 Follow the river... 定位约19.14—22.88秒;唱词识别只是辅助,边界需试听。
  3. 显式提交局部改词:只把目标句改为 Follow the rhythm, follow the glow,保存task=infill和18.8—23.3秒参数;未知提交不自动重复。
  4. 对照新旧音频:新版本的目标句约9.10—13.54秒。用replace_region.py将其适配到原曲18.8—23.3秒,80ms淡化只发生在区间内;回读WAV验证前后样本完全一致。新旧唱法与和声不同,接点仍需试听。

结果与限制

original-song

httpmodelrequestSecondstaskId
200chirp-v42.8361320574181591228417

output-0.m4a

local-asr.json

{
  "model": "Systran/faster-whisper-tiny.en",
  "compute_type": "int8",
  "segments": [
    {
      "start": 9.040000000000003,
      "end": 27.38,
      "text": " Paper boats, beneath the morning light, carry little wishes, out of sight, follow the river, follow the sun, every small journey has only begun.",
      "words": [
        {
          "word": " Paper",
          "start": 9.040000000000003,
          "end": 10.32,
          "probability": 0.45112043619155884
        },
        {
          "word": " boats,",
          "start": 10.32,
          "end": 11.1,
          "probability": 0.8584479093551636
        },
        {
          "word": " beneath",
          "start": 11.26,
          "end": 11.66,
          "probability": 0.3926292061805725
        },
        {
          "word": " the",
          "start": 11.66,
          "end": 12.22,
          "probability": 0.9863494038581848
        },
        {
          "word": " morning",
          "start": 12.22,
          "end": 12.52,
          "probability": 0.9894046783447266
        },
        {
          "word": " light,",
          "start": 12.52,
          "end": 13.9,
          "probability": 0.9728455543518066
        },
        {
          "word": " carry",
          "start": 14.54,
          "end": 14.82,
          "probability": 0.8510782718658447
        },
        {
          "word": " little",
          "start": 14.82,
          "end": 15.32,
          "probability": 0.9697515368461609
        },
        {
          "word": " wishes,",
          "start": 15.32,
          "end": 16.48,
          "probability": 0.9747663140296936
        },
        {
          "word": " out",
          "start": 16.9,
          "end": 17.08,
          "probability": 0.8660765886306763
        },
        {
          "word": " of",
          "start": 17.08,
          "end": 17.48,
          "probability": 0.9186293482780457
        },
        {
          "word": " sight,",
          "start": 17.48,
          "end": 18.44,
          "probability": 0.9979700446128845
        },
        {
          "word": " follow",
          "start": 19.14,
          "end": 19.4,
          "probability": 0.7993620038032532
        },
        {
          "word": " the",
          "start": 19.4,
          "end": 19.9,
          "probability": 0.9949472546577454
        },
        {
          "word": " river,",
          "start": 19.9,
          "end": 20.74,
          "probability": 0.9987824559211731
        },
        {
          "word": " follow",
          "start": 21.44,
          "end": 21.64,
          "probability": 0.9908865690231323
        },
        {
          "word": " the",
          "start": 21.64,
          "end": 22.1,
          "probability": 0.9672913551330566
        },
        {
          "word": " sun,",
          "start": 22.1,
          "end": 22.88,
          "probability": 0.9738621711730957
        },
        {
          "word": " every",
          "start": 23.68,
          "end": 23.98,
          "probability": 0.9364639520645142
        },
        {
          "word": " small",
          "start": 23.98,
          "end": 24.62,
          "probability": 0.9925784468650818
        },
        {
          "word": " journey",
          "start": 24.62,
          "end": 25.1,
          "probability": 0.9965968728065491
        },
        {
          "word": " has",
          "start": 25.1,
          "end": 25.86,
          "probability": 0.9738849997520447
        },
        {
          "word": " only",
          "start": 25.86,
          "end": 26.64,
          "probability": 0.9977881908416748
        },
        {
          "word": " begun.",
          "start": 26.64,
          "end": 27.38,
          "probability": 0.5110749006271362
        }
      ]
    }
  ],
  "note": "Machine recognition of singing; verify by listening, not ground truth"
}

infill-request

httpmodelrequestSecondstaskId
200chirp-v44.0261320576734219460608

output-0.m4a

local-asr.json

{
  "model": "Systran/faster-whisper-tiny.en",
  "compute_type": "int8",
  "segments": [
    {
      "start": 0.0,
      "end": 4.18,
      "text": " Vapor boats beneath the morning light",
      "words": [
        {
          "word": " Vapor",
          "start": 0.0,
          "end": 0.64,
          "probability": 0.38519489765167236
        },
        {
          "word": " boats",
          "start": 0.64,
          "end": 1.4,
          "probability": 0.8234111070632935
        },
        {
          "word": " beneath",
          "start": 1.4,
          "end": 1.98,
          "probability": 0.7407523989677429
        },
        {
          "word": " the",
          "start": 1.98,
          "end": 2.6,
          "probability": 0.8999857902526855
        },
        {
          "word": " morning",
          "start": 2.6,
          "end": 2.84,
          "probability": 0.9893536567687988
        },
        {
          "word": " light",
          "start": 2.84,
          "end": 4.18,
          "probability": 0.9489414095878601
        }
      ]
    },
    {
      "start": 4.18,
      "end": 9.1,
      "text": " carry little wishes out of sight",
      "words": [
        {
          "word": " carry",
          "start": 4.18,
          "end": 5.06,
          "probability": 0.4905518889427185
        },
        {
          "word": " little",
          "start": 5.06,
          "end": 5.62,
          "probability": 0.9765398502349854
        },
        {
          "word": " wishes",
          "start": 5.62,
          "end": 6.8,
          "probability": 0.92085200548172
        },
        {
          "word": " out",
          "start": 6.8,
          "end": 7.36,
          "probability": 0.9320858716964722
        },
        {
          "word": " of",
          "start": 7.36,
          "end": 7.84,
          "probability": 0.9888263940811157
        },
        {
          "word": " sight",
          "start": 7.84,
          "end": 9.1,
          "probability": 0.998665452003479
        }
      ]
    },
    {
      "start": 9.1,
      "end": 11.06,
      "text": " follow the rhythm",
      "words": [
        {
          "word": " follow",
          "start": 9.1,
          "end": 9.58,
          "probability": 0.30821913480758667
        },
        {
          "word": " the",
          "start": 9.58,
          "end": 10.32,
          "probability": 0.992391049861908
        },
        {
          "word": " rhythm",
          "start": 10.32,
          "end": 11.06,
          "probability": 0.9933744072914124
        }
      ]
    },
    {
      "start": 11.06,
      "end": 13.54,
      "text": " follow the glow",
      "words": [
        {
          "word": " follow",
          "start": 11.06,
          "end": 11.86,
          "probability": 0.9359017610549927
        },
        {
          "word": " the",
          "start": 11.86,
          "end": 12.36,
          "probability": 0.9988616704940796
        },
        {
          "word": " glow",
          "start": 12.36,
          "end": 13.54,
          "probability": 0.34942826628685
        }
      ]
    },
    {
      "start": 13.54,
      "end": 16.66,
      "text": " every small journey",
      "words": [
        {
          "word": " every",
          "start": 13.54,
          "end": 14.4,
          "probability": 0.7914556860923767
        },
        {
          "word": " small",
          "start": 14.4,
          "end": 15.02,
          "probability": 0.9807630777359009
        },
        {
          "word": " journey",
          "start": 15.02,
          "end": 16.66,
          "probability": 0.9972840547561646
        }
      ]
    },
    {
      "start": 16.66,
      "end": 19.58,
      "text": " has only begun",
      "words": [
        {
          "word": " has",
          "start": 16.66,
          "end": 17.62,
          "probability": 0.9664663672447205
        },
        {
          "word": " only",
          "start": 17.62,
          "end": 18.46,
          "probability": 0.9988546371459961
        },
        {
          "word": " begun",
          "start": 18.46,
          "end": 19.58,
          "probability": 0.9609155058860779
        }
      ]
    }
  ],
  "note": "Machine recognition of singing; verify by listening, not ground truth"
}

local-replace

region-replaced.wav

replacement-phrase.wav

validation.json

{
  "method": "Actual apizt Suno original + revised full song; local bounded crossfade replacement",
  "nativeInfillVerified": false,
  "reason": "task=infill returned a new 34-second whole-song version versus original39.48s; 200 did not prove region preservation",
  "regionSeconds": [
    18.8,
    23.3
  ],
  "revisedPhraseSeconds": [
    9.1,
    13.54
  ],
  "sampleRate": 48000,
  "originalFrames": 1895688,
  "resultFrames": 1895688,
  "beforeRegionIdentical": true,
  "afterRegionIdentical": true,
  "replacementChanged": true,
  "outputSha256": "95c319934bc2f58012b5755a9eca427025cdfa8b9083386af527140809a7de59",
  "qualityLimit": "Phrase is from a different generated rendition. Timbre, harmony and joins need listening; not seamless AI re-singing or native Suno Replace Section."
}

复跑与凭据

下载本题 evidence.zip,保留各任务目录。API脚本通过本机环境变量 tokenba_API_KEY 读取你的Key;不把Key放进请求JSON。先核对模型广场当前可用型号和价格,再显式运行一次小样。

生成次数、文件成功、内容质检分别判断。没有在公开报告中保存任何可用Key。