Hello experimenters --
Attached is the first draft of a "dictionary" for UVF format. I'm sure there are some errors and omissions, but it's a start.
I recommend reading about the Yamaha AWM2 voice architecture before starting with UVF. One resource is the chapter of the Montage, Motif XF and MOX reference manuals concerning voice architecture and synthesis blocks. Another resource is the Yamaha Synthesizer Parameter Manual, which is published for the Montage and Motif keyboard range. UVF has similar parameters, perhaps with different names. ::) This background reading will help you see "the Yamaha way."
Once you grok all that, please browse through one or two UVF voice files. Hopefully, the dictionary will make more sense after background reading and browsing.
Good luck!
-- pj
<information>
<modelName>Tyros 4*</modelName>
<voiceID>0</voiceID>
<voiceName>Nai*</voiceName>
<voiceMsb>63*</voiceMsb>
<voiceLsb>2*</voiceLsb>
<voicePcNum>16*</voicePcNum>
<status></status>
<midiFormat></midiFormat>
<voiceCategory></voiceCategory>
<creator></creator>
<createdDate></createdDate>
<lastEditor></lastEditor>
<lastEditedDate></lastEditedDate>
<voiceInformationText>
<en></en>
<fr></fr>
<es></es>
<it></it>
<de></de>
<jp></jp>
</voiceInformationText>
<icon>S252*</icon>
<voiceDemo>**</voiceDemo>
<voicePrefixID>0</voicePrefixID>
<displayOrder>0</displayOrder>
<createdOnYt>ON</createdOnYt>
<originalFormat></originalFormat>
</information>
<waveform number="13*">
<name></name>
<maxSampleCount>2</maxSampleCount>
<useStereoCh>ON</useStereoCh>
<keybank number="0"></keybank>
<keybank number="1">
.
.
.
<keybank number="x">
</waveform>
<waveform number="14*">
<name></name>
<maxSampleCount>2</maxSampleCount>
<useStereoCh>ON</useStereoCh>
<keybank number="0"></keybank>
<keybank number="1">
.
.
.
<keybank number="x">
</waveform>
Thanks, Vali! It shows that there is still a lot to discover, learn and document.
I'd like to take a look at your UVF file, if you're willing to attach it here. (PM, otherwise.) I'm rapidly closing in on a key deadline and might not to be able to make much progress for a week or two.
Thanks, I appreciate your sharing and coding -- pj
<uvf:voiceData xmlns:uvf="http://www.yamaha.com/uvf" version="1.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<voiceType>UNIVERSAL</voiceType>
<voiceCommon xsi:type="uvf:VOICE_COMMON_UNIVERSAL">
<volume>0.000000</volume>
<velocityConvertTable number="0">
<name></name>
<presetTable>-1</presetTable>
<idNumber>0</idNumber>
</velocityConvertTable>
<chipCompatibility>NO_RESTRICTION</chipCompatibility>
<voiceElement number="0" xsi:type="uvf:VOICE_ELEMENT_UNIVERSAL">
<noteShift>0</noteShift>
<noteLimitHi>G8</noteLimitHi>
<noteLimitLo>C-2</noteLimitLo>
<velocityLimitHi>127</velocityLimitHi>
<velocityLimitLo>1</velocityLimitLo>
<blockComposition>
<oscillatorBlock xsi:type="uvf:OSCILLATOR_BLOCK_UNIVERSAL">
<waveformFile></waveformFile>
<waveformNum>0</waveformNum>
<releaseOnlyAEG>ON</releaseOnlyAEG>
</oscillatorBlock>
<triggerBlock xsi:type="uvf:TRIGGER_BLOCK_UNIVERSAL">
<keyOnDelayTime>0</keyOnDelayTime>
<keyOffSound>OFF</keyOffSound>
<legato>OFF</legato>
<waveCycle>OFF</waveCycle>
<waveRandom>OFF</waveRandom>
<controller1On>OFF</controller1On>
<controller2On>OFF</controller2On>
</triggerBlock>
Normal: The Element sounds normally each time you play the note.
Legato: When the Mono/Poly parameter is set to Mono, this Element
will be played in place of the one which is set to "Normal" of the XA
Control parameter when you play the keyboard in legato fashion
(playing the next note of a single-note line or melody before
releasing the previous note).
Key Off: The Element will sound each time you release the note.
Cycle (for multiple Elements): Each Element sounds alternately
according to its numerical order. In other words, playing the first
note will sound Element 1, the second note Element 2, and so on.
Random (for multiple Elements): Each Element will sound
randomly each time you play the note.
A.SW1 On: When the [ASSIGN 1] button is turned On, the
Element will sound.
A.SW2 On: When the [ASSIGN 2] button is turned On, the
Element will sound.
A.SW Off: When both the [ASSIGN 1] and [ASSIGN 2] buttons
are turned Off, the Element will sound.