{
  "id": "speech_redub",
  "description": "Transcribe long speech in chunks and regenerate it in a target reference voice using the same language.",
  "inputs": {
    "source_audio": "${workflow_dir}/../resources/speech.wav",
    "target_voice": "${workflow_dir}/../resources/sample.wav",
    "language": "English",
    "target_voice_text": "Some call me nature. Others call me Mother Nature. I've been here for over 4.5 billion years. Twenty-two thousand five hundred times longer than you."
  },
  "final_audio": "${redub.audio_path}",
  "steps": [
    {
      "id": "prepare_source",
      "type": "convert_audio",
      "input": "${source_audio}",
      "output": "${out_dir}/source/speech_16k.wav",
      "sample_rate": 16000,
      "channels": 1
    },
    {
      "id": "transcribe",
      "type": "chunked_model",
      "family": "qwen3_asr",
      "model": "../../models/Qwen3-ASR-0.6B",
      "task": "asr",
      "mode": "offline",
      "chunk_seconds": 30,
      "overlap_seconds": 0,
      "text_out": "${out_dir}/transcribe/transcript.txt",
      "request": {
        "id": "transcribe",
        "audio": "${prepare_source.audio_path}",
        "language": "${language}",
        "text": "Transcribe the speech exactly."
      }
    },
    {
      "id": "redub",
      "type": "model",
      "family": "qwen3_tts",
      "model": "../../models/Qwen3-TTS-12Hz-1.7B-Base",
      "task": "tts",
      "mode": "offline",
      "out_dir": "${out_dir}/redub",
      "audio_out": "${out_dir}/speech_redub.wav",
      "request": {
        "id": "redub",
        "text": "${transcribe.text}",
        "language": "${language}",
        "voice_ref": "${target_voice}",
        "reference_text": "${target_voice_text}",
        "seed": 1234,
        "do_sample": false
      }
    }
  ]
}
