[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Feature Request Idea - Server Sent Musical Scores
From: |
jgart |
Subject: |
Feature Request Idea - Server Sent Musical Scores |
Date: |
Thu, 16 Sep 2021 13:21:38 -0400 |
Hi Goblineers,
I think GNU MediaGoblin should sit down and enjoy a coffee with GNU LilyPond.
I wanted to share some thoughts and ask for feedback on the possibility of
adding support for musical scores?
I was thinking of integrating ly2video: https://github.com/aspiers/ly2video
ly2video converts lilypond files into a video containing a horizontally
scrolling musical staff which is synchronized with a MIDI-generated audio
rendering of the music.
A goblineer could upload their lilypond musical score (.ly file) to mediagoblin
and mediagoblin would send it to the backend, process it with ly2video, and
return a video of their score synchronized with the MIDI and horizontal
scrolling bar.
Here are some examples of the output of ly2video in action (invidious link):
https://youtube.076.ne.jp/playlist?list=PLfRwjd606WZlxRU_kaUPagX3-Uv-SYRMH
I imagine we could also add batch uploading of musical scores via the cli as
well as offer multiple formats of the score for download such as the original
source file (.ly), MIDI, pdf, svg, flac, ogg, etc...
We could even offer musical score transposition before sending to ly2video as
well as an alternative color coded static html score view courtesy of python-ly:
https://github.com/frescobaldi/python-ly
python-ly is already packaged in guix and is used extensively by the
Frescobaldi
LilyPond IDE.
I think this would be an awesome feature to add and would attract attention for
GMG as I know of no other media forge that supports this.
Taking this approach would also not introduce any javascript dependencies since
the musical score creation is being strictly handled in the backend and
a video, html, etc... is produced and sent to the client.
WDYT?
https://invidious.io/
https://frescobaldi.org/
- Feature Request Idea - Server Sent Musical Scores,
jgart <=