Viritura - MNX based rendering engine, notation app, and a variety of MNX dev tools #549
Replies: 5 comments 3 replies
|
Wow, this is very cool! Excellent work! I see you've made frequent use of the I'm curious to hear which of your |
|
Couple of scattered thoughts regarding useful extensions worth building into MNX. Mostly based on me importing some of my own MXL projects and seeing what was broken. I will continue cleaning up my large score samples which I am shipping with the app (Rhapsody in Blue, Beethoven's 5th Symphony) which gives the best overview of MNX at it's fullest potential. Although the symphony is minorly blocked on not having support for movements/flows. CaesuraThis one I think would be a quick win; quite similar to the breath marks which are already implemented TextA lot of open GH issues regarding text. Expression text could be a good start since they naturally attach to dynamics, but I'm not sure if making it a subproperty of dynamic markings is the right direction to take. In music there's often expression markings without dynamic markings, and I don't want to go Dorico style where you have to attach a dynamic and hide it just to have standalone expression text. Global text like rehearsal marks and system text, separate from tempo markings could be good to have. Regular text opens another can of worms around possible playback / defining vendor specific instructions for sound patch or midi instrument switching. MNX has a similar concept already with the percussion kits. Does MNX want to be in the business of serializing known playing techniques like pizz, mute, bisb. and so on? Ornaments and TrillsI think trills would be a good start, single instance, with the line spanner, interval definition. Other ornaments gets into playback semantics More clefsPercussion clef being missing from the clef.sign could go under the radar. Right now I have it implemented as just using a G clef with an overriden Lines between notesGlissandos would be a good addition to come in with the recent addition of arpeggio symbols on chords Noteheads / chord symbolsWill leave this for the other open issues to continue discussing Playback / engravingThis is what I think is best left to vendor extensions. This is the area I assume will mostly likely perpetually stay as an extension instead of being built into MNX directly, but again the concept of percussion maps in MNX existing already does make it tempting to define further playback hints into the spec |
|
I don't seem to be able directly to open mnx files. Does it only open mnx files that it creates? If you would like to access up-to-date (schema-wise) mnx file authored by someone else, you can use Denigma Online to convert Finale files directly to MNX. But when I try, the MNX files do not open in the webapp. |
|
Aside: Peter -- thanks also for reviving the Redmond Tech Orchestra (I'm guessing it's a successor to the old Microsoft Orchestra?) -- the fact that if you worked for Microsoft you could still play in an orchestra was a big factor in a bunch of my friends choosing to work there in the late 90s and early 2000s! |
|
I revived recently my earlier project to render music in pure HTML (i.e. no SVG, no canvas). This has several advantages, such as speed and flexibility. I don't have funding yet to do it full time, but I have already validated a few concepts. Seeing how far Viritura is, I guess it would be just an interesting project rather than inspiration or collaboration. Anyway, check it out at https://github.com/pavelstudeny/mxml2html. |
Uh oh!
There was an error while loading. Please reload this page.
Hi all,
I've been working on Viritura for the last few months, a music notation app built with MNX as the core data model. A lot of features started out as proof of concepts to validate the goals that MNX wanted to achieve, and I hope this project helps validate the aspirations of the MNX format. This includes such as
In addition to giving out the webapp a try, I have a collection of tooling that may be of interest to the MNX community, as documented on https://viritura.com/mnx
Playground
https://viritura.com/mnx/playground
Includes all samples from the MNX Example documents except rendered live with a Rust based notation engine (compiled to wasm, to work in the web). The experience is interactive, so any changes to the code editor will reflect on the score preview
Example library
https://viritura.com/mnx/examples
In addition to the examples published on the MNX site, I have more of my own test snippets to cover more of the cases, presented using StorybookJS
MXL to MNX Converter
https://viritura.com/mnx/mxl-converter
Converts mostly any MXL to MNX, includes settings to include the Viritura vendor extensions to see what is natively supported by MNX already, and what needs to be backfilled by vendor extension
VS Code Extension
https://marketplace.visualstudio.com/items?itemName=Viritura.mnx-viewer
For those of you using VS Code, this extension lets you preview the rendered music within the app directly
GitHub
All of these projects are open sourced here: https://github.com/Viritura/Viritura
All reactions