Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hacked together a midi converter! #129

Open
teadrinker opened this issue Feb 25, 2023 · 1 comment
Open

Hacked together a midi converter! #129

teadrinker opened this issue Feb 25, 2023 · 1 comment

Comments

@teadrinker
Copy link

Spent a few days trying to hack together a midi converter for LML

https://sightreading.training/song/125/greensleeves
https://sightreading.training/song/123/clair-de-lune-intro
https://sightreading.training/song/124/clair-de-lune-bug

Some thoughts:

The main issue here is that each track automatically expands to multiple staffs, this should probably not happen if there are multiple tracks? I tried to transpose to avoid this, but it doesn't really work as it makes you play in the wrong octaves as well...

For songs like clair de lune, it doesn't make much sense to enforce you to play along a click though, so would be nice to have a play-mode like that.

Another feature that would be nice along these lines, is that if you have midifiles that are not aligned to the midi grid, you could hide the bars (or a keyword in the LML could hide the bars)

Would also be nice if LML supported tempo changes. So it will interpret the first tempo as the reference tempo, and then the tempo adjustment is a relative multiplier to the dynamic tempo, so the center of the slider is the original tempo (however the current tempo is shown in the UI of course)

Here is the source:
https://github.com/teadrinker/midi-to-LML

@leafo
Copy link
Owner

leafo commented Feb 28, 2023

Nice work.

LML was essentially developed alongside the "Play along" page and its limitations are tied to what the player is capable of displaying. I initially envisioned it as a system for quickly describing exercises, and haven't really fleshed it out for laying out proper pieces of music. I do want to address this in the long term though.

There's no tempo changes in LML because the play along page does not currently have a system for tempo changes. (Same idea with no real support for time signature changes). The way the staff is chosen automatically for a tracks is also definitely something that needs to be addressed. I'm thinking that tracks need syntax for display metadata, like what staff to use. That way you can have separate tracks for treble and bass, and let it render notes outside with ledger lines instead of auto-inserted a new staff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants