live tone、スケールをサポートしたのでアルペジエーター相当の機能もサポート、ついでにSonic Piにあるという1/n確率判定機能もサポート。あとはコードをサポートすればそれなりのことができるようになるはず。
https://github.com/DBC-Works/live-tone
t=0,draw=e=>{for(t||(createCanvas(W=720,W),noFill(H=.5*W),stroke(0,8),background(255),noiseSeed(20240505)),translate(H,H),rotate(t),y=-1;y<=1;y+=.01)x=noise(y,t),circle(0-H*x,H*y,2),circle(H-H*(1-x),H*y,2);t+=.01};// #つぶやきProcessing #CreativeCoding
t=0,v=[],draw=()=>{for(t||createCanvas(W=720,W),noStroke(H=W/2),background(0),blendMode(SCREEN),noiseSeed(20240421),stroke(229,0,0,192),d=H*sin(t),i=0;i<360;i+=3)v[i]=t?v[i]+(2*noise(.01*i,t)-1):i,a=v[i]/360*TAU,point(H+cos(a)*d,H+sin(a)*d);t+=.001};// #つぶやきProcessing #CreativeCoding
t=u=v=0,draw=o=>{for(t||(createCanvas(W=720,W,WEBGL),noFill(H=W/2),stroke(255,192)),background(0),rotate(t),i=-PI;i<=PI;i+=.05*PI)for(j=-PI;j<=PI;j+=.05*PI)a=atan2(j,i),x=cos(a+i)*sin(t+j)*H,y=sin(j-i)*cos(a+t)*H,line(x,y,u,v),u=x,v=y;t+=.01};// #つぶやきProcessing #CreativeCoding
t=0,draw=a=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(H=W/2),fill(255,192)),background(0),i=-TAU;i<TAU;i+=.01*PI)for(rotate(.01*PI),j=TAU;-TAU<j;j-=.05*PI)fill(255,abs(j)/TAU*255),circle(cos(t+j*j)*H*sin(1.618*i),sin(i+t)*H*tan(j+t),2);t+=.002};// #つぶやきProcessing #CreativeCoding
t=0,draw=r=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(H=W/2),fill(255,128)),background(0),rotate(t),i=0;i<=1;i+=.01)for(rotate(i),j=0;j<=1;j+=.01)a=sin(i+j)*TAU,x=cos(a+j)*sin(t+i)*H,y=sin(a)*sin(t+i)*H,circle(x,y,2);t+=.001};// #つぶやきProcessing #CreativeCoding
t=0,draw=r=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(H=W/2)),background(0),i=0;i<=TAU;i+=.01)for(rotate(.01),j=0;j<=PI;j+=.1)fill(255,255*j/PI,255*i/TAU,196),x=cos(i*j)*H*tan(t+i),y=sin(i+t)*H*sin(sin(t)*j),circle(x,y,2);t+=.01};// #つぶやきProcessing #CreativeCoding
t=0,draw=r=>{for(t||(createCanvas(W=720,W),noStroke(H=W/2),background(0)),translate(H,H),rotate(t),fill(255,127),i=0;i<=1;i+=.001*PI)a=i*TAU+t,circle(cos(a)*H*sin(t),sin(a)*H*tan(t)*cos(i+t),2);fill(0,4),circle(0,0,W*tan(t)),t+=.001};// #つぶやきProcessing #CreativeCoding
t=0,draw=o=>{for(t||(createCanvas(W=720,W,WEBGL),noFill(H=W/2),stroke(255,192)),background(0),i=0;i<TAU;i+=.05)for(j=0;j<1.618*i;j+=.05)circle(cos(j+t)*H*cos(i+t),sin(i+t)*H*sin(j),2);t+=.005};// #つぶやきProcessing #CreativeCoding
void setup() {size(720,720,P3D);fill(255,16);}
float W=720,H=W/2,t,i,r;
void draw(){rect(0,0,W,W);stroke(0);translate(H,H);rotateX(PI/2-t);
for(i=-1;i<=1;i+=.01){rotate(i);push();translate(H*i,0);rotateX(t+t);rotate(t);box(r=H/20*i,r*9,r*4);pop();}t+=.001;}// #つぶやきProcessing #CreativeCoding
t=0,draw=a=>{for(t||(createCanvas(W=720,W,WEBGL,H=W/2),fill(255,8),background(255)),stroke(255),rect(-H,-H,W,W),stroke(0,192),i=-1;i<=1;i+=.01)rotate(i),push(),translate(H*i,0),rotateY(t*TAU),rotateX(t+t),rotate(t),box(r=H/20*i,9*r,4*r),pop();t+=.001};// #つぶやきProcessing #CreativeCoding
t=0,draw=o=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(H=W/2),colorMode(HSB,1,1,1,1)),background(t%1,1,.1),fill(1,.1),rotateX(-t),i=0;i<1;i+=.02)a=i*TAU,r=H+H*sin(a+t),push(),rotateX(a),rotateY(a+t),rotate(a*i+t),box(4*r,9*r,r),pop();t+=.001};// #つぶやきProcessing #CreativeCoding
t=0,draw=o=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(H=W/2),fill(255,128)),background(0),y=-1;y<=1;y+=.1)for(rotate(y*TAU),x=-1;x<=1;x+=.1)push(),translate(x*W*cos(y*t),y*W*sin(x+t)),rotateY(PI*cos(x+t)),rotateZ(PI*(y+t)),circle(0,0,H/2),pop();t+=.01};// #つぶやきProcessing #CreativeCoding
t=0,draw=o=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(H=W/2)),background(0),rotate(t),i=0;i<=TAU;i+=.1)for(fill(255,255*i/TAU),j=-PI;j<=PI;j+=.02)a=atan2(i+j,j-t),x=cos(a*a+t)*H*tan(j+i),y=sin(a+a-j)*H*cos(t+i),circle(x,y,2);t+=.01};// #つぶやきProcessing #CreativeCoding
t=0,draw=a=>{for(t||createCanvas(W=720,W,WEBGL),noStroke(H=W/2),fill(255),background(0),rotate(t),i=-1;i<=1;i+=.01)for(rotate(t),j=i;j<=i;j+=.1)fill(255*abs(sin(t)),255*abs(j),255),rotateX(t),x=cos(i+t)*sin(j*t),circle(H*x,H*sin((j+i)*t)*x,8*abs(j));t+=.001};// #つぶやきProcessing #Processing #CreativeCoding
t=0,draw=a=>{for(t||createCanvas(W=720,W,WEBGL),noStroke(H=W/2),background(0),i=0;i<TAU;i+=.05)for(rotateY(sin(t)),fill(255,255*i/TAU),j=0;j<TAU;j+=.05)circle(cos(i+j)*H*tan(j+t),sin(j+t)*H*tan(i+t),2);t+=.001};// #つぶやきProcessing #Processing #CreativeCoding
t=0,draw=o=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(),colorMode(HSB,1,1,1)),background(0),rotate(-t),y=0;y<=1;y+=.01)for(x=0;x<=1;x+=.01)fill(y,1,1),X=x*W*cos(t+y)*sin(x),Y=W*sin(x*TAU)*sin(t),circle(X,Y,2),circle(1.6*-X*tan(t),1.6*-Y*cos(t),2);t+=.01};// #つぶやきProcessing #CreativeCoding
t=0,g=1.618,draw=r=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(H=W/2)),background(0),rotate(t),i=0;i<=PI;i+=.1)for(fill(255,255*i/PI),a=0;a<=TAU;a+=.01)x=cos(a+i)*H*sin(a)*sin(t*g+i),y=sin(a+i)*H*sin(a*g)*cos(t+i),circle(x,y,2),circle(-x/g,-y/g,2);t+=.01};// #つぶやきProcessing #CreativeCoding
t=0,draw=o=>{for(t||(createCanvas(W=720,W,WEBGL),noStroke(H=W/2),colorMode(HSB,1,1,1,1)),background(0),i=0;i<=1;i+=.01)for(rotate(i),j=-i;j<=i;j+=.01)fill(i,.67,(t+i)/2,1),x=cos(i*TAU+t)*H*i*j,y=sin(i*j*TAU+t)*H*i*i*1.618,circle(x,y,2);t+=.01};// #つぶやきProcessing #CreativeCoding
All those in power must immediately stop using violence against the people.
Do not kill, mentally or physically.
すべての権力者はただちに民衆への暴力行使を停止せよ。
殺すな、精神的にも肉体的にも。