voice_audio_multi/assets/pipeline/qwen3_asr_subtitles_batch.json
Fabio c36510c21e
Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

56 lines
1.6 KiB
JSON

{
"id": "qwen3_asr_subtitles_batch",
"description": "Generate transcript, word timestamp, and SRT files for each WAV file in a directory using Qwen3 ASR with model-side audio chunking.",
"inputs": {
"source_audio_dir": "",
"language": "en",
"qwen3_asr_model": "",
"qwen3_forced_aligner_model": ""
},
"steps": [
{
"id": "inputs",
"type": "batch_inputs",
"audio_dir": "${source_audio_dir}"
},
{
"id": "prepare_source",
"type": "convert_audio",
"foreach": "${inputs.items}",
"input": "${item.audio_path}",
"output": "${out_dir}/source/${item.id}_16k.wav",
"sample_rate": 16000,
"channels": 1
},
{
"id": "transcribe",
"type": "model",
"foreach": "${prepare_source.items}",
"family": "qwen3_asr",
"model": "${qwen3_asr_model}",
"task": "asr",
"mode": "offline",
"text_out": "${out_dir}/transcripts/${item.id}.txt",
"words_out": "${out_dir}/words/${item.id}.json",
"session_options": {
"qwen3_asr.forced_aligner_model_path": "${qwen3_forced_aligner_model}"
},
"request": {
"id": "transcribe",
"audio": "${item.audio_path}",
"language": "${language}",
"text": "Transcribe the speech exactly.",
"audio_chunk_mode": "auto"
}
},
{
"id": "format_srt",
"type": "format_subtitles",
"foreach": "${transcribe.items}",
"format": "srt",
"words": "${item.words_path}",
"output": "${out_dir}/srt/${item.id}.srt",
"sample_rate": 16000
}
]
}