SoulMelody / LibreSVIP

A universal converter for singing voice projects which is cross-platform and multi-lingual
https://soulmelody.github.io/LibreSVIP/
MIT License
43 stars 3 forks source link

Update to MusicXML version 4 #509

Open fcnjd opened 1 month ago

fcnjd commented 1 month ago

Hi, I'm getting the following error when trying to convert a musicxml file, which however processes fine on utaformatix. I'm using version 1.3.3. grace-cue is not a valid NoteSizeType warnings.warn(message, ConverterWarning) +--------------------- Traceback (most recent call last) ---------------------+ <traceback was here, omitted it for ease of use> ValidationError: 1 validation error for NoteSize type_value Input should be 'cue', 'grace' or 'large' [type=enum, input_value='grace-cue', input_type=str] For further information visit https://errors.pydantic.dev/2.9/v/enum If you need the file for reference, I exported the tenor voice from https://musescore.com/user/883406/scores/3707141 The command is:

libresvip-cli proj convert Look_at_the_world_-_John_Rutter_San_Frediano_-_Pisa-Ténor.musicxml Look_at_the_world_-_John
_Rutter_San_Frediano_-_Pisa-Ténor.ds

Thans in advance for any advice on what I'm doing wrong.

SoulMelody commented 1 month ago

Thanks for reporting this issue. It seems the MusicXML standard is not fully forward-compatible. Maybe we should follow the newest MusicXML 4.0 schema.

fcnjd commented 1 month ago

Thank you for your quick reply, good to know that I didn't just use the CLI wrong. Following the newest MusicXML 4.0 schema sounds like a great idea - I think this could also mean we'll be supporting the compressed MXL file schema, which could be helpful as well.

fcnjd commented 2 weeks ago

Another aspect I consider relevant to mention: For me it looks like the MusicXML import was taken from Utaformatix. However, this one seems to have the problem that connected notes aren't translated correctly, which gets hearable when for example converting to USTX, syllables of connected notes are then simply missing.