Skip to content

Instantly share code, notes, and snippets.

View gabochi's full-sized avatar

Gabriel Vinazza gabochi

View GitHub Profile
#N canvas 0 56 1366 712 10;
#X obj 445 347 dac~;
#X obj 445 64 phasor~ 0.0125;
#X obj 737 228 expr~ $v1/($v1*80*8%3%2+1)*($v1*80*8%4%3%2*($v1*80%2)+1)*80000*8+$v1*80000*($v1*8*8%10*8)%8
;
#X obj 738 297 expr~ ($v1*($v1/2000%3+1)%2)*pow(sin(1000/($v1%1000+600))
\, 50)*0.2*!($v1/1000%32*25%32<25)+($v1/(8000/pow(2 \, $v1/4000%3+1))%2)*!($v1/8000%2)*0.5
\; ($v1*($v1/2000%3+1)%2)*pow(sin(1000/($v1%1000+600)) \, 50)*0.2*($v1/1000%32*25%32<25)+($v1/(8000/pow(2
\, $v1/4000%3+1))%2)*($v1/8000%2)*0.5;
#X obj 442 84 expr~ $v1*80000*2%250+$v1*10*8*8*8%(8*8*8*10)*125/80
#!/bin/bash
# init time
t=0
# width (cols)
w=64
# sleep time after each line
s=0.05
# default expression
@gabochi
gabochi / bytebeat-cheatsheet.md
Last active April 6, 2023 19:19
Bytebeat Cheatsheet

Bytebeat Cheatsheet v2

Categoría Expresión Descripción Info
Generador t Diente de sierra (asc)
Generador -t Diente de sierra (des)
Operador & Mod forma y amplitud (techo)
Operador ^ Mod forma
Operador | Mod forma y amplitud (piso)
@gabochi
gabochi / microtechno.md
Last active March 30, 2023 20:13
microtechno - bytebeat en 19 caracteres

microtechno

Bytebeat es una técnica de síntesis inventada o descubierta por Viznut que podría presentarse bajo el lema "menos es más". La idea de este documento es explicar a partir del siguiente ejemplo:

t^60|t*.97&127|t>>4

Pueden escucharlo y modificarlo en un editor como dollchan o greggman y también directamente desde la terminal usando python y aplay:

nov 19

Este tipo de división secuenciada genera un desface, muy interesante y explotable:

t t 3 >> 201 & /

nov 2

for t in {0..8192}; do printf "\x$(printf %x $(( t<<(t>>10&3) &255)))"; done > bytebeat.raw

Machetito para arrancar con el bytebeat

tabla rápida

token explicación ejemplos
t tiempo, frecuencia fundamental t,t*2,t/2
<<,>> bitshifters, cambio de octava, figura rítmica, etc t<<3,t>>4
&,|,^ AND OR y XOR, moldean, modulan, mezclan, son los operadores más característicos t&150, t|150, t&t*.99, t|t*5.01, t^255, t&t>>4, t|t>>4
+,-,% después de ciertas modulaciones, estas operaciones generan distorsiones rítmicas (t&t>>5)-50, (t|t>>5)+50, (t&t>>5)%270, (t|220)%190

Escribir archivo bytebeat en bash

for t in {0..8192}; do printf "\x$(printf %x $(( t<<(t>>10&3) &255)))"; done > bytebeat.raw

8192 es simplemente el largo del archivo en samples, bash es lento y por eso lo hice corto (1 segundo)

Ejecutarlo