Unified audio scene generation via MiDashengLM-Gen (LLM-driven autoregressive flow matching) - speech, music, SFX, and ambience in one 16 kHz mix from text
Three tools with significant definition gaps. audio_scene has a detailed schema but lacks clarity on operation semantics and error recovery. prefab_cards and midasheng_help have empty schemas ({}), violating the requirement that every parameter needs a description and type. Descriptions are present but generic, audio_scene's description lists operations without explaining when to use each. No tool descriptions explain error conditions, recovery paths, or prerequisites. Parameter naming is inconsistent: 'operation' is a generic verb; 'asr', 'sfx', 'env' are cryptic abbreviations. No output schema documented for any tool. This server would not pass code review for production agent use.
Generate coherent 16 kHz audio scenes blending speech, music, sound effects, and environment from structured text captions. Supports operations: generate, status, samples, list, get, delete.
The full guide for driving audio scene generation
Prefab UI cards for audio scene generation interface
Two tools (prefab_cards, midasheng_help) have empty input schemas ({}). These tools are not self-documenting and LLMs cannot infer parameter requirements.
audio_scene uses cryptic parameter names: 'asr' (automatic speech recognition), 'sfx' (sound effects), 'env' (environment). These abbreviations force LLMs to guess meaning. Should be 'speech_recognition_text', 'sound_effects_description', 'environment_description'.
No output schema documented for any tool. LLMs cannot plan downstream calls or extract required fields. audio_scene should document what 'generate' returns (scene_id, audio_url, duration, etc.); 'status' should return (status, progress_percent, error_message); 'list' should return (scenes[], total_count, next_offset).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
audio_scene description lists operations ('generate, status, samples, list, get, delete') but does not explain when to use each or what each returns. Descriptions should answer: What does it do? When should the LLM call it? What does it return?
No error handling guidance. If audio_scene generation fails (invalid caption, model unavailable, timeout), the tool provides no recovery path. Descriptions should include: 'If generation times out, call status() to check progress. If model is unavailable, try again in 5 minutes.'