MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / run_request

Function run_request

tests/stable_audio/stable_audio_python_warm_bench.py:310–375  ·  view source on GitHub ↗
(
    model: Any,
    request: dict[str, Any],
    output_dir: Path,
    args: argparse.Namespace,
    device: str,
    previous_audio: list[Path],
)

Source from the content-addressed store, hash-verified

308
309
310def run_request(
311 model: Any,
312 request: dict[str, Any],
313 output_dir: Path,
314 args: argparse.Namespace,
315 device: str,
316 previous_audio: list[Path],
317) -> tuple[dict[str, Any], list[str]]:
318 seed = int(request.get("seed", args.seed))
319 seed_all(seed)
320
321 init_audio = None
322 if "init_audio" in request:
323 init_audio = load_audio(resolve_repo_path(str(request["init_audio"])))
324 elif "init_audio_from_previous" in request:
325 init_audio = load_audio(previous_audio[int(request["init_audio_from_previous"])])
326
327 inpaint_audio = None
328 if "inpaint_audio" in request:
329 inpaint_audio = load_audio(resolve_repo_path(str(request["inpaint_audio"])))
330 elif "inpaint_audio_from_previous" in request:
331 inpaint_audio = load_audio(previous_audio[int(request["inpaint_audio_from_previous"])])
332
333 chunked_decode = chunked_decode_value(request.get("chunked_decode", args.chunked_decode))
334 batch_size = int(request.get("batch_size", 1))
335 prompt = request.get("prompt")
336 if prompt is None:
337 raise RuntimeError("Stable Audio warmbench request missing prompt")
338 if isinstance(prompt, list):
339 batch_size = len(prompt)
340
341 sync_device(device)
342 started = time.perf_counter()
343 audio = model.generate(
344 prompt=prompt,
345 negative_prompt=request.get("negative_prompt"),
346 duration=request.get("duration", args.duration),
347 steps=int(request.get("steps", args.steps)),
348 cfg_scale=float(request.get("cfg_scale", args.cfg_scale)),
349 apg_scale=float(request.get("apg_scale", 1.0)),
350 seed=seed,
351 batch_size=batch_size,
352 sampler_type=request.get("sampler_type"),
353 init_audio=init_audio,
354 init_noise_level=float(request.get("init_noise_level", 1.0)),
355 inpaint_audio=inpaint_audio,
356 inpaint_mask_start_seconds=request.get("inpaint_mask_start_seconds"),
357 inpaint_mask_end_seconds=request.get("inpaint_mask_end_seconds"),
358 chunked_decode=chunked_decode,
359 )
360 sync_device(device)
361 wall_ms = (time.perf_counter() - started) * 1000.0
362
363 stems = save_batch_audio(audio, output_dir, int(model.model.sample_rate))
364 previous_audio.append(Path(stems[0]["audio"]))
365 timing = [
366 f"stable_audio.wall_ms {wall_ms:.6f}",
367 ]

Callers 1

mainFunction · 0.70

Calls 8

load_audioFunction · 0.85
chunked_decode_valueFunction · 0.85
save_batch_audioFunction · 0.85
seed_allFunction · 0.70
resolve_repo_pathFunction · 0.70
sync_deviceFunction · 0.70
getMethod · 0.45
generateMethod · 0.45

Tested by

no test coverage detected