Skip to content

Instantly share code, notes, and snippets.

@gabochi
Last active June 13, 2024 02:44
Show Gist options
  • Save gabochi/0c7e72853fd80e61c836d20f3cf14e9d to your computer and use it in GitHub Desktop.
Save gabochi/0c7e72853fd80e61c836d20f3cf14e9d to your computer and use it in GitHub Desktop.

jun 12

t 90 | 149 %
t 90 | t 8.1 / +
t 90 | t 8 / | 307 %

Después del taller de Nico y Mark armé unas expresiones para controlar con un solo pote, me ayudó a depurar algo de lo que venía probando.

https://dollchan.net/bytebeat/#v3b64bc5NDoMgEAXgqxgSjfiTkUYabNKbEDfqFruYnXr3MkCQNixImI/3gIMt+7qxF9Pms+NWvAsxTJ022gDUeE4DL8kJ7EhbXgopY8BJj6C84IwxT+cVgk+I2AjSpqL4fysnfSqu1d6CzeO0Sz7hx+aMJTl7y5jL3m7fVoI3dfh2RDcRS2fs+gI

jun 6

Crear un archivo bytebeat con una sola instrucción en Python, sin necesidad de importar nada:

open('testbyte','wb').write(bytearray([(t<<1|t>>4)-210&255 for t in range(1<<16)]))

may 27

Siguiendo con un modelo similar, una variación más ambiental:

t 94 | t 95.1 / %

Puede transformarse rápidamente en algo más rítmico nada más corriendo la coma y cambiando el % por - o +:

t 94 | t 9.51 / -

may 24 - touchbit

Otros ejemplos:

t 55 & t 32.1 / - t 8 / | 70 +
t 55 % t 32 / + t 4.4 / & 47 -

drone variation

Más corta incluso:

t 16 / t 101 & % 2 *
t 9 / t 69 & % 3 *

may 23 - touchbit

Los shifters son muy lindos pero usando / nos ahorramos 2 términos: t .99 * 2 >> vs t 3.99 / !!!

Mientras jugaba con esta forma de achicar la expresión llegué a una especie de evolución de la estructura que vengo usando hace rato.

  1. Moldear la onda con &, |, ^
  2. Restarle una t
t 138 & t 7.9 / +

Las variaciones tímbricas y rítmicas son un montón, solamente modificando dos números.

  1. Por supuesto, a esto se puede agregar un "segundo envolvente" con &, |, ^ para darle una modulación y progresión más dinámica y prolongada, sumar o restar un valor fijo, en fin, como hace tiempo vengo repitiendo.
t 193 & t 7.9 / - t 8 / & 60 -
  1. Otra variación, con %, sin usar / ni floats:
t 155 & t 334 % - 
  1. Se puede lograr algo parecido a lo que hicimos con los floats pero solamente con enteros, usando %:
t 201 & t 8 / 250 % - 
  1. La forma de la primera onda es determinante, puede suprimirse el "bajo" completamente y dejar solamente los "glitches":
t 3 & t 3.01 / 1031 % - 

--

al revés - módulo al final

me doy cuenta que debería escribir al revés, siempre la novedad arriba... bue, ya acomodaré el resto.

la idea del módulo al final es producir una distorsión y una progresión:

t t 4 >> & 257 %

t t 1 >> | 255 %

touchbit notes

Esta es una anotación de los recursos de bytebeat que más estoy usando. Está todo en RPN (postfix) porque es más rápido y sucinto, por eso con Pacha decidimos que touchbit use ese modo.

foundations

La modulación más básica, que sirve como base de todo lo demás puede ser algo como t t 5 >> & El 5 determina la velocidad del "envolvente" y con & o | cambiamos la "dirección", es decir, si crece o se desvanece.

wrap

Lo que hace que la base se vuelva más percusiva e interesante es la distorsión que generan los saltos forzados a través de una suma o resta después de esta primera modulación:

t t 5 >> & 20 -

El valor que restamos (o sumamos, en caso de que hayamos usado una modulación con |) es el que determina distintos patrones rítmicos ya que los saltos siempre se dan en subdivisiones por la evolución binaria de la onda.

alternative spice

Optativamente, si no encuentro una acentuación que me convenza del todo, modifico un poco la fase de la modulación.

t t 5 >> 32 ^ & 20 -

Generalmente uso ^ pero también se puede con |, & o cualquier operación que altere el ciclo largo del envolvente.

desarrollo

Esta última observación me da pie para explicar lo que me parece que es la clave para provocar desarrollos largos y "orgánicos".

t t .99 * 5 >> 20 -

Se trata de desfasar un poco (detune) una t que tenga mucha incidencia rítmica. La diferencia con la otra t y/o el hecho de que sumemos o restemos un valor fijo, da como resultado una "evolución" de los patrones generados.

Para que esto sea más notorio ya podemos introducir el último de los elementos básicos que suelo utilizar.

secuencia melódica

3 1 t 10 >> 2 % pick t * t .99 * 5 >> & 20 -

Analicemos esta primera parte de la expresión:

t 10 >> 2 %

No se trata más que de una secuencia o contador cuya extensión es determinada por el 2 % (podría también usarse 1 & pero es preferible % porque más adelante podemos generar secuencias "irregulares" como 3 %).

El 10 es simplemente la velocidad de la secuencia.

El resultado de esta expresión es 0, 1, 0, 1, ..., que luego recoge pick como operando y trae el elemento n de la pila. En este caso, el elemento 0 es 3 (una quinta) y el 1 es 1 (la fundamental). Tenemos, entonces, 3, 1, 3, 1, ... que será el factor de la multiplicación siguiente t *. En definitiva: t 3 *, t 1 *, t 3 *, ....

Seguramente así puedan notar mucho mejor la evolución que provoca el pequeño desface del envolvente.

combinación de envolventes

Agreguemos t 2 >> | al final de la expresión que construímos recién. Es más, podemos incluso prescindir de la sencuencia melódica para simplificar el punto.

t t .99 * 5 >> & 20 - t 2 >> |

Combinar envolventes es una buena manera de generar distintos patrones, sobre todo cuando uno está desfasado. Acá dejo dos ejemplos más. Uno con ^ y otro donde el envolvente se combina antes de la resta.

t t .99 * 5 >> & 20 - t 5 >> ^

t t .99 * 5 >> & t 5 >> & 20 -

mejores secuencias

1 t 1 ^ 0 2.1 t 10 >> 4 % pick t *

timbres más sofisticados

1 3 4 2.1 t 10 >> 4 % pick t * dup .99 * ^


desarrollos sin floats

Muchas implementaciones de bytebeat no admiten floats. Se pueden lograr variaciones interesantes alterando el largo de la fase con %.

t t 4 >> 199 % & 34 -

t t 4 >> & 20 - t 3 >> 255 % &

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment