Skip to content

Instantly share code, notes, and snippets.

// @title ff chords
// @by mestela
// @DNB remix by Switch Angel
setcpm(50/4)
// define chords like Cm11/F as Cm11:F
let chart = "< D13:D1 Am9:A1 E9sus:E1 G2:B1 >"
// $drums: stack(
// s("bd:1").beat("0,7?,10",4).duck("3:4:5"),
@RH2
RH2 / 4.js
Created October 23, 2025 08:10
strudel_day 1 #3
setCpm(174/4) // ~170 BPM for liquid DnB
$drums2: stack(
s("bd:1").beat("0,7?,10",16).duck("3:4:5"),
s("sd:2").beat("[4,12] [1,2,3,4,5,6,7,8,9,10]?.9 [4,12,14]",16),
s("hh:4!8")
).orbit(2)
.gain(0.5)
.delay(0.08)
.color("[#c3e88d #c3e8dd #c3e8ee #c3e8ff]")
._pianoroll()
@RH2
RH2 / 3.js
Created October 23, 2025 07:02
strudel_dat 1 #3
setCpm(174/4) // ~170 BPM for liquid DnB
$drums2: stack(
s("bd:1").beat("0,7?,10",16).duck("3:4:5"),
s("sd:2").beat("[4,12] [1,2,3,4,5,6,7,8,9,10]?.9 [4,12,14]",16),
s("hh:4!8")
).orbit(2)
.gain(0.25)
.delay(0.08)
.color("[#c3e88d #c3e8dd #c3e8ee #c3e8ff]")
._pianoroll()
@RH2
RH2 / 2
Created October 23, 2025 03:41
strudel_day 1 ... #2
setCpm(155/4)
$drums: stack(
// s("bd:1").beat("0,7?,10",16).duck("3:4:5"),
s("sd:2").beat("4,12",16),
s("hh:4!4")
).orbit(2)
.gain(0.4)
.delay(0.05)
._scope()
@RH2
RH2 / 1
Created October 23, 2025 00:54
strudel_ day 1
register('rlpf', (x,pat) => {return pat.lpf(pure(x).mul(12).pow(4))})
setGainCurve(x=>Math.pow(x,2))
setCpm(170/4)
$drums: stack(
s("bd:1").beat("0,7?,10",16).duck("3:4:5"),
s("sd:2").beat("4,12",16),
s("hh:4!4")
).orbit(2)
.gain(1.1)
@RH2
RH2 / armaturecache.py
Created September 21, 2025 08:19
json armature cache (restore head/tail/roll)
import bpy
import json
import os
bl_info = {
"name": "Armature Cache SAVE/Restore",
"blender": (3, 0, 0),
"category": "Object",
}
@RH2
RH2 / code.c
Created June 20, 2025 20:16
FIFO game rotation lsm6dsv32x
#include "lsm6dsv32x_reg.h"
#include <stdint.h>
#include <stdio.h>
#include <string.h>
/* Private macro -------------------------------------------------------------*/
/*
* Select FIFO samples watermark, max value is 512
* in FIFO are stored acc, gyro and timestamp samples
*/
@RH2
RH2 / gist:51b93fb2d5464dada2a35135c0be3c8b
Created June 20, 2025 19:28
CSV - 4x LSM6DSV32X (time, busid, sensorid, q1,q2,q3,q4)
32372067, 0, 0, 0.131226, 0.048706, -0.069397, 0.987720
32372067, 1, 0, 0.072876, 0.993164, 0.061981, 0.066877
32372071, 0, 1, 0.001317, 0.980957, -0.197754, 0.000000
32372072, 1, 1, 0.141602, 0.977539, 0.117004, 0.103326
32372076, 0, 0, 0.131226, 0.048737, -0.069397, 0.987719
32372077, 1, 0, 0.072876, 0.993164, 0.061981, 0.066877
32372082, 0, 1, 0.001327, 0.980957, -0.197754, 0.000000
32372082, 1, 1, 0.141602, 0.977539, 0.117004, 0.103326
32372086, 0, 0, 0.131226, 0.048706, -0.069458, 0.987716
32372087, 1, 0, 0.072876, 0.993164, 0.061981, 0.066877
// Load environment variables
require('dotenv').config();
const { Client, GatewayIntentBits, Partials, PermissionsBitField, EmbedBuilder, AttachmentBuilder } = require('discord.js');
const fs = require('fs');
const path = require('path');
const csv = require('csv-parser');
const createCsvWriter = require('csv-writer').createObjectCsvWriter;
// Create a new Discord client
// Discord Speed Drawing Bot
const { Client, GatewayIntentBits, Partials, EmbedBuilder, AttachmentBuilder } = require('discord.js');
const fs = require('fs');
const path = require('path');
// Initialize client with necessary intents
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,