-
Notifications
You must be signed in to change notification settings - Fork 23
Description
Thanks for ConvertWithMoss, which has already helped me a lot. I have owned an OP-XY from Teenage Engineering for some time now. I would be delighted if you could find the time to support this device in ConvertWithMoss at some point.
- The OP-XY supports multisamples and reads the root key and loop markers from the sample chunk of wave files. However, compiling your own multisamples on the device is tedious and not yet fully developed.
- Its dedicated format for multisample patches is relatively open: It consists of a folder containing the individual wave files and a .json file with the mapping and meta information (example below).
- There is a online multisample patch generator that works perfectly but does not convert any other sample formats. You can drag the individual samples onto it and the tool then automatically generates a patch file for the XY (provided the wave files contain the tags).
Here is an example for the .json file mentioned above:
{
"engine": {
"bendrange": 13653,
"highpass": 0,
"modulation": {
"aftertouch": {
"amount": 30719,
"target": 4096
},
"modwheel": {
"amount": 32767,
"target": 10240
},
"pitchbend": {
"amount": 16383,
"target": 0
},
"velocity": {
"amount": 16383,
"target": 0
}
},
"params": [
16384,
16384,
16384,
16384,
16384,
16384,
16384,
16384
],
"playmode": "poly",
"portamento.amount": 0,
"portamento.type": 32767,
"transpose": 0,
"tuning.root": 0,
"tuning.scale": 0,
"velocity.sensitivity": 10240,
"volume": 16466,
"width": 3072
},
"envelope": {
"amp": {
"attack": 0,
"decay": 20295,
"release": 16383,
"sustain": 14989
},
"filter": {
"attack": 0,
"decay": 16895,
"release": 19968,
"sustain": 16896
}
},
"fx": {
"active": false,
"params": [
19661,
0,
7391,
24063,
0,
32767,
0,
0
],
"type": "svf"
},
"lfo": {
"active": false,
"params": [
19024,
32255,
4048,
17408,
0,
0,
0,
0
],
"type": "element"
},
"octave": 0,
"platform": "OP-XY",
"regions": [
{
"framecount": 238140,
"gain": 0,
"hikey": 48,
"lokey": 0,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 48,
"reverse": false,
"sample": "horizon C2.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
},
{
"framecount": 238140,
"gain": 0,
"hikey": 54,
"lokey": 49,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 54,
"reverse": false,
"sample": "horizon F#2.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
},
{
"framecount": 238140,
"gain": 0,
"hikey": 60,
"lokey": 55,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 60,
"reverse": false,
"sample": "horizon C3.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
},
{
"framecount": 238140,
"gain": 0,
"hikey": 66,
"lokey": 61,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 66,
"reverse": false,
"sample": "horizon F#3.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
},
{
"framecount": 238140,
"gain": 0,
"hikey": 72,
"lokey": 67,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 72,
"reverse": false,
"sample": "horizon C4.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
},
{
"framecount": 238140,
"gain": 0,
"hikey": 78,
"lokey": 73,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 78,
"reverse": false,
"sample": "horizon F#4.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
},
{
"framecount": 238140,
"gain": 0,
"hikey": 84,
"lokey": 79,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 84,
"reverse": false,
"sample": "horizon C5.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
},
{
"framecount": 238140,
"gain": 0,
"hikey": 90,
"lokey": 85,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 90,
"reverse": false,
"sample": "horizon F#5.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
},
{
"framecount": 238140,
"gain": 0,
"hikey": 127,
"lokey": 91,
"loop.crossfade": 0,
"loop.end": 238140,
"loop.onrelease": true,
"loop.enabled": true,
"loop.start": 158760,
"pitch.keycenter": 95,
"reverse": false,
"sample": "horizon B5.wav",
"sample.end": 238140,
"sample.start": 0,
"tune": 0
}
],
"type": "multisampler",
"version": 4
}