See also https://musescore.org/en/node/41521#comment-630161. It looks like an update to instruments.xml, and some code to convert the old instruments on import, will be needed along with the new SoundFont version.
I don't think so, that would break backwards compatibility, as scores created with an updated instruments.xml, the change way how those noteheads are stored, won't be readable with older 2.0.x versions
Not readable? I know there was a change to notehead storage for 3.0, but I'm surprised if that's in for 2.1, and if so I don't see how this would be the only situation impacted.
I think we must be talking about different issues. ChurchOrganist's latest version of FluidR3Mono has changed one of the SoundFont's presets, with different MIDI pitches defined. So existing scores set up for the old version of the SoundFont won't play back correctly with the new SoundFont. Alternatively, they can be adjusted to play with the new SoundFont, and then won't play back correctly with the old one (I would say a barrier to downgrading is better than a barrier to upgrading). But this is nothing to do with the way noteheads are stored—it's just the playback pitches.
And that change to instruments.xml is what will cause backward compatibility issues with scores created using the new file/version and opened on older 2.0.x versions
If instruments.xml has to be changed, and a new score gets created with that file, thses changes are embeded in the score. What happens if that score then gets opened with an older version of MuseScore? Will it just work, have wrong playback, refuse to open the file or bail out with a crash?
If it works, excellent, wrong playback might be something we'd be able to live with, but anything else won't pass
It will load perfectly fine in older versions going back to 2.0, with wrong playback. Conversely, if no special import code is written for 2.1, then scores created with older versions going back to 2.0 will open perfectly fine in 2.1, with wrong playback.
I think that's all that's needed, yes. What I was thinking was to have a simple check on opening to see:
- If the score was last saved with <2.1
- If there is an instrument matching the old definition of the marching bass drum
- - - Load updated DRM for that instrument.
If not, then simply put a notice in the release notes alerting users to manually do it.
(Not sure what you mean by 2.1 to 2.0—we can't change how older versions import.)
1. All Fluid percussion sounds (in the GM2 sets) should be set to "one-shot" (i.e. sample plays back in full, regardless of length of key press). Apart from the one or two exceptions in the orchestral set – snare drum rolls, for example.
As we are now moving into the final weeks of 2.1 preparation, now is the time to get to work on sorting out these details in time to submit a new SF3 version.
I am a harmonica educator and have been playing the instrument for more than 15 years.
I found musescore a very nice platform for education and demonstration but I noticed that the current harmonica sound in the FLuidR3Mono soundfont would create a playback that is not decent enough. (The out-of-tune problem is particularly severe and noticeable using the mobile musescore iOS app)
I explored around Polyphone in the past few weeks trying to tackle the current problem by creating a soundfont from scratch. I recorded several samples (Master Tuning: 440.0Hz), added and linked them to the instrument and the preset in Polyphone. I removed the linkage to the original samples used for harmonica.
I hope this could help enhance the user experience by harmonica learners, educators and composers. Looking forward to the enhanced harmonica sound before the next release of updated version of musescore!
Yours,
Ivan CHONG Ting-ho
Reference Song Sample (Three in total) for Comparison:
1) Key words to search: "KCHB Audition 2017 - Set Piece 4 - Harmonica Tab"[mobile app version]
2) https://musescore.com/chromatic_harmonica_tab/set-piece-4-tab [musescore web version]
3) https://youtu.be/e3UFnqS09BA [youtube version, audio replaced with mp3 of the updated soundfont using the new harmonica samples]
Comments
Do we have a deadline?
I'm not happy about providing another SF3 version until the problem encountered here is fixed.....
#151781: Artifacts present in the harmonica preset of the SF3 version of the default soundfont.
If we can't get this fixed beforehand, then I'll just do it.
But I want to make sure that everyone is aware of this problem.
I thought this to be a task for @lasconic, to pull the latest changes from you GitHub LFS repository?
And for him to provide the deadline
Nicolas has enough to do :)
It takes me 10 minutes to do it and upload to Google Drive/GitHub LFS.
Which reminds me - I'm not sure the Github repository is up to date.
But @lasconic needs to pull it. And no, your repo (https://musescore.org/en/node/41521#comment-619711, https://github.com/ChurchOrganist/FluidR3Mono_GM) is not up-to-date (as per https://musescore.org/en/node/41521#comment-630161 your're on 213 already?), and it would better contain the SF3 version and also not encode the version in the filename, wouldn't it?
And change the files' extension to lowercase, .sf2 and .sf3, so it matches what's in the MuseScore repository and doesn't conflict on OSes with caase sensitive file systems
See also https://musescore.org/en/node/41521#comment-630161. It looks like an update to instruments.xml, and some code to convert the old instruments on import, will be needed along with the new SoundFont version.
I don't think so, that would break backwards compatibility, as scores created with an updated instruments.xml, the change way how those noteheads are stored, won't be readable with older 2.0.x versions
Not readable? I know there was a change to notehead storage for 3.0, but I'm surprised if that's in for 2.1, and if so I don't see how this would be the only situation impacted.
No, that notehead change is not in 2.1 and the problem is that this might be needed for those Marching band changes.
I think we must be talking about different issues. ChurchOrganist's latest version of FluidR3Mono has changed one of the SoundFont's presets, with different MIDI pitches defined. So existing scores set up for the old version of the SoundFont won't play back correctly with the new SoundFont. Alternatively, they can be adjusted to play with the new SoundFont, and then won't play back correctly with the old one (I would say a barrier to downgrading is better than a barrier to upgrading). But this is nothing to do with the way noteheads are stored—it's just the playback pitches.
Isn't that information taken from instruments.xml and then embeded into the score?
Yes, hence the definite need to update instruments.xml along with the SoundFont change (and, maybe, fix 2.0 scores on load).
And that change to instruments.xml is what will cause backward compatibility issues with scores created using the new file/version and opened on older 2.0.x versions
Compatibility in terms of correct playback, not in terms of loading, surely?
No, in terms of loading, the changed instruments.xml does have that changed method of specifying noteheads.
Playback would be an issue too
What changed instruments.xml? It hasn't been modified for the new marching bass drum yet!
Not yet for 2.1, but has in master. Or is it just that drm file that is needed?
It hasn't in master, either. (https://github.com/musescore/MuseScore/commits/master/share/instruments…) But yes, all that's needed is for the info in the DRM to be put into instruments.xml.
And then comes the playback compatibility issue. But there's no question about instruments.xml.
If instruments.xml has to be changed, and a new score gets created with that file, thses changes are embeded in the score. What happens if that score then gets opened with an older version of MuseScore? Will it just work, have wrong playback, refuse to open the file or bail out with a crash?
If it works, excellent, wrong playback might be something we'd be able to live with, but anything else won't pass
It will load perfectly fine in older versions going back to 2.0, with wrong playback. Conversely, if no special import code is written for 2.1, then scores created with older versions going back to 2.0 will open perfectly fine in 2.1, with wrong playback.
If so I rest my case. Adding the drm files to correct the playback might be all that is needed then, right? 2 files, for 2.0 to 2.1 and for 2.1 to 2.0
That's funny, I was about to rest mine.
I think that's all that's needed, yes. What I was thinking was to have a simple check on opening to see:
- If the score was last saved with <2.1
- If there is an instrument matching the old definition of the marching bass drum
- - - Load updated DRM for that instrument.
If not, then simply put a notice in the release notes alerting users to manually do it.
(Not sure what you mean by 2.1 to 2.0—we can't change how older versions import.)
We could map that new marching bass drum differently for use with 2.0?
Per ChurchOrganist at https://musescore.org/en/node/41521#comment-630161, the 2.0 version requires a full-size keyboard for MIDI input, so he remapped it to work with a 61-key keyboard.
1. All Fluid percussion sounds (in the GM2 sets) should be set to "one-shot" (i.e. sample plays back in full, regardless of length of key press). Apart from the one or two exceptions in the orchestral set – snare drum rolls, for example.
2. #159256: Implement pan positions for soundfont percussion?
As we are now moving into the final weeks of 2.1 preparation, now is the time to get to work on sorting out these details in time to submit a new SF3 version.
Done in b75cc042
Dear ChurchOrganist,
I am a harmonica educator and have been playing the instrument for more than 15 years.
I found musescore a very nice platform for education and demonstration but I noticed that the current harmonica sound in the FLuidR3Mono soundfont would create a playback that is not decent enough. (The out-of-tune problem is particularly severe and noticeable using the mobile musescore iOS app)
I explored around Polyphone in the past few weeks trying to tackle the current problem by creating a soundfont from scratch. I recorded several samples (Master Tuning: 440.0Hz), added and linked them to the instrument and the preset in Polyphone. I removed the linkage to the original samples used for harmonica.
Kindly find from the link below the soundfont with the new harmonica samples added and linked:
https://drive.google.com/open?id=0B9XJFnogfU8CWDFVOGpnSEpVYkU
I hope this could help enhance the user experience by harmonica learners, educators and composers. Looking forward to the enhanced harmonica sound before the next release of updated version of musescore!
Yours,
Ivan CHONG Ting-ho
Reference Song Sample (Three in total) for Comparison:
1) Key words to search: "KCHB Audition 2017 - Set Piece 4 - Harmonica Tab"[mobile app version]
2) https://musescore.com/chromatic_harmonica_tab/set-piece-4-tab [musescore web version]
3) https://youtu.be/e3UFnqS09BA [youtube version, audio replaced with mp3 of the updated soundfont using the new harmonica samples]
Automatically closed -- issue fixed for 2 weeks with no activity.