adrianh
If it's not too late, I'd encourage you to try MNX as your internal notation format (https://mnx.formats.music/docs/). It's getting pretty stable and it's much easier to deal with than MusicXML, being in JSON and not requiring a state machine to deal with MusicXML's forward/backward elements, etc.
It's not an LLM, it's a custom thing we built. Here's a comprehensive list of support for various notation glyphs: https://www.soundslice.com/help/en/creating/pdf-import/294/s...
So as you play the audio (with slowdown, looping, etc.), you can immediately write down what you figured out, and that written notation stays synced with the original recording. This workflow for transcription is fantastic, because otherwise you're juggling multiple apps (audio playback/slowdown, plus notation software).
Since you asked about MuseScore: MuseScore is purely scoring software, without the ability to sync with real audio. You can also use Soundslice as a pure sheet music editor; the main difference is it's web-based as opposed to being a desktop app like MuseScore. Soundslice also has the philosophy that the music might always be displayed on different devices, so it's engraved on the fly depending on your screen dimensions. (MuseScore sort of assumes the end result will be a fixed-dimension such as paper.)
Kudos from one of the Soundslice guys — we've been making web-based tab and sheet music stuff since 2012. :)
Programmers are worse off for his retirement, but (given his career change) Chicago-area high school kids are in for a real treat.
An example is how Paul McCartney’s original title for “Yesterday” was “Scrambled Eggs,” since those words fit naturally over the start of the melody.
I think it gets a bad rap because you need to write your code in a certain way to avoid the optimizations breaking things. But if you're a disciplined developer, you'll reap some large benefits.
Sorry, I don't mean to be rude or unhelpful, but that's not a question I can provide a meaningful answer to. There have been dozens, probably hundreds, of difficult technical challenges in building Soundslice.
It combines audio playback directly with a tab editor, so that you can immediately write down what you’ve figured out and your transcription stays in sync with the original audio. This makes transcribing incredibly fast and (importantly) accurate.
It’s got audio slowdown, precise looping, “synth overlay” (playback of the transcription and original audio at the same time, to spot errors), auto stem separation and a full-featured tab/notation editor with support for hundreds of notations.
When you’re done, you get a very useful artifact: a synced transcription, effectively a bespoke practice environment for that piece of music.
Over the years, Soundslice has expanded into a lot more than a pure transcription tool, but lots of people still use it for its original intended purpose. (It supports any instrument that uses western music notation, not just guitar.) If you’re at all interested in transcribing music, give it a shot.
Soundslice is oriented around sheet music that's synced with audio. So while we have a few audio-processing features (basic cropping, slowdown and fine-grained pitch correction), that stuff is all secondary to the notation aspect.
I had a chuckle pondering whether you A/B tested "really freaking cool-looking" versus "really cool-looking" in the prompt. What a weird world we live in! :-)
For much better results, use a custom trained model like the one at Soundslice: https://www.soundslice.com/sheet-music-scanner/
https://www.soundslice.com/help/en/player/advanced/17/expand...
That's available for any music in Soundslice, not just music that was created via our scanning feature.
We've also got a scanning feature that does OCR for sheet music, to get music into our system. Plus there's a full-featured notation editor. A good overview is at https://www.soundslice.com/features/
https://www.soundslice.com/sheet-music-scanner/
Definitely doesn't suck.
Soundslice is very complex in its front-end JavaScript. It has an entire sheet-music rendering engine, capable of "responsive" sheet music [1], plus an integrated audio/video player for music practice, a full-fledged sheet music/tab editor [2] and a ton more [3].
In short: we don't use any JS frameworks. It's just vanilla JS — and in this day and age, that is totally fine for building a quality product.
We're disciplined in how the JS logic is structured, trying to find the right abstractions for the concepts of our app, and we use native JS/DOM APIs (which are full-featured these days).
Every web page on our site is served by Django — in other words, there's no single-page-app stuff. I've always found the idea of single-page apps to be "against the grain": it goes against how web browsers are optimized, and it goes against how HTTP/HTML were designed. Plus it adds a ton of complexity that mainly benefits the maintainers of front-end JS frameworks (it gives them power over you).
I think an entire generation of web developers has been misled into assuming JS frameworks are table stakes for building high-quality web apps — and that is 100% wrong.
The time-tested pattern of "serve the initial HTML (with Django or whatever), then add functionality with JavaScript" is solid and helps you build high-quality, maintainable websites.
On a meta note: for years I've sat on the sidelines and rolled my eyes at the frontend JS world, knowing it doesn't affect me or my product. But I've come to realize all web developers — including those who don't choose to use frontend frameworks — do indeed have a vested interest in pushing back against the bullshit. That's because the JS frameworks are making the web crappier, and that affects us all by giving the web a worse reputation. Sites load slower, UI is weird/buggy/non-standard, and the culture perpetuates (meaning it's harder to find developers who know "actual" JS instead of frameworks).
[1] https://www.soundslice.com/help/en/player/basic/100/resizing...