Welcome to rust-music-theory Discussions! #21
Replies: 1 comment 1 reply
-
Hi! I'm Henry, and I've been contributing to this project for about a month. I've been having a good time making tweaks and adding useful features. I'm excited and interested in a potential frontend for this library. With some ingenuity and brainstorming. I think we could realistically create a pretty ambitious music engraving/education tool. To that end, I'll just give some of my recent thoughts about potential approaches to a long-term application. @ozankasikci has mentioned a pure-Rust stack, and I think that's totally viable. However, I think the best way forward for a frontend is to brainstorm options for features, platform, and purpose. I think if a pure-Rust stack is used, then wrangling with the Rust ecosystem would be the primary technical challenge of the project. That said, it would create interest among a very talented community, and would open the door to technical development and entirely novel features. I could see a sheet music rendering library being developed using 1) a canvas component in My recommended alternative would be a web stack, including Electron and possibly WASM. This blog post uses Electron and neon to implement a frontend using Electron as a thin frontend layer. This would allow us to leverage Vexflow and OpenSheetMusicDisplay, as well as better Midi and MusicXML support. Honestly, I think a webapp is the right approach if the goal is education. There is also more room for improvement in the space of web-based composition tools than in that of desktop engraving software. On my end, I'm developing on a library called Excelsis (I'll make the repo public when it's ready), which is currently a collection of features that wrap this library. I have a Rules Engine for ensuring adherence to counterpoint rules between any number of voices, and a generator which can produce counterpoint harmonies above or below a given melody (see some early examples here). I have also implemented a simple playback API for rust-music-theory using |
Beta Was this translation helpful? Give feedback.
-
👋 Welcome!
We’re using Discussions as a place to connect with other members of our community. We hope that you:
build together 💪.
To get started, comment below with an introduction of yourself and tell us about what you do with this community.
Beta Was this translation helpful? Give feedback.
All reactions