This is amazing and might be exactly what I’m looking for my own weirdo retro tooling that sometimes needs to run over ssh but also expect a “GUI” experience… any metrics on the overhead this might add to, for instance to a hello world type program?
It might not be obvious (and doesn’t work on my iPhone or iPad), but if you right click on pads with sounds loaded, you can mess with the pitch of sounds, rename them, and download a wav file for use elsewhere.
I fixed a few broken examples in the README.md file but I don't have the related readme.html file used in the web app getting automatically updated, so they're out of sync at the moment.
A warning... if you save a setup to JSON, it naively stores the generated waveforms put in slots and the notebook, so the files can become quiet large. I have a plan to just keep the code behind the waves and regenerate the waveforms at load time.
On the C-side, I'm going to add a UDP listener to the code so I can send k-synth incantations live from Emacs (something I did for my skred program at the suggestion of an Emacs user).
Let me know if anyone wants to know about this when it's usable.
On the desktop app side, I use miniaudio (thank's Macron) so this is portable to the usual suspects.
I also made a single header file cross platform midi library which I have some devious plans for in this space. Stay tuned.
Doesn't matter. Just happy people are doing weird stuff like this and appreciate the share.
I looked at a bunch of APL-ish implementations and kind of ran with the K-simple code (links on the repo).
What background do you come to J from? Another programming language? How do you like it?
> What background do you come to J from? Another programming language?
Yes, I’m very fond of trying out different languages. My main language for personal projects is Haskell.
> How do you like it?
I haven’t used J for a while, actually, but I recall finding it a bit confusing, especially when rank manipuations are involved. It has a larger vocabulary than most array languages, which I felt made it hard to learn. It was great fun though!
Fun. I've lost count of the languages I've learned and gotten paid to use over the years, but it's mostly very exciting to add a new one to the list.
Haskell is one I haven't used yet. The closest I've come to that is a weekend fling with OCaml... much respect for the ML work though!
I hear you for the complexities in J though. I've intentionally limited k-synth to single letter upper case variables and the verbs are also one character... I might regret this at some point.