[HN Gopher] Velato: A programming language where source code mus...
___________________________________________________________________
Velato: A programming language where source code must be a valid
MIDI music file
Author : p4bl0
Score : 66 points
Date : 2024-03-03 05:55 UTC (1 days ago)
(HTM) web link (www.velato.net)
(TXT) w3m dump (www.velato.net)
| throwaway0665 wrote:
| Perhaps it is impossible but I'd love to see a Quine in this
| language
| Y_Y wrote:
| I believe all but severely limited languages are forced to
| admit quines, see e.g.
| https://math.stackexchange.com/questions/3982278/the-fixed-p...
| xpointer wrote:
| Hi, I'm the creator of Velato. I will be reworking the website
| to include more examples later this year. In the mean time, the
| latest version of the compiler is on github:
| https://github.com/rottytooth/Velato
|
| No one has yet written a quine although I would love to see one
| -- perhaps outputting its representation in lilypond format.
| Rochus wrote:
| Since you're the author I can ask you directly, what the
| purpose is of the language. Why did you choose MIDI as a form
| of representation? What kind of programs are you implementing
| with it? Where are these programs supposed to be executed, on
| MIDI instruments?
| lieuwex wrote:
| For fun I suppose? See: esoteric programming languages
| Rochus wrote:
| Why shoud we suppose if the author himself can give us an
| authoritative answer?
| yreg wrote:
| It's very obvious.
| xpointer wrote:
| I first made the language (fifteen years ago!) out of
| curiosity about esolangs and as a first try at writing a
| compiler. And for fun, yes. Since then, I've written more
| about multicoding -- the way two readings of code impact
| each other -- and thought more about the music that results
| (some links in my comment below). This is the aspect of the
| language that interests me now.
|
| I chose MIDI since it's a standard and leaves to the
| programmer the choice of tool to compose the program.
| There's an IDE in the works geared for live performance of
| the language (that will not be MIDI, but not ready to say
| yet how it will work; it has the same lexicon but is quite
| a different language in practice).
| Rochus wrote:
| I see, thanks. But is Velato actually conceived to create
| music, or is the music just a "random" byproduct?
| velcrovan wrote:
| From the top of the original link:
|
| > "Velato offers an unusual challenge to programmer-
| musicians: to compose a musical piece that, in addition
| to expressing their aims musically, fills the constraints
| necessary to compile to a working Velato program."
|
| It seems like Velato's purpose is to provide an unusual
| and interesting creative constraint for people who can
| both code and write music.
| Rochus wrote:
| > _Velato's purpose is to provide an unusual and
| interesting creative constraint for people who can both
| code and write music_
|
| I do both on a professional level and have no idea what
| this sentence means; that's why I'm asking.
| MyNameIs_Hacker wrote:
| Have you ever sat in front of your favorite DAW version
| XX and thought, oh wow so many things, what am I going to
| do?
|
| How about Sonic Pi? Or any modern audio toolset. So much
| possibility, where to start?
|
| Creative constraint is about opening up pathways by
| restricting options.
| hn_acker wrote:
| It means come up with a code goal and a music goal, and
| fulfill both with a Velato program. For example, can you
| write MIDI file which finds the nth Fibonnaci number and
| sounds good to your friend when played with a piano
| instrument (a real one or a sound sample)?
| Minor49er wrote:
| Presumably you code and compose in separate contexts,
| unlike what the sentence describes
| lcnPylGDnU4H9OF wrote:
| A game that is programmed by the music in the game. Something
| tells me such music would sound a little odd.
| p4bl0 wrote:
| Strange: I submitted this more than 24 hours ago and it still
| says so on my list of submissions here:
| https://news.ycombinator.com/submitted?id=p4bl0
|
| But it's the same submission as this one which says it was
| submitted by me 4 hours ago.
|
| I've been contacted a few times by HN moderation and was asked to
| re-submit some interesting link that didn't get traction on the
| first try, but it's the first time that I see a link be re-
| submitted on my behalf. Is that common on HN now?
|
| Anyway, concerning Velato, I stumbled on it yesterday. I find
| this kind of esoteric languages (like Piet [1]) quite fun, and
| thought that others here may enjoy it!
|
| [1] https://www.dangermouse.net/esoteric/piet.html
| Levitating wrote:
| How did you stumble on it?
| p4bl0 wrote:
| I'm not really sure because it was one of the tab opened in
| my mobile browser. My best guess would be that I originally
| saw this link in a post on Mastodon.
| xpointer wrote:
| It's funny you link to Piet; I began Velato by asking what
| would Piet be as music. Some programs are instantly
| recognizable as Piet while others are hardly recognizable as
| such; the language has its own aesthetic and yet programmers
| bring their own style to its set of visual constraints, all
| through fairly basic rules. In Velato, all notes are read in
| relation to a root note that can change between commands, even
| in the middle of a single chord. That was meant to allow for
| more choice in how a programmer constructs a piece of music.
|
| Years later I interviewed David Morgan-Mar about Piet and his
| other languages https://esoteric.codes/blog/david-morgan-mar
| and wrote about the concept of multicoding, where a single text
| has readings in two systems that shape each other (an image and
| code, music and code etc) https://esoteric.codes/blog/chef-
| multicoding-esolang-aesthet...
| dang wrote:
| > I've been contacted a few times by HN moderation and was
| asked to re-submit some interesting link that didn't get
| traction on the first try, but it's the first time that I see a
| link be re-submitted on my behalf. Is that common on HN now?
|
| Not resubmitted but re-upped. That is, we rolled back the clock
| on it and added some points so that it would get a placement on
| HN's front page. You can see the stories that get picked this
| way here: https://news.ycombinator.com/pool, and the system is
| described at https://news.ycombinator.com/item?id=26998309 and
| the links back from there.
|
| When a post is older, we email an invite link (as you
| described) but when it's only a day or two old, we re-up the
| current submission. That's what happened in the present case.
| The timestamp munging is an artifact of this re-upping system (
| https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
| ).
|
| Thanks for posting great submissions to Hacker News! Btw, if
| anyone sees a great submission that could use a re-up or a
| repost, please let us know at hn@ycombinator.com. (It's best
| when the article isn't your own stuff, but rather something
| that you just think is interesting.)
| hoosieree wrote:
| Glad to see it's written in C#.
|
| Can we get a port in F# please?
|
| https://github.com/rottytooth/Velato
| mb7733 wrote:
| > Keep in mind that this set of notes is _not_ the actual
| program; if a MIDI file is created from this progression of
| notes, the concurrent notes might be interpreted in a different
| order in the file, and create an invalid program.
|
| Is the order of notes within a chord the _only_ extra info
| required on top of a musical score? If so, with some "tie-
| breaker" I think you could encode any Velato program
| unambiguously in sheet music.
|
| For example, if notes in a chord were interpreted as commands
| from lowest to highest pitch, you could move notes up and down by
| octaves to determine the command order. Just a thought... I like
| the idea of piece-as-program.
| xpointer wrote:
| I favored the flexibility of ordering concurrent notes
| differently in MIDI over having the sheet music uniquely define
| a program. It gives the programmer more choices in how notes
| can be combined.
|
| But there could be a default ordering -- I would think reading
| a chord from bottom to top -- for a piece of music where the
| score came first and the MIDI representation or performance of
| that score second.
___________________________________________________________________
(page generated 2024-03-04 23:01 UTC)