Glitch Beats in the Machine

supercollider
// 1. Define SynthDefs for kick and snare with glitch effects
SynthDef(\glitchKick, { |freq = 60, amp = 0.5, gate = 1, detune = 0, bitcrush = 0|
    var env = EnvGen.ar(Env.perc(0.01, 0.5), gate, doneAction: 2);
    var sig = SinOsc.ar(freq * (1 + detune.rand2 * 0.05), 0, 0.1) * env;
    sig = sig * amp;
    sig = sig * (1 - bitcrush); // Bitcrushing effect
    sig = sig + (sig * 0.3).clip * bitcrush; // Add back some highs
    sig = sig * 0.5 + (sig * 0.5).delay(0.01).clip; // Buffer manipulation
    Out.ar(0, sig ! 2);
}).writeDefFile;

SynthDef(\glitchSnare, { |freq = 200, amp = 0.3, gate = 1, noiseAmp = 0.2, bitcrush = 0|
    var env = EnvGen.ar(Env.perc(0.01, 0.3), gate, doneAction: 2);
    var noise = WhiteNoise.ar(noiseAmp) * env;
    var tone = SinOsc.ar(freq, 0, 0.1) * env;
    var sig = (noise + tone) * amp;
    sig = sig * (1 - bitcrush); // Bitcrushing effect
    sig = sig + (sig * 0.3).clip * bitcrush; // Add back some highs
    sig = sig * 0.5 + (sig * 0.5).delay(0.005).clip; // Buffer manipulation
    Out.ar(0, sig ! 2);
}).writeDefFile;

// 2. Build Score with percussive patterns and glitch effects
Score([
    [0.0, [\s_new, \glitchKick, 1001, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.5, \bitcrush, 0.3]],
    [0.5, [\s_new, \glitchSnare, 1002, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [1.0, [\s_new, \glitchKick, 1003, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.5, \bitcrush, 0.4]],
    [1.5, [\s_new, \glitchSnare, 1004, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [2.0, [\s_new, \glitchKick, 1005, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.2]],
    [2.5, [\s_new, \glitchSnare, 1006, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [3.0, [\s_new, \glitchKick, 1007, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.3]],
    [3.5, [\s_new, \glitchSnare, 1008, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [4.0, [\s_new, \glitchKick, 1009, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.4]],
    [4.5, [\s_new, \glitchSnare, 1010, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [5.0, [\s_new, \glitchKick, 1011, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.2]],
    [5.5, [\s_new, \glitchSnare, 1012, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [6.0, [\s_new, \glitchKick, 1013, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.3]],
    [6.5, [\s_new, \glitchSnare, 1014, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [7.0, [\s_new, \glitchKick, 1015, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.4]],
    [7.5, [\s_new, \glitchSnare, 1016, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [8.0, [\s_new, \glitchKick, 1017, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.2]],
    [8.5, [\s_new, \glitchSnare, 1018, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [9.0, [\s_new, \glitchKick, 1019, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.3]],
    [9.5, [\s_new, \glitchSnare, 1020, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [10.0, [\s_new, \glitchKick, 1021, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.4]],
    [10.5, [\s_new, \glitchSnare, 1022, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [11.0, [\s_new, \glitchKick, 1023, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.2]],
    [11.5, [\s_new, \glitchSnare, 1024, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [12.0, [\s_new, \glitchKick, 1025, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.3]],
    [12.5, [\s_new, \glitchSnare, 1026, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [13.0, [\s_new, \glitchKick, 1027, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.4]],
    [13.5, [\s_new, \glitchSnare, 1028, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [14.0, [\s_new, \glitchKick, 1029, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.2]],
    [14.5, [\s_new, \glitchSnare, 1030, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [15.0, [\s_new, \glitchKick, 1031, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.3]],
    [15.5, [\s_new, \glitchSnare, 1032, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [16.0, [\s_new, \glitchKick, 1033, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.4]],
    [16.5, [\s_new, \glitchSnare, 1034, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [17.0, [\s_new, \glitchKick, 1035, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.2]],
    [17.5, [\s_new, \glitchSnare, 1036, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [18.0, [\s_new, \glitchKick, 1037, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.3]],
    [18.5, [\s_new, \glitchSnare, 1038, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [19.0, [\s_new, \glitchKick, 1039, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.4]],
    [19.5, [\s_new, \glitchSnare, 1040, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [20.0, [\s_new, \glitchKick, 1041, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.2]],
    [20.5, [\s_new, \glitchSnare, 1042, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [21.0, [\s_new, \glitchKick, 1043, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.3]],
    [21.5, [\s_new, \glitchSnare, 1044, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [22.0, [\s_new, \glitchKick, 1045, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.4]],
    [22.5, [\s_new, \glitchSnare, 1046, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [23.0, [\s_new, \glitchKick, 1047, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.2]],
    [23.5, [\s_new, \glitchSnare, 1048, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [24.0, [\s_new, \glitchKick, 1049, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.3]],
    [24.5, [\s_new, \glitchSnare, 1050, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [25.0, [\s_new, \glitchKick, 1051, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.4]],
    [25.5, [\s_new, \glitchSnare, 1052, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [26.0, [\s_new, \glitchKick, 1053, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.2]],
    [26.5, [\s_new, \glitchSnare, 1054, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [27.0, [\s_new, \glitchKick, 1055, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.3]],
    [27.5, [\s_new, \glitchSnare, 1056, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [28.0, [\s_new, \glitchKick, 1057, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.4]],
    [28.5, [\s_new, \glitchSnare, 1058, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [29.0, [\s_new, \glitchKick, 1059, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.2]],
    [29.5, [\s_new, \glitchSnare, 1060, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [30.0, [\s_new, \glitchKick, 1061, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.3]],
    [30.5, [\s_new, \glitchSnare, 1062, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [31.0, [\s_new, \glitchKick, 1063, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.4]],
    [31.5, [\s_new, \glitchSnare, 1064, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [32.0, [\s_new, \glitchKick, 1065, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.2]],
    [32.5, [\s_new, \glitchSnare, 1066, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [33.0, [\s_new, \glitchKick, 1067, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.3]],
    [33.5, [\s_new, \glitchSnare, 1068, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [34.0, [\s_new, \glitchKick, 1069, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.4]],
    [34.5, [\s_new, \glitchSnare, 1070, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [35.0, [\s_new, \glitchKick, 1071, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.2]],
    [35.5, [\s_new, \glitchSnare, 1072, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [36.0, [\s_new, \glitchKick, 1073, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.3]],
    [36.5, [\s_new, \glitchSnare, 1074, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [37.0, [\s_new, \glitchKick, 1075, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.4]],
    [37.5, [\s_new, \glitchSnare, 1076, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [38.0, [\s_new, \glitchKick, 1077, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.2]],
    [38.5, [\s_new, \glitchSnare, 1078, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [39.0, [\s_new, \glitchKick, 1079, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.3]],
    [39.5, [\s_new, \glitchSnare, 1080, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [40.0, [\s_new, \glitchKick, 1081, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.4]],
    [40.5, [\s_new, \glitchSnare, 1082, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [41.0, [\s_new, \glitchKick, 1083, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.2]],
    [41.5, [\s_new, \glitchSnare, 1084, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [42.0, [\s_new, \glitchKick, 1085, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.3]],
    [42.5, [\s_new, \glitchSnare, 1086, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [43.0, [\s_new, \glitchKick, 1087, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.4]],
    [43.5, [\s_new, \glitchSnare, 1088, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [44.0, [\s_new, \glitchKick, 1089, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.2]],
    [44.5, [\s_new, \glitchSnare, 1090, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [45.0, [\s_new, \glitchKick, 1091, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.3]],
    [45.5, [\s_new, \glitchSnare, 1092, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [46.0, [\s_new, \glitchKick, 1093, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.4]],
    [46.5, [\s_new, \glitchSnare, 1094, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [47.0, [\s_new, \glitchKick, 1095, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.2]],
    [47.5, [\s_new, \glitchSnare, 1096, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [48.0, [\s_new, \glitchKick, 1097, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.3]],
    [48.5, [\s_new, \glitchSnare, 1098, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [49.0, [\s_new, \glitchKick, 1099, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.4]],
    [49.5, [\s_new, \glitchSnare, 1100, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [50.0, [\s_new, \glitchKick, 1101, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.2]],
    [50.5, [\s_new, \glitchSnare, 1102, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [51.0, [\s_new, \glitchKick, 1103, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.3]],
    [51.5, [\s_new, \glitchSnare, 1104, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [52.0, [\s_new, \glitchKick, 1105, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.4]],
    [52.5, [\s_new, \glitchSnare, 1106, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [53.0, [\s_new, \glitchKick, 1107, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.2]],
    [53.5, [\s_new, \glitchSnare, 1108, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [54.0, [\s_new, \glitchKick, 1109, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.3, \bitcrush, 0.3]],
    [54.5, [\s_new, \glitchSnare, 1110, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [55.0, [\s_new, \glitchKick, 1111, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.3, \bitcrush, 0.4]],
    [55.5, [\s_new, \glitchSnare, 1112, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.4, \bitcrush, 0.3]],
    [56.0, [\s_new, \glitchKick, 1113, 0, 0, \freq, 60, \amp, 0.7, \detune, 0.4, \bitcrush, 0.2]],
    [56.5, [\s_new, \glitchSnare, 1114, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.2, \bitcrush, 0.4]],
    [57.0, [\s_new, \glitchKick, 1115, 0, 0, \freq, 60, \amp, 0.7, \detune, -0.4, \bitcrush, 0.3]],
    [57.5, [\s_new, \glitchSnare, 1116, 0, 0, \freq, 200, \amp, 0.5, \noiseAmp, 0.3, \bitcrush, 0.2]],
    [58.0, [\s_new, \glitchKick, 1117, 0, 0, \