Programming using musical notes

On today’s call we were talking about different unusual languages and I was reminded of this: Velato - Esolang

It uses Midi input so you program using musical notes so you can hear your programs!

EDIT: I heard about it on this podcast a few years ago, which is worth mentioning anyway because it’s great (almost as cool as the Exercism Podcast in fact): Programming Throwdown: Episode 37: Funky Languages

This is immense! Have you tried it?

I haven’t, but now would be a great time! How cool would it be to have a musical language track!?!

I’ve had an interest in learning about the MIDI format for quite some time, and have a repo here with a little web app that parses the files and lets you explore them: BTowersCoding/mecca-midi: Clojurescript app for exploring MIDI files (github.com) It’s basically a hex-editor that understands some of the particulars of the MIDI spec.

EDIT: A few years ago I was giving a talk at LinuxFest Northwest about an early version of my music sequencer (at the time it was only a bash script!), and the author of this project happened to be in the audience: GitHub - milkey-mouse/swood: Turn any sound into an instrument

He approached me afterwards and gave me his info (along with a bunch of patches for my program that he was working on while I was talking!), and I just happened to be revisiting this the other day because of my recent interest in Fourier analysis. But I also noticed that it happens to include a Python MIDI parser, so I’m posting it here because it might come in handy. Only now do I fully appreciate the value of that chance encounter.

1 Like

Wow, this is the first time ever that I read about Esolang.
this whole concept of an esoteric programming language blows my mind honestly(in a good way!) Very nice, thnx!

2 Likes

Oh my, this is a fantastically esoteric language I had never heard of!

2 Likes

It would be awesome. But I’m not writing the Representer :joy:

1 Like

Moving closer to attempting a thing with this :sunglasses:

I was initially a bit daunted because I’m accustomed to higher-level langs. And it mentions on the website that functions have not been implemented yet, and as far as I can tell, the development of the project has been stalled since like 2008.

The most experience I have with lower-level langs is from deconstructing Nintendo sound files (.nsf format) which are written in assembly. (Interestingly, it’s the converse scenario here - instead of generating music from code, here we are compiling music into code!)

So I was trying to figure out what other tracks I should look at to gain inspiration from, to entertain a hypothetical timeline in which we were to develop a velato track on Exercism. Looking at the spec a little bit, it appears to be stack based, like Forth. so that’s a possible lead to help demystify it a bit.

Also worth mentioning are a couple of earlier musical esolangs that it appears to have spiritually descended from, Prelude and Fugue.

EDIT: I just tracked down the creator’s Github, and evidently there’s a Version 2 (last updated 6 years ago): rottytooth/Velato: Velato language - write code with music (github.com)

Other notable projects by Daniel Temkin: