home/ atoms/ source-preset-xml-schema

SOURCE presets are XML files where PRESET > SOUND > SOUND_SAMPLE hierarchy mirrors the sampler's class structure

A SOURCE preset is a .xml file stored in ~/Documents/SourceSampler/presets/<number>.xml. The root <PRESET> element holds global parameters (num voices, reverb settings, note layout type). Each <SOUND> child stores per-sound parameters (ADSR, filter, MIDI notes bitmask, pitch, pan, freeze speed). Each <SOUND_SAMPLE> within a SOUND holds per-file metadata (Freesound ID, username, license URL, preview URL, MIDI root note, velocity layer). A <MIDI_CC_MAPPING> element inside a SOUND records which CC number maps to which parameter with what range. Importantly, the license URL is stored per sound_sample, so attribution data travels with the preset. A preset can be generated programmatically (the ‘Freesound Presets’ project does this) and loaded by SOURCE without any GUI interaction.

Examples

A preset file with soundId="517784" and license="http://creativecommons.org/licenses/by/3.0/" inside a SOUND_SAMPLE records exactly which Freesound sound is used and what license terms apply. Sharing this preset file shares the attribution chain.

Assessment

Draw the XML element hierarchy for a SOURCE preset with 2 sounds, one of which has 2 velocity layers and 1 MIDI CC mapping. Where is the CC license URL stored in this structure? What parameter tells SOURCE which MIDI notes trigger a given sound?

“The preset file structure follows a similar structure to that of the class diagram, with the root `PRESET` element containing an indefinite number of `SOUND` elements which can also contain any number of `SOUND_SAMPLE` and `MIDI_CC_MAPPING` elements.”
corpus · source-a-freesound-community-sampler-open-source · chunk 6