[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Feature Request Idea - Server Sent Musical Scores
From: |
Ben Sturmfels |
Subject: |
Re: Feature Request Idea - Server Sent Musical Scores |
Date: |
Fri, 17 Sep 2021 13:31:12 -0400 |
> Sounds like a really interesting idea! A bit like https://musescore.com/
> but using video rather than a JS player that syncs the audio and
> notation.
There are some music notation renderers implemented in javascript such as:
https://www.vexflow.com/
https://www.abcjs.net/
https://chiselapp.com/user/moinejf/repository/abc2svg/doc/trunk/README.md
The following one is more of a computer-assisted music composition system
running in the browser. It is a port of music21 to js. It uses vexflow to
render
scores:
https://github.com/cuthbertLab/music21j
But, we'd have to write a parser if we'd like to use them with GNU Lilypond.
Here's an ABC notation parser someone wrote in purescript for use with vexflow:
https://github.com/newlandsvalley/purescript-abc-parser
https://github.com/newlandsvalley/purescript-abc-scores
https://en.wikipedia.org/wiki/ABC_notation
There is also LilyBin, which is a web-based lilypond editor and hasn't been
updated
since 2016:
https://github.com/LilyBin/LilyBin
It's live here:
http://lilybin.com/
The feature I mentioned in my previous email is less dynamic in scope from the
above solutions. We're just serving server-processed videos from client uploads
of lilypond files.
> Is there anyone interested in doing some initial exploration on this?
I think as a first step, I'll look more closely into the softwares that hjenkins
mentioned.
hjenkins, thanks for sharing all those. I looked into
lilypondToBandVideoConverter
a bit but haven't intalled it yet.
hjenkins, have you used or tested any of them?
abc2ly is not heavily maintained and has a few bugs. I'll have to try it out
and speak with the maintainer to see what is the current state of the project.
If all is good with abc2ly, I'll package it for GuixRUs Channel as a
preliminary
and also send to abc2ly to upstream guix for review.
https://git.sr.ht/~whereiseveryone/guixrus
Then, we can start thinking about how to integrate abc2ly as a media backend in
MediaGoblin, if we choose to go that route.
Transposing scores with python-ly that users upload can be a feature to be
added
later once we have the musical score media backend functioning and integrated.
> (Just for context, I know a few readers are strongly against the use of
> JavaScript in web applications for security reasons. I appreciate this
> perspective, but that's *not* the reason we've been working to remove
> jQuery and other third party JS. That work is specifically to make it
> easier to package MediaGoblin as an OS package. I think it's useful if
> MediaGoblin works acceptably without JS, but our aim is not to remove JS
> outright, since its necessary to provide the interactivity that people
> expect from web apps.)
I'd like to support node packages and purescript packages in the future for
guix.
Rome might be an option to look into in the future for guix as a way to
circumvent
the issues in the js ecosystem: https://rome.tools/
If anyone wants an add free/more secure internet protocol, IMHO, I think gemini
might be your island getaway:
https://samsai.eu/post/introduction-to-gemini/
https://thenewstack.io/souped-up-gopher-project-geminis-plan-to-revolutionize-internet-browsing/