Decent-Sampler Drums MCP Server
by dandeliongold
Verified
generate_drum_groups
Generate DecentSampler <groups> XML for drum kits.
Best Practices:
- Group all samples for a drum piece (e.g., all kick mics) into a single group to prevent voice conflicts
- Each sample should have start/end markers to prevent looping issues
- Use the analyze_wav_samples tool to get accurate sample lengths: analyze_wav_samples(["Kick_Close_Soft.wav"]) -> {"sampleLength": 60645} Then use start="0" end="60645" in your sample definition
- When using multiple mic positions (e.g., Close, OH, Room), include them all in the same group
- Use velocity layers within a group to control dynamics
Example Structure: { "drumPieces": [{ "name": "Kick", "rootNote": 36, "samples": [ // All mic positions for soft velocity {"path": "Kick_Close_Soft.wav", "start": 0, "end": 60645}, // Length from analyze_wav_samples {"path": "Kick_OH_L_Soft.wav", "start": 0, "end": 60000}, {"path": "Kick_OH_R_Soft.wav", "start": 0, "end": 60000}, // All mic positions for medium velocity {"path": "Kick_Close_Medium.wav", "start": 0, "end": 70162}, // Length from analyze_wav_samples ... ] }] }
Workflow:
- First use analyze_wav_samples to get accurate lengths for all your WAV files
- Use those lengths to set the end markers in your drum pieces configuration
- Pass the complete configuration to generate_drum_groups to create the XML
Input Schema
Name | Required | Description | Default |
---|---|---|---|
drumPieces | Yes | ||
globalSettings | Yes |