Shfla: Shoegaze Hierarchical Fractal Language Architecture
github.comHi! I'm a college freshman at Northeastern, and this is my first hackathon project for a major hackathon (MIT Media Lab). It won the Unconventional Computing track prize, so I'm pretty happy! I made this because I'm a major conlanger, and I was wondering if it would be possible to think in terms of sound when looking at an image. Fractals have easy-to-map parameters, so I created SHFLA, a language which takes in music, and creates fractals based on 0.1 second (you can change this) chunks of music! It's Turing-complete, so you can technically encode a ridiculous amount of information and computation in my system, although writing it out as music might take a while.
Hope you find the project cool :)
The concept reminded me of the song Lateralus by Tool, where geometric fractals are a theme.
https://music.youtube.com/watch?v=Y7JG63IuaWs
https://en.wikipedia.org/wiki/Lateralus
https://www.loudersound.com/features/the-story-behind-tools-...
It's a music visualizer, just call things what they are.
You'll get better responses without throwing in terms like "shoegaze" or "architecture" for something less than 300 loc.
I'm not understanding what this has to do with shoegaze. Did you just use that in the name for funsies?
I was hoping it was going to be a very niche language where e.g. `await` is `while you sleep`, `void` functions are `loveless` and so on
I'm so adding this in the next version!
lol
yes 100% but the reply to your comment is very funny so I'll implement it in the next version :)
the project started as a shoegaze-specific language, hence the name!
this is pretty cool! consider including a demo video and images at the beginning when explaining the project
Upvoted for Shoegaze reference. Suggest hosting a demo with My Bloody Valentine "Loveless" as the default musical selection. I will also echo the other commenters who believe your communication needs to improve; it is unlikely that I will download and install your code because the risk/reward ratio is poor, as it is for most OSS (open-source software).
Note: distribution wins in software. Suggest you rewrite this to be at the intersection of distributable and local, which basically means running in the browser. Consider porting to JavaScript and distributing either as a simple static webpage, or perhaps a codepen. This might be an interesting use of two interesting but little-used browser APIs, namely WebAudio and WebGL or perhaps WebGPU. For simplicity I'd target Chrome first.
understood, will rework it this week. Thanks for the feedback :)