I recently wrote a simple Guru synth definition for the Korg Volca Beats and thought it may be of use to someone else out there. Enjoy!
-- Part Levels
local group_level = Group {
name = "Part Levels",
Parameter {
id = "level_kick",
name = "Kick Level",
number = 60,
default_value = 80,
sysex_message_template = {0xB9, 0x28, "vv"}
},
Parameter {
id = "level_snare",
name = "Snare Level",
number = 41,
default_value = 80,
sysex_message_template = {0xB9, 0x29, "vv"}
},
Parameter {
id = "level_lo_tom",
name = "Lo Tom Level",
number = 42,
default_value = 80,
sysex_message_template = {0xB9, 0x2A, "vv"}
},
Parameter {
id = "level_hi_tom",
name = "Hi Tom Level",
number = 43,
default_value = 80,
sysex_message_template = {0xB9, 0x2B, "vv"}
},
Parameter {
id = "level_cl_hat",
name = "Cl Hat Level",
number = 44,
default_value = 80,
sysex_message_template = {0xB9, 0x2C, "vv"}
},
Parameter {
id = "level_op_hat",
name = "Op Hat Level",
number = 45,
default_value = 80,
sysex_message_template = {0xB9, 0x2D, "vv"}
},
Parameter {
id = "level_clap",
name = "Clap Level",
number = 46,
default_value = 80,
sysex_message_template = {0xB9, 0x2E, "vv"}
},
Parameter {
id = "level_claves",
name = "Claves Level",
number = 47,
default_value = 80,
sysex_message_template = {0xB9, 0x2F, "vv"}
},
Parameter {
id = "level_agogo",
name = "Agogo Level",
number = 48,
default_value = 80,
sysex_message_template = {0xB9, 0x30, "vv"}
},
Parameter {
id = "level_crash",
name = "Crash Level",
number = 49,
default_value = 80,
sysex_message_template = {0xB9, 0x31, "vv"}
}
}
-- PCM Speeds
local group_speed = Group {
name = "PCM Speeds",
Parameter {
id = "speed_clap",
name = "Clap Speed",
number = 50,
default_value = 80,
sysex_message_template = {0xB9, 0x32, "vv"}
},
Parameter {
id = "speed_claves",
name = "Claves Speed",
number = 51,
default_value = 80,
sysex_message_template = {0xB9, 0x33, "vv"}
},
Parameter {
id = "speed_agogo",
name = "Agogo Speed",
number = 52,
default_value = 80,
sysex_message_template = {0xB9, 0x34, "vv"}
},
Parameter {
id = "speed_crash",
name = "Crash Speed",
number = 53,
default_value = 80,
sysex_message_template = {0xB9, 0x35, "vv"}
}
}
-- Global Effects
local group_global_fx = Group {
name = "Global Effects",
Parameter {
id = "global_stutter_time",
name = "Stutter Time",
number = 54,
default_value = 0,
sysex_message_template = {0xB9, 0x36, "vv"}
},
Parameter {
id = "global_stutter_depth",
name = "Stutter Depth",
number = 55,
default_value = 0,
sysex_message_template = {0xB9, 0x37, "vv"}
}
}
-- Part Effects
local group_part_fx = Group {
name = "Part Effects",
Parameter {
id = "part_tom_decay",
name = "Tom Decay",
number = 56,
default_value = 80,
sysex_message_template = {0xB9, 0x38, "vv"}
},
Parameter {
id = "part_cl_hat_decay",
name = "Cl Hat Decay",
number = 57,
default_value = 80,
sysex_message_template = {0xB9, 0x39, "vv"}
},
Parameter {
id = "part_op_hat_decay",
name = "Op Hat Decay",
number = 58,
default_value = 80,
sysex_message_template = {0xB9, 0x3A, "vv"}
},
Parameter {
id = "part_hat_grain",
name = "Hat Grain",
number = 59,
default_value = 80,
sysex_message_template = {0xB9, 0x3B, "vv"}
}
}
-- Synth definition
return SynthDefinition {
id = "korg_volca_beats",
name = "Korg Volca Beats",
author = "Nick Hladek [nickhladek@gmail.com]",
beta = true,
content_height = 300,
Section {
group_level,
group_speed,
group_global_fx,
group_part_fx
}
}