MakeMusic
SmartMusic Finale Garritan MusicXML

Representing standard MusicXML 3.0 sounds in an external file

Moderator: Michael Good

Representing standard MusicXML 3.0 sounds in an external file

Postby Michael Good » Wed Mar 02, 2011 4:54 pm

As per our earlier discussion on this list, the current plan is that standard MusicXML 3.0 sounds for the instrument-sound element will be defined in an external file, rather than directly in the DTD / XSD. For MusicXML 3.0 there will be hundreds of instruments in this taxonomy.

How should this be represented? My initial thought is for a simple XML file that could be extended to support mappings back and forth between MusicXML IDs and IDs in other program.

We could have a top-level sounds element that contains a sequence of sound elements. Each sound element would have an id attribute that is an XML ID type. This would represent the MusicXML ID. There would be optional string content for the element that would represent the ID in another program.

We haven't yet decided on how we will mold the Sibelius and capella proposals together, so for this example I will use an ID that matches neither one. The standard MusicXML file might look something like this:

<sounds>
<sound id="brass.trumpet"/>
<sound id="brass.trumpet.piccolo"/>
</sounds>

A modified version that maps to Sibelius IDs would look like this:

<sounds>
<sound id="brass.trumpet">brass.trumpets.trumpet</sound>
<sound id="brass.trumpet.piccolo">brass.trumpets.piccolo</sound>
</sounds>

A modified version that maps to capella IDs would look like this:

<sounds>
<sound id="brass.trumpet">wind.brass.trumpets.trumpet</sound>
<sound id="brass.trumpet.piccolo">wind.brass.trumpets.trumpet.piccolo</sound>
</sounds>

Please let me know your thoughts on this proposal.

Best regards,

Michael Good Recordare LLC
Michael Good
VP of MusicXML Technologies
MakeMusic, Inc.
User avatar
Michael Good
 
Posts: 2197
Joined: March, 2014
Reputation: 0

RE: Representing standard MusicXML 3.0 sounds in an external file

Postby Michael Cuthbert » Wed Mar 02, 2011 9:49 pm

A good idea! I agree the contents of the "sound" direction should be application/format specific; it might be good to show a format that does not use a group.instrument.etc... format. The one I'd suggest providing is General MIDI-0-based:

<sounds>
<sound id="brass">61</sound>
<sound id="brass.trumpet">56</sound>
<sound id="brass.trumpet.muted">59</sound>
</sounds>

I'm still not sure about things like "brass.trumpet.muted" or
"string.violin.pizzicato" other directives that change the sound of the instrument without changing the "instrument" itself.

One thing that I'd like to see as part of the proposal is how to create a musicxml file that would automatically use the new included Finale VST instruments for certain parts (including, say, putting some clarinets on the Clarinet 1 sound; some on Clarinet 2, etc.) that falls back nicely to general midi sounds in Sibelius, etc.

Best, Michael

file

As per our earlier discussion on this list, the current plan is that standard MusicXML 3.0 sounds for the instrument-sound element will be defined in an external file, rather than directly in the DTD / XSD. For MusicXML 3.0 there will be hundreds of instruments in this taxonomy.

How should this be represented? My initial thought is for a simple XML file that could be extended to support mappings back and forth between MusicXML IDs and IDs in other program.

We could have a top-level sounds element that contains a sequence of sound elements. Each sound element would have an id attribute that is an XML ID type. This would represent the MusicXML ID. There would be optional string content for the element that would represent the ID in another program.

We haven't yet decided on how we will mold the Sibelius and capella proposals together, so for this example I will use an ID that matches neither one. The standard MusicXML file might look something like this:

<sounds>
<sound id="brass.trumpet"/>
<sound id="brass.trumpet.piccolo"/>
</sounds>

A modified version that maps to Sibelius IDs would look like this:

<sounds>
<sound id="brass.trumpet">brass.trumpets.trumpet</sound>
<sound id="brass.trumpet.piccolo">brass.trumpets.piccolo</sound>
</sounds>

A modified version that maps to capella IDs would look like this:

<sounds>
<sound id="brass.trumpet">wind.brass.trumpets.trumpet</sound>
<sound id="brass.trumpet.piccolo">wind.brass.trumpets.trumpet.piccolo</sound>
</sounds>

Please let me know your thoughts on this proposal.

Best regards,

Michael Good Recordare LLC
Michael Cuthbert
 
Posts: 70
Joined: March, 2014
Reputation: 0

RE: Representing standard MusicXML 3.0 sounds in an external file

Postby Michael Good » Fri Apr 01, 2011 11:27 pm

Hi Michael,

Michael Cuthbert wrote:One thing that I'd like to see as part of the proposal is how to create a musicxml file that would automatically use the new included Finale VST instruments for certain parts (including, say, putting some clarinets on the Clarinet 1 sound; some on Clarinet 2, etc.) that falls back nicely to general midi sounds in Sibelius, etc.

I don't think I answered this yet - sorry about that! The current design looks like this:

<!ELEMENT score-instrument
(instrument-name, instrument-abbreviation?,
instrument-sound?, (solo | ensemble)?,
virtual-instrument?)>
<!ATTLIST score-instrument
id ID #REQUIRED> <!ELEMENT instrument-name (#PCDATA)>
<!ELEMENT instrument-abbreviation (#PCDATA)>
<!ELEMENT instrument-sound (#PCDATA)>
<!ELEMENT solo EMPTY>
<!ELEMENT ensemble (#PCDATA)>
<!ELEMENT virtual-instrument
(virtual-library?, virtual-name)>
<!ELEMENT virtual-library (#PCDATA)>
<!ELEMENT virtual-name (#PCDATA)>

So there are two levels of detail for instrument sounds:

1) The generic sound described by the instrument-sound element. This is where the extensible 600-sound taxonomy goes. 2) The particular virtual-instrument being used, as specified by the library name and instrument/patch name.

This is in addition to the MIDI-specific information that is already available in MusicXML 2.0.

I think that this should do what you are looking for as far as the format is concerned. It's then a matter of getting the import and export software built.

If there's something you still need, please let us know. Playback techniques like mutes are missing right now, but we hope to have that coming soon.

Best regards,

Michael Good Recordare LLC
Michael Good
VP of MusicXML Technologies
MakeMusic, Inc.
User avatar
Michael Good
 
Posts: 2197
Joined: March, 2014
Reputation: 0

Who is online

Users browsing this forum: No registered users and 2 guests

cron