Hacker News new | past | comments | ask | show | jobs | submit | sporkl's comments login

Racket! This is the language that the common author (Dr. Daniel Friedman) uses, and many of the Little books use custom DSLs implemented in Racket.

Racket now runs on Chez under the hood (inheriting the performance), and has a pretty decent ecosystem as far as schemes go.

(I TA for Dr. Friedman’s programming languages course)


Reminds me of the method used for sonifying periodic table elements here[0], but in reverse.

[0]: https://youtu.be/Z9dpHWrgzMw


Anecdotally, I feel like OCaml is growing in popularity, probably due to ecosystem improvements. Stuff like dune and other OCaml Platform tools becoming mature, multicore support, recently first-class Windows support, etc.


I also suspect that people are more open to a language like OCaml. With Rust and javascript being so popular, a lot of constructs in OCaml will not seem so foreign.

OCaml is in many ways a sane Typescript or a functional version of Go.


Ditto, it feels like more people are coming around to the ML style type systems. I'm hoping Gleam will fill the void with a scalable BEAM backend and compiling to JS with Lustre on the frontend (or even just serverside with htmx).


Having known OCaml since Caml Light days, Go's type system has nothing to do with OCaml, it is exactly the kind of languages the Go community rants about.


Yeah I don't think the Go community would like OCaml very much. But I do think there are some similarities, in that they both have great compile times, as a functional language OCaml is quite simple, they are both GC'd systems languages and both have predictable runtimes. So if you appreciate a lot of ideas in Go, but find them too conservative and the error handling too tedious, OCaml might be a good choice.


OCAML on Windows was such a pain several years back. It's good to hear that they've improved on it.


Overall a good intro on the subject. I feel like at the start it might benefit from being a bit more explicit about pitches being frequencies and ratios being intervals; probably just worth a reminder for people who aren’t as familiar

Might be interesting to talk about how the usual ratios come from the harmonic series. For sounds that don’t produce a harmonic series, other potentially non-integer ratios can actually sound more consonant. The youtube channel New Tonality[0] has a bunch of great videos about this

Also wanted to mention that I’ve been working on a piece of commercial software[1] for working with freestyle/adaptive just intonation, if anyone’s interested

[0]: https://www.youtube.com/@new_tonality [1]: https://www.dmitrivolkov.com/projects/pivotuner/


Thanks for posting this. The approach of keeping the traditional 12 notes while changing the tuning on-the-fly is really interesting and maybe the right tradeoff. This is so spot-on because adaptive JI is mentioned as a possible solution at the end of the article. It's the classic HN move where a weird topic is being discussed and someone says "why yes, I've made tools that happen to exactly match the niche topic being discussed!"

In fact, it's probably not my business, but this topic is so profoundly niche (and likely to remain so for a while) that I personally wouldn't make this commercial. My reasoning (and the reason I open-sourced some projects) is that it will limit adoption while changing almost nothing about my income. Obviously I hope I'm wrong, maybe these techniques will pick up in popularity. It's also possible that I think this way simply because I'm bad at marketing.


yeah, in general I do want to open source it, but for the time being I’m a student and every little bit counts


Cool stuff, nicely fleshed-out. Sort of like a Risset rhythm, which I’ve explored a bit myself [1]. One of my favorite pieces that uses this technique is Black Rain, by Daniele Ghisi [2].

[1]: https://www.dmitrivolkov.com/misc/risset-polyrhythm/ [2]: https://soundcloud.com/danieleghisi/black-rain


This kind of reminds me of what happens when you implement an interpreter in a relational programming language, which lets you do cool stuff like generating quines by specifying that the program and it’s output should be the same.

Quick search lead to this paper which is exactly what I’m talking about: http://webyrd.net/quines/quines.pdf


William Byrd is the creator of miniKanren btw. And an HN user.


If anyone’s curious to see complete pieces built out of this sort of technique, check out Conlon Nancarrow’s Studies for Player Piano (he does some other pretty crazy polytempo stuff too, like changing the speeds of different parts at different rates).

Personal favorites that use the same polytempo technique are No. 36 [1] and No. 37 [2].

I’ve been studying his music lately and am working on a piece with similar rhythmic experimentation, so happy to try to answer questions!

[1]: https://youtu.be/IOlId8O6D5w [2]: https://youtu.be/g0gNoELvpPo (I prefer the Werco recordings, but this is a cool vizualization)


a lot of it does end up being that kind of thing, but not all. some of it’s kind of like how quantum math has been used to model (if I remember correctly) seismology or weather, and some of it’s about sonifying the entire quantum state, including superpositions (assuming no error/noise, the random part of quantum doesn’t happen until measurement, where superpositions are destroyed)


> some of it’s kind of like how quantum math has been used to model (if I remember correctly) seismology or weather, and some of it’s about sonifying the entire quantum state, including superpositions

Well, the field of quantum computing is definitely important and very promising, but it has as little to do with music like the proportions in the movements of celestial bodies.


I co-authored a paper that was presented at the 2nd symposium mentioned in this article, and I’ve read the textbook mentioned in the article, happy to try to answer any questions

The paper we wrote isn’t on airxiv yet but can be read here: https://github.com/sporkl/superposition-rhythms/blob/main/is...


How close to absolute zero does the audience need to be to hear the music?


I couldn’t make in in-person, but from what I heard the audience was pretty cool


Quite cool idea.

Two questions:

Would you say you approach this more from the educational side, or from the artistic one?

What about quantum circuits, and more complex gates (Hammond, ...). Do you think about "playing" a simple quantum circuit, hearing how the quantum state changes as it flows through the gates from start to end?


Thanks! We were originally thinking of approaching things more from the educational side, but it’s kind of a hard point to make without experimental evidence, which we don’t have.

As far as playing a quantum circuit through the end, that’s what our python and max implementations do! Should work with any gate; but because it’s simulation-based, there’s a limit to the number of qubits. We’re also working on a follow-up about sonifying arbitrary hamiltonians.


It’s still pretty new, but people are taking advantage of GPUs for audio these days: https://www.gpu.audio


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: