Billard – Generate music from ball collisions in 2D space
Billard – Generate music from ball collisions in 2D space
Hello HN! Here's Billard. It combines music and physics into a unique creative tool, as I explore various unconventional methods for generating music. Most traditional music composition tools revolve around the idea of a repeatable pattern. Billard is a webapp that never repeats itself. It generates music automatically based on the collisions of balls in a 2D space. Collisions trigger notes (or chords) in a given key. One can add balls or move them (y-position is pitch); the app remembers its state between reloads; or it can be reset with the 'init' button on the top left. Gravity can be adjusted in real time to change the behavior of the balls. It owes a lot of inspiration to Brian Eno and Erik Satie (inventor of musique d'ameublement , or "furniture music"). Some may think the lack of pattern makes it not musical enough -- but this lets it be listened to —and watched— for a while without boredom. The webapp is made using plain JavaScript. (All SVG icons were made 'by hand'.) It uses Tone.js only for triggering piano samples. Beyond piano, it's MIDI-enabled and works well at slow speed with haunting, dark synth sounds. Hope you like it!
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Generate 2D Space Scenes in WebGL
Procedurally generate 2D spaceship sprites through directed evolution
Tardoria the 2D Space Shooter Game
Ball falls on the teapot in WebGL
FRP Ball Bounce
Bouncing Ball, most uncontrollable ball you have ever played with
Bouncy O – Bounce the ball while avoiding obstacles
Keep the ball up
Simulating Galaxies in 2D
8Land is a 2D pixelart metaverse