11 preview r4264 - New Notation Rendering

Archived development update discussion from past versions
Archived development updates.
Posts: 13166

Post by Nicholas »

SYNTHESIA 11.0.4264
Download from the pink box above.

Sheet Music
  • Sheet music should now appear perfectly sharp at every zoom level.
  • Instead of dragging the bar to change the size of the sheet music, pause the song and use the new + and - buttons that appear.
Windows 10 MIDI
  • Bluetooth MIDI devices should now appear in the list on the Settings screen when running under Windows 10.
  • The built-in GS wavetable synth appears to be much lower latency on Windows 10.
  • (Both of the above require the 4 new DLL files found in the download to be placed alongside Synthesia.exe.)
  • New "Simple Names" label mode that always shows C, D, E, F, G, A, B on white keys only, regardless of song's current key signature.
  • The other key-based label modes now only show text on pitches that belong to the song's current key signature. You can revert to the old behavior using Settings -> Gameplay -> Note Labels.
  • Synthesia now renders text using your system's default font (instead of the Trebuchet MS font).
  • New "Toggle Bookmark at Current Position" shortcut, set to the ? key by default.
  • V-sync is now enabled on Windows by default. Control via the "Graphics.Vsync" advanced setting.
  • Added "Metronome.ProgramChange" advanced setting for users that don't have a percussion patch and want to hear the metronome use something other than piano.
  • About another dozen fixes/changes. Check the readme for the complete list.
Known Issues
  • On Windows 10, you may need to set your devices up again. The new MIDI layer names things slightly differently, so Synthesia thinks they're different devices.
  • Sheet music has quite a few regressions that will be fixed over the next few previews. Things that are currently missing:
    • Currently held notes aren't shown.
    • The page-flip animation is missing.
    • Ledger lines can look a little wonky depending on adjacent notes.
    • Lines are left-justified instead of fully-justified.
    • The existing sheet music engine can still choose to create beams that are at an unrealistically steep angle, which the new beam drawing code doesn't handle very gracefully. Steep beams appear rather jagged.
    • Lots more. The spacing between pretty much everything is still pretty rough, too.
Things to Test
  • There were huge technology changes to make the new sheet music rendering happen. If you see anything obviously broken (solid red music, everything stretched weird, completely invisible, crashes, etc.) please say so! Graphics hardware details (make/model of your GPU) are very helpful.
  • The Windows 10 MIDI code (both ours and Microsoft's!) is very new, so I wouldn't be surprised if there were still rough edges. If you see anything strange (bizarre device names on the Settings screen, MIDI not sending at all, etc.) that is another good reason to say something.
Synthesia Donor
Posts: 1180

Post by kiwi »

Love the new font!
No problems here on mac El Capitan.

What is the name of this font?
This is the default font on Mac?

Even my skins works on it ^^.

Thank you Nicholas!

Maybe i have found a bug:
It seems i cant resize the sheet.
Posts: 13166

Post by Nicholas »

Yep, the new font is just the system default. So it's a little different on each platform, but all of them are better than Trebuchet MS! :lol:

To resize the music, look at the 2nd bullet point, above. ;)
Synthesia Donor
Posts: 1180

Post by kiwi »

ah my bad :p

It seems i can't only zoom for 8 bar maxi maybe 4 would be better?
Posts: 13166

Post by Nicholas »

Do you mean you'd like to be able to make the sheet music larger? Or that it can already be made too large?

Remember, the very next preview is going to add multiple lines of music, which may change your preferences for how large you want things.
Posts: 40

Post by silvrica »

Synthesia sheet.PNG
Synthesia sheet.PNG (10.62 KiB) Viewed 45492 times

It is not possible to see the steam of very low and very high notes in the sheet music. See picture.
Posts: 13166

Post by Nicholas »

That's a known issue. The next preview (with multiple lines of music) will fix that one.
Synthesia Donor
Posts: 1180

Post by kiwi »

ah ok i understand with multiples lines it have enought zoom.
Posts: 4

Post by IGMDavid »

Hey, so I am just saying that this update even, though not finished should be on the frontpage.

I have been using Synthesia combined with Yousician for a while to learn piano. I have gotten some midis that have not been compatible with the Synthesia 10.3, and the notes on the Treble Clef was shoved down onto the Bass Clef. I couldn't find any software that would that has a wait mode (The song waits until you play correctly), and let me import my own midi/musicxml files at the same time. Yousician lets me import my own MusicXML files but it doesn't feature the "Wait mode".

Finally after 5 hours, I figure out this program has actually been updated... I am just saying Synthesia is yet again the best software out there.


Actually the notes from the Bass clef are still getting shoved onto the Treble clef, but not the other way around it seems like.
Posts: 13166

Post by Nicholas »

The staff selection problem for notes (whether they're shown on the treble or bass clefs) will be fixed once and for all in the "Fully-featured MusicXML-based Notation" preview (see roadmap). And the good news is that preview is very close to the final Synthesia 11 release that will be going out to everyone.
Posts: 42

Post by IvanL »

Is this version already supposed to read MusicXML? If it does then maybe my MusicXML is malformed, because it's not recognized.
Posts: 27

Post by draco2023a »

No not yet.
Posts: 13166

Post by Nicholas »

That is correct. This post has the run-down on the upcoming previews. You'll be able to load MusicXML files starting with the "Bare-bones MusicXML Parsing" preview, which is two previews away.
Posts: 64

Post by Korados »

Hello Nicholas,

I didn't write for quite some time now, huh? I just came by your page and downloaded the newest dev build of Synthesia, and it doesn't work properly on my PC. I use the Coolsoft VirtualMidiSynth,
and the new build doesn't recognise it. Furthermore, the rendering only runs on 60 FPS. I tried turning off VSync but this didn't help.
Since you took away Direct3D, my PC has big problems with Synthesia. I still use 10.2-r3742 because that's the last build that has Direct3D.
Posts: 13166

Post by Nicholas »

Are you on Windows 10? Try deleting or renaming the win10-midi.dll from the folder you are running the preview out of. Does that make VirtualMIDISynth show up?

And how did you disable V-sync? There is an option for it now: hold Shift while launching Synthesia, find and change "Graphics.Vsync" in the list. (You may also need to disable it in your video driver settings, too.)
Posts: 30

Post by wacher »

I can confirm missing VirtualMIDISynth.
I renamed win10-midi.dll, VirtualMIDISynth pop up again.
Posts: 13166

Post by Nicholas »

It sounds like the VirtualMIDISynth folks will need to do some work to register their virtual device with the new Windows 10 MIDI API. As adoption of the new API increases, they're probably going to start hearing requests about apps that no longer "see" VirtualMIDISynth on their system. For our part, we've included support for the new API to get to the much lower-latency built-in synth and to get automatic support for Bluetooth-connected MIDI devices.

We'll see about large-scale adoption though. The venerable WinMM API is what everyone has been using for 20 years, new development for Windows (outside of the enterprise market) is shrinking rapidly, and the new MIDI API is only available on Windows 10 machines.
User avatar
Posts: 223

Post by stephenhazel »

Hey Nicholas,

doesn't it seem weird to you that microsoft is basically goin...

"ok win32 developers, we've written this new stuff after eons and eons of nothing midi ever. So use this .DLL we hacked up and you can get into our new APIs".

Don't they remember DLL hell ? Are they gonna keep THAT .dll updated over time with versioning and such ?
Why do they not just build it into THEIR OWN DAMN OS which is a huge set of .DLLs already and DEFINITELY already has "some" bloat...:(

Am i alone thinking microsoft has gone insane ?
Posts: 13166

Post by Nicholas »

Well, the DLL (which I understand isn't even officially supported? It's hosted on one of their employee's personal GitHub pages) is just a shim that you can conditionally load after determining that you're running on a Windows 10 machine. That way your app doesn't have to link to Windows 10-only libraries.

The alternative is to use the new API directly in your program, which means the .exe won't get past the dynamic loader anywhere except Windows 10. So you're left with releasing two versions of your app: one for Windows 10 users (with the new MIDI stuff) and one for the rest of your Windows users (with the new MIDI stuff #ifdef'd out). That's the trouble the DLL is trying to save you from. At least they provide the source. I already tore a bunch of the cruft out of it for the "win10-midi.dll" that is included in the most recent Synthesia development preview.

Google went a different route with their implementation of Web MIDI in Chrome. Instead of a conditionally-loaded, stand-alone DLL to do the C++/CLI/Managed/WinRT/.NET stuff, they went raw COM for all the calls into the .NET stuff. It makes the code look horrendous but they get the best of both worlds: no separate DLL and an exe that works on all versions of Windows. I wouldn't be super excited about having to maintain the code in that file though. :?

(One ironic bit about Chrome's Web MIDI implementation: someone found some vulnerabilities in the ancient Windows GS MIDI Synth where certain junk input could crash the process sending the input. Chrome has a hard rule about any known sources of crashes, so they had to explicitly disallow access to the built-in synth. So they ended up with a MIDI implementation with no way to hear anything by default! Web page authors that want to use MIDI still need to bring their own sounds/synth along or require that Windows users provide one via their own software or hardware.)

I wouldn't characterize Microsoft's behavior as insane. Just that their priorities have changed and no longer include, well... lots of things: compatibility or developers for a start. They're pushing as hard and fast as they can toward the same walled garden that the other big players are enjoying right now. This is the set of priorities that begets Windows 10 S which only runs apps from their own app store.