HN user

luigi_123

30 karma
Posts0
Comments7
View on HN
No posts found.

Yes, having to deal with MuseScore was one of the reasons I started to work on this. I'm glad you picked up on it.

I definitely want to release it as an open source project, but there's still quite a bit of stuff left to do before I can. The biggest blocker is copyrighted material. There's a ton of copyrighted material in the test suite (oops), so I need to clean that up before releasing.

Also I want more demo songs that are not copyrighted before releasing, and so far all the songs I notated for myself are copyrighted, so that will probably take a while as well.

Also the IDE-style editor needs a lot of polishing before I'm ok having other people use it.

There's still a lot of stuff in the language itself I want to decide (what if I wanted to change time signatures in the middle of a song?), but I'm okay with releasing the project before that stuff is done. The two biggest things I have to do before thinking of releasing this is getting rid of copyrighted material in the codebase, and polishing the IDE. But I definitely want to release it!

I definitely came across LilyPond when researching what to use in the backend for my language :)

Maybe a spectrogram would be more helpful than a simple waveform display.

Thanks for the feedback. I'll definitely look into it.

Your TOML-based syntax is really interesting.

"drums: (bd ~ sd ~)32",

"drums: ((hh@0.5)8)32",

"drums: (cr@1 ~@15)8"

I definitely considered stuff like that but in the end decided to have every note spelled out. I might reconsider though! Right now it's really annoying to have reaaally long lines of `kd/2` ad infinitum to write double bass.

I'm split between three options right now:

1. Just add multipliers like you did (`kd/2 * 16`), but I feel that makes it less "music" and more "program".

2. Special syntax sugar just for well known patterns that are repeated in many songs, like `dkdk` expands to a full bar of double bass, or xxx expands to one full bar of 8th notes on the hi-hats.

3. Have the user define custom pattern on their own, like `xxx = x x x x x x x x`, like C macros.

Would be nice to have something somewhere in between the over-simplified ABC and overly verbose MusicXML.

Hard agree.

Early on I actually tried to write my drum charts directly in ABC Notation but it wasn’t a great fit. Then I made a simple parser for my language that outputs ABC because I thought it would be simpler but I found it to be very limiting, so now I use Vexflow’s low level API for rendering. I found it to be more customizable than ABC with a nice JS / TS API. It’s good for my use case (rendering) but ofc it doesn’t work as a save format.

Good luck with Trebella :)

Forget the DSL part for a second and what this can do is: it can render sheet music, play the corresponding sound and display the same music as a rhythm game.

People writing sheet music with pencil on paper don't need any of that so I'd say this software would be pointless for them. I'd say this leans heavily on hobbyists or beginners, like I said the main use case is my own, and I'm no professional drummer.

This is not a sales pitch, it's just a small project I've been having fun building for myself :)

It's intended for drummers, but I wouldn't rule out anybody. It can generate sound, and I'm even using some nicer sounding samples I found on the internet, so using it for composition is realistic.

But the main use case I'm going for is my own: making sheet music for drum practice.

* This is my first time actually posting anything on HN.

I've been making a DSL for writing sheet music specifically for drums as raw text, inspired by ABC Notation (but of course just for drums).

Now writing this I noticed that it's kind of complicated to explain and having a landing page would make my life so much easier.

But the gist of it is, you write notation that looks like this: https://gist.github.com/Luigi123/945af7e5cc8dfbfd186f0a99754... and it renders sheet music in PDF, and also allows you to play the same music as a game (DrumMania / DTXMania style).

Now the language / compiler itself has been working quite well and I've been dogfooding it for like six months now. The next thing is an IDE-style editor where you can import a song and write the notation following it. Making THAT has been quite the journey. Here's a screenshot for good measure: https://i.imgur.com/EmlqlrM.png