{
  "cuda_parity_512char": {
    "warmup": {
      "text": "VoxCPM2 warms up with a neutral narrator checking the studio microphone.",
      "cfg_value": 2.0,
      "inference_timesteps": 10,
      "min_len": 2,
      "max_len": 16
    },
    "requests": [
      {
        "id": "narration_tts_cuda",
        "text": "At dawn the museum opened its side entrance for a quiet accessibility tour. The guide described the bronze telescope, the brass star chart, and the repaired recording booth in a steady voice while visitors paused to hear the rain against the glass roof. This longer passage is meant to exercise a realistic VoxCPM2 request rather than a tiny smoke test, with enough punctuation, pacing, and sentence variation for reviewers to inspect generated speech quality across a full half page of input text carefully now.",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 2,
        "max_len": 32
      },
      {
        "id": "style_prompt_cuda",
        "text": "(A calm documentary narrator with warm tone and precise articulation) The field engineer returned to the archive room after sunset, placed a fresh label on the restored tape machine, and explained how each microphone, cable, and notebook helped recover a forgotten interview. This longer styled passage keeps the same practical review shape while adding pauses, commas, descriptive phrases, and enough content to make the benchmark represent a real user request instead of a quick smoke test for reviewers today.",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 2,
        "max_len": 32
      }
    ]
  },
  "cuda_graph_reuse_long_session": {
    "warmup": {
      "text": "VoxCPM2 warms up with a neutral narrator checking the studio microphone.",
      "cfg_value": 2.0,
      "inference_timesteps": 10,
      "min_len": 2,
      "max_len": 16
    },
    "requests": [
      {
        "id": "graph_reuse_16_first",
        "text": "At dawn the museum opened its side entrance for a quiet accessibility tour. The guide described the bronze telescope, the brass star chart, and the repaired recording booth in a steady voice while visitors paused to hear the rain against the glass roof. This longer passage is meant to exercise a realistic VoxCPM2 request rather than a tiny smoke test, with enough punctuation, pacing, and sentence variation for reviewers to inspect generated speech quality across a full half page of input text carefully now.",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 15,
        "max_len": 16
      },
      {
        "id": "graph_reuse_8_smaller",
        "text": "(A calm documentary narrator with warm tone and precise articulation) The field engineer returned to the archive room after sunset, placed a fresh label on the restored tape machine, and explained how each microphone, cable, and notebook helped recover a forgotten interview. This longer styled passage keeps the same practical review shape while adding pauses, commas, descriptive phrases, and enough content to make the benchmark represent a real user request instead of a quick smoke test for reviewers today.",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 7,
        "max_len": 8
      },
      {
        "id": "graph_reuse_12_smaller",
        "text": "At dawn the museum opened its side entrance for a quiet accessibility tour. The guide described the bronze telescope, the brass star chart, and the repaired recording booth in a steady voice while visitors paused to hear the rain against the glass roof. This longer passage is meant to exercise a realistic VoxCPM2 request rather than a tiny smoke test, with enough punctuation, pacing, and sentence variation for reviewers to inspect generated speech quality across a full half page of input text carefully now.",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 11,
        "max_len": 12
      },
      {
        "id": "graph_rebuild_32_larger",
        "text": "(A calm documentary narrator with warm tone and precise articulation) The field engineer returned to the archive room after sunset, placed a fresh label on the restored tape machine, and explained how each microphone, cable, and notebook helped recover a forgotten interview. This longer styled passage keeps the same practical review shape while adding pauses, commas, descriptive phrases, and enough content to make the benchmark represent a real user request instead of a quick smoke test for reviewers today.",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 31,
        "max_len": 32
      }
    ]
  },
  "cuda_cold_voice_clone_1024char": {
    "warmup": {
      "text": "VoxCPM2 cold voice clone warmup is disabled for this baseline.",
      "reference_wav_path": "resources/target_voice.wav",
      "cfg_value": 2.0,
      "inference_timesteps": 10,
      "min_len": 2,
      "max_len": 16
    },
    "requests": [
      {
        "id": "cold_voice_clone_1024char",
        "text": "In this cold voice cloning benchmark, the speaker describes a careful engineering review of VoxCPM2 after a clean restart. The passage is deliberately long enough to exercise tokenizer setup, reference audio conditioning, diffusion feature generation, and AudioVAE decoding without relying on a warm cache. It includes commas, short clauses, and steady narration so reviewers can listen for identity, pacing, prosody, and artifacts while also reading timing logs. The cloned voice should explain that the system loads a target voice, follows the requested text, and produces a stable waveform for a realistic user request. After the first paragraph, the speaker continues with another practical note about cold-start behavior, graph construction, reference encoding, and waveform synthesis. The goal is not a tiny smoke test; it is a repeatable baseline that stresses the same public API shape a user would choose for cloning a voice from a local recording. This final line closes the request cleanly for review today fully.",
        "reference_wav_path": "resources/target_voice.wav",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 31,
        "max_len": 32
      }
    ]
  },
  "cuda_streaming_voice_clone_512char": {
    "warmup": {
      "text": "VoxCPM2 streaming warmup is disabled for this parity case.",
      "reference_wav_path": "resources/target_voice.wav",
      "cfg_value": 2.0,
      "inference_timesteps": 10,
      "min_len": 2,
      "max_len": 8,
      "retry_badcase": false
    },
    "requests": [
      {
        "id": "streaming_voice_clone_512char",
        "text": "In this streaming voice cloning benchmark, the speaker explains that audio chunks should arrive from the public streaming generation path while preserving the requested text, voice identity, and timing behavior. The passage includes several clauses, a clear ending, and enough length for multiple generated latent patches, so reviewers can compare the concatenated streaming output with the Python streaming reference under controlled diffusion noise.",
        "reference_wav_path": "resources/target_voice.wav",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 15,
        "max_len": 16,
        "retry_badcase": false
      }
    ]
  },
  "realistic_mixed_longform": {
    "warmup": {
      "text": "Before the full run begins, VoxCPM2 warms up with one clear sentence about a studio narrator checking the microphone.",
      "cfg_value": 2.0,
      "inference_timesteps": 10,
      "min_len": 2,
      "max_len": 256
    },
    "requests": [
      {
        "id": "narration_tts",
        "text": "The observatory opened just before sunrise, while the city below was still quiet. A researcher adjusted the recorder, described the pale band of light forming above the hills, and explained that the next report should sound steady, natural, and detailed enough to exercise a realistic text-to-speech request.",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 2,
        "max_len": 512
      },
      {
        "id": "voice_design",
        "text": "(A calm middle-aged woman with a warm documentary narration voice, moderate pace, precise articulation, and a gentle confident tone)Tonight's archive describes how a small engineering team restored the old broadcast room, tested every cable, and finally heard a clean signal return after years of silence.",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 2,
        "max_len": 512
      },
      {
        "id": "voice_clone",
        "text": "This cloned speaker reads a practical benchmark passage with enough length to reveal pauses, phrasing, breath control, and stability across a realistic inference request.",
        "reference_wav_path": "reference/VoxCPM/examples/reference_speaker.wav",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 2,
        "max_len": 512
      }
    ]
  },
  "realistic_clone_pair": {
    "warmup": {
      "text": "The cloned voice warms up with a short, neutral line.",
      "reference_wav_path": "reference/VoxCPM/examples/reference_speaker.wav",
      "cfg_value": 2.0,
      "inference_timesteps": 10,
      "min_len": 2,
      "max_len": 256
    },
    "requests": [
      {
        "id": "clone_weather_report",
        "text": "The morning weather report calls for a cool wind near the harbor, scattered clouds by noon, and clear visibility after sunset. The speaker should keep the same identity while moving through numbers, commas, and a longer sentence shape.",
        "reference_wav_path": "reference/VoxCPM/examples/reference_speaker.wav",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 2,
        "max_len": 512
      },
      {
        "id": "clone_instruction",
        "text": "Please place the first microphone two hand widths from the singer, check the level before recording, and write down any background noise that appears during the take.",
        "reference_wav_path": "reference/VoxCPM/examples/reference_speaker.wav",
        "cfg_value": 2.0,
        "inference_timesteps": 10,
        "min_len": 2,
        "max_len": 512
      }
    ]
  }
}
