Mostrando entradas con la etiqueta gibber. Mostrar todas las entradas
Mostrando entradas con la etiqueta gibber. Mostrar todas las entradas

10 de diciembre de 2019

Las 16 entradas más populares de mi blog

Comparte:    Facebook Twitter
Leer más

4 de febrero de 2019

Programando la música de Star Wars con Gibber


Como comenté en un mi última entrada, estoy aprendiendo con mis hijas a programar música, dibujos 2D y escenas 3D con Gibber. Para practicar un poco hemos buscado las notas del tema principal de Star Wars, y las hemos programado.

A continuación el código de la música de la Star Wars con Gibber:

Notation.on()
a = SoundFont('piano')
a.note.seq([
  "F3", "C4",
  "Bb3", "A3", "G3", "F4", "C4",
  "Bb3", "A3", "G3", "F4", "C4",
  "Bb3", "A3", "Bb3", "G3", "C3", "C3", "C3",
  "F3", "C4",
  "Bb3", "A3", "G3", "F4", "C4",
  "Bb3", "A3", "Bb3", "G3", "C3", "C3",
  "D3", "D3", "Bb3", "A3", "G3", "F3",
  "F3", "G3", "A3", "G3", "D3", "E3", "C3", "C3",
  "D3", "D3", "Bb3", "A3", "G3", "F3",
  "C4", "G3", "G3", "C3", "C3",
  "D3", "D3", "Bb3", "A3", "G3", "F3",
  "F3", "G3", "A3", "G3", "D3", "E3", "C4", "C4",
  "F4", "F3",
  "C4", "C3", "C3", "C3",
  "F3", "C4",
  "Bb3", "A3", "G3", "F4", "C4",
  "Bb3", "A3", "G3", "F4", "C4",
  "Bb3", "A3", "Bb3", "G3", "C3", "C3", "C3",
  "F3", "C4",
  "Bb3", "A3", "G3", "F4", "C4",
  "Bb3", "A3", "G3", "F4", "C4",
  "Bb3", "A3", "Bb3", "G3", "C3", "C3", "C3",
  "F2", "F2", "F2", "F2", "F2"
], [
  4/8, 4/8,
  2/24, 2/24, 2/24, 4/8, 2/8,
  2/24, 2/24, 2/24, 4/8, 2/8,
  2/24, 2/24, 2/24, 4/8, 2/24, 2/24, 2/24,
  4/8, 4/8,
  2/24, 2/24, 2/24, 4/8, 2/8,
  2/24, 2/24, 2/24, 4/8, 1/8, 1/8,
  3/8, 1/8, 1/8, 1/8, 1/8, 1/8,
  2/24, 2/24, 2/24, 1/8, 1/8, 2/8, 1/8, 1/8,
  3/8, 1/8, 1/8, 1/8, 1/8, 1/8,
  1/8, 1/8, 4/8, 1/8, 1/8,
  3/8, 1/8, 1/8, 1/8, 1/8, 1/8,
  2/24, 2/24, 2/24, 1/8, 1/8, 2/8, 1/8, 1/8,
  4/8, 4/8,
  6/8, 2/24, 2/24, 2/24,
  4/8, 4/8,
  2/24, 2/24, 2/24, 4/8, 2/8,
  2/24, 2/24, 2/24, 4/8, 2/8,
  2/24, 2/24, 2/24, 4/8, 2/24, 2/24, 2/24,
  4/8, 4/8,
  2/24, 2/24, 2/24, 4/8, 2/8,
  2/24, 2/24, 2/24, 4/8, 2/8,
  2/24, 2/24, 2/24, 4/8, 2/24, 2/24, 2/24,
  2/8, 2/24, 2/24, 2/24, 2/8
])
Y aquí os dejo un pequeño vídeo con el código ejecutándose:


Comparte:    Facebook Twitter
Leer más

25 de enero de 2019

Programando música, dibujos 2D y escenas 3D con Gibber


Tengo 2 hijas pequeñas y como propósito de inicio de año me propuse para más tiempo de calidad con ellas. Y que mejor para ello que encontrar algo que nos guste a ambos. Están los socorridos juegos de mesa y de cartas, pero a mi me gusta mucho programar, y a mis hijas a una le gusta mucho la música y a otra mucho las artes gráficas.

Buscando información sobre como juntar esos mundos, descubrí que existían las algorave, que es la abreviatura de "algorithmic rave" y que consiste en una rave (evento en donde la gente baila música electrónica) con la particularidad de que la música es generada a partir de algoritmos, a menudo utilizando técnicas de "live coding" o programación en directo.

Estuve probando distintos entornos y el que más me convenció fue Gibber, porque no hace falta instalar nada, se ejecuta desde el propio navegador y permite generar tanto música como dibujos 2D y escenas 3D.

A continuación un pequeño código de ejemplo:

a = Drums('x*ox*xo-')
  .pitch.seq( [.5,1,2,4], 1/8 )
  .pan.seq( [-1,0,1], 1/8 )
  .shuffle.seq( null, 1 )

a = Cube()
  .rotation.seq( [.5,1,2,4], 1/8 )
  .position.x.seq( [-50,0,50], 1/8 )
  .scale.seq( [.5,1,2,4], 1/8 )
Y aquí os dejo un pequeño vídeo con el código ejecutándose:



Bibliografía:
- Manual de Gibber.
- Referencia de Gibber.
Comparte:    Facebook Twitter
Leer más