Live data from Hacker News

Show HN: An algorithmic audio landscape

ambient.garden

1–10 of 42 posts

Show HN: An algorithmic audio landscape

#1
This is an web audio experiment I've been wanting to do for a long time. Basically an ambient music composition, but all the sound elements are laid out in space, and that musical space can be explored freely.

It's definitely inspired by in-world music that sometimes appears in games. I basically took that concept, keeping the music aspect, and dropping the entire "game" aspect.

I also turned it into a more "traditional" non-interactive album, but since I started with code, why not program the whole thing? Had a blast making the entire album from code, the complete source for the album is here: https://github.com/pac-dev/AmbientGardenAlbum

Show HN: An algorithmic audio landscape
ambient.garden

Re: Show HN: An algorithmic audio landscape

#3
OK, the "everything is made of a million dots" rendering style is pretty neat. I don't think I've seen its kind before. I also like that it somehow ran perfectly on my phone.

IMO interactive in-world music peaked with Portal 2, the effort put into that was impressive.

Re: Show HN: An algorithmic audio landscape

#4
post #3

OK, the "everything is made of a million dots" rendering style is pretty neat. I don't think I've seen its kind before. I also like that it somehow ran perfectly on my phone. IMO interactive in-world music peaked with Portal 2, the effort put into that was impressive.

I think I agree on Portal 2! Honestly, the rendering style may have been an unnecessary challenge. It was way harder to implement than I thought and caused me to almost abandon the whole thing.

Re: Show HN: An algorithmic audio landscape

#6
post #5

This is really cool. The music and world (especially the mysterious structure in the distance) remind me of the eeriness of Myst. Can you share more info about how you built the 3D world made of dots?

Thanks! It was honestly kind of a dark path. The graphics are based on Three.js (which is awesome), and I initially rendered everything with a rarely-used WebGL/OpenGL feature called GL_POINTS, which seemed like a smart way of doing an impressionist style. Three.js exposes it like this: https://threejs.org/docs/#api/en/objects/Points

Of course, things are never that simple, and it turns out you can't just draw a million points with GL_POINTS, performance is terrible, they don't efficiently occlude each other, etc. So I rendered the terrain as regular triangles, and wrote a terrain shader that makes it look like the triangles are made of points. I re-wrote that shader several times, and actually, it's still not working correctly, but at some point you have to stop. That shader is here: https://github.com/pac-dev/AmbientGarden/blob/master/Web/ver...

Post reply on HN