Mostrando entradas con la etiqueta 3D. Mostrar todas las entradas
Mostrando entradas con la etiqueta 3D. Mostrar todas las entradas

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