Preset / Patch File Format

Mehr
11 Monate 2 Wochen her #1 von kevinlindley
Hi,

Can anyone provide me with details on the .pl2 file format used for storing Pulse 2 presets please, or point me to a spec. Thanks.

Kind Regards
Kevin.
 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
11 Monate 2 Wochen her #2 von Qwave
The Waldorf Pulse2 exports the files via MIDI SysEx data. Where do you get such a .pl2 file from your Pulse2 or other Waldorf gear?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
11 Monate 2 Wochen her #3 von kevinlindley
The .pl2 file is the same as a SysEx dump but without the midi header. Its just the "payload" of each patch, i.e. just the 134 byte of Patch Data.

The queries I have that I can't find answers in the Waldorf Sysex document are:

1. What do the first 3 bytes in a patch signify, they always seem to be "240,62,22", is this kind of version number?
2. I can't seem to see what the next 4 bytes are used for either, any help on these would be most welcome.
3. Bytes 88 to 91 also don't seem to be documented anywhere, by bytes 90 and 91 certainly hold values in some patches.
4. Finally I cant find any info on the bytes from 115 to 119, again any details on whet these are would be helpful (my suspicion is they were/are never used).

Kind Regards
Kevin

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
11 Monate 2 Wochen her - 11 Monate 2 Wochen her #4 von Qwave
240 = F0h = Marks start of every SysEx file
62 = 3Eh = Waldorf Music ID
22 = 16h = Pulse 2 ID (original Pulse = hex 0B)
next 4 see below

next the actual sound data bytes (0 to 127) -> Some bytes are not documented, like 81 to 84. The sound name is byte 113 to 126. 127 is the Class (category)

After this follows the SysEx checksum
Last the SysEx end is indicated always by a F7h

So better use the SysEx document of the Pulse 2 to analyse it. This document uses hexdecimal values as most other SysEx documents you encounter. And the number the bytes starting with a zero.


* Sound dump:
Format : F0h 3Eh 16h DEV 10h BNK SND DAT XS F7h

Where:
Index   Label   Value             Description
--------------------------------------------------------------------------
0       EXC     F0h               Marks start of SysEx
1       IDW     3Eh               Waldorf Music ID
2       IDE     16h               Pulse 2 ID
3       DEV                       Device ID
4        CNT        10h                  Sound dump
5       BNK                          Sound bank   | 7Fh (edit / play buffer)
6       SND                          Sound number | 00h (edit buffer)
8-n        DAT                      Sound data (see parameters table)
n+1        XS                          Sysex checksum (7 bit bytesum from IDW to the end of DAT)
n+2     EOX     F7h               End of Exclusive
---------------------------------------------------------------------------


* Sound parameters :

Param ID     PP        Param Description            Param Range     Default    MIDI CC
--------------------------------------------------------------------------------
*   0          00h     : OSC1 SHAPE                   (  0 -   9)        0     CC : 34 
*   1          01h     : OSC1 PULSEWIDTH              (  0 - 127)      127     CC : 35 
*   2          02h     : OSC1 SEMITONE                ( 16 - 112)       64     CC : 70 
*   3          03h     : OSC1 DETUNE                  (  0 - 127)       64     CC : 71 
*   4          04h     : OSC1 KEYTRACK                (  0 -   1)        1     CC : 73 
*   5          05h     : OSC1 LEVEL                   (  0 - 127)       40     CC : 45 
*   6          06h     : OSC2 SHAPE                   (  0 -   4)        0     CC : 38 
*   7          07h     : OSC2 PULSEWIDTH              (  0 - 127)      127     CC : 39 
*   8          08h     : OSC2 SEMITONE                ( 16 - 112)       64     CC : 36 
*   9          09h     : OSC2 DETUNE                  (  0 - 127)       64     CC : 37 
*  10          0ah     : OSC2 KEYTRACK                (  0 -   1)        1     CC : 40 
*  11          0bh     : OSC2 LEVEL                   (  0 - 127)        0     CC : 46 
*  12          0ch     : OSC3 SHAPE                   (  0 -   4)        0     CC : 44 
*  13          0dh     : OSC3 ROUTING                 (  0 -   3)        0     CC : 72 
*  14          0eh     : OSC3 SEMITONE                ( 16 - 112)       64     CC : 42 
*  15          0fh     : OSC3 DETUNE                  (  0 - 127)       64     CC : 43 
*  16          10h     : OSC3 SYNC>OSC2               (  0 -   1)        0     CC : 41 
*  17          11h     : OSC3 LEVEL                   (  0 - 127)        0     CC : 47 
*  18          12h     : LFO1 SPEED                   (  0 - 127)       64     CC : 24 
*  19          13h     : LFO1 SHAPE                   (  0 -   9)        0     CC : 25 
*  20          14h     : LFO2 SPEED                   (  0 - 127)       64     CC : 26 
*  21          15h     : LFO2 DELAY                   (  0 - 127)        0     CC : 27 
*  22          16h     : GLIDE RATE                   (  0 - 127)       10     CC : 5 
*  23          17h     : GLIDE MODE                   (  0 -   4)        0     CC : 62 
*  24          18h     : ENVF ATTACK                  (  0 - 127)        0     CC : 14 
*  25          19h     : ENVF DECAY                   (  0 - 127)       42     CC : 15 
*  26          1ah     : ENVF SUSTAIN                 (  0 - 127)       42     CC : 16 
*  27          1bh     : ENVF RELEASE                 (  0 - 127)       42     CC : 17 
*  28          1ch     : ENVF LOOP                    (  0 -   2)        0     CC : 74 
*  29          1dh     : ENVF TRIGGER                 (  0 -   4)        2     CC : 29 
*  30          1eh     : ENVA ATTACK                  (  0 - 127)        0     CC : 18 
*  31          1fh     : ENVA DECAY                   (  0 - 127)       42     CC : 19 
*  32          20h     : ENVA SUSTAIN                 (  0 - 127)      127     CC : 20 
*  33          21h     : ENVA RELEASE                 (  0 - 127)       42     CC : 21 
*  34          22h     : ENVA LOOP                    (  0 -   2)        0     CC : 75 
*  35          23h     : ENVA TRIGGER                 (  0 -   4)        2     CC : 31 
*  36          24h     : ARP ACTIVE                   (  0 -   2)        0     CC : 79 
*  37          25h     : ARP RANGE                    (  0 -   9)        1     CC : 80 
*  38          26h     : ARP TEMPO                    (  0 - 127)       37     CC : 81 
*  39          27h     : ARP CLOCK                    (  0 -  19)        9     CC : 82 
*  40          28h     : ARP PATTERN                  (  0 -  14)        0     
*  41          29h     : ARP MODE                     (  0 -   6)        0     CC : 83 
*  42          2ah     : VCF CUTOFF                   (  0 - 127)      127     CC : 50 
*  43          2bh     : VCF RESONANCE                (  0 - 127)        0     CC : 56 
*  44          2ch     : VCF ENVF AMOUNT              (  0 - 127)       64     CC : 52 
*  45          2dh     : VCF TYPE                     (  0 -   3)        0     CC : 49 
*  46          2eh     : VCF KEYTRACK                 (  0 - 127)       64     CC : 51 
*  47          2fh     : VCF VELOCITY                 (  0 - 127)       64     CC : 53 
*  48          30h     : VCA DRIVE                    (  0 - 127)        0     CC : 76 
*  49          31h     : VCA DRIVE CURVE              (  0 -   3)        0     CC : 77 
*  50          32h     : VCA PANNING                  (  0 - 127)       64     CC : 59 
*  51          33h     : NOISE LEVEL                  (  0 - 127)        0     CC : 48 
*  52          34h     : VCA VOLUME                   (  0 - 127)      100     CC : 57 
*  53          35h     : VCA VELOCITY                 (  0 - 127)       64     CC : 58 
*  54          36h     : MOD1 SOURCE                  (  0 -  22)        2     CC : 108 
*  55          37h     : MOD1 AMOUNT                  (  0 - 127)       70     CC : 109 
*  56          38h     : MOD1 TARGET                  (  0 -  30)        0     CC : 110 
*  57          39h     : MOD2 SOURCE                  (  0 -  22)        0     CC : 111 
*  58          3ah     : MOD2 AMOUNT                  (  0 - 127)       64     CC : 112 
*  59          3bh     : MOD2 TARGET                  (  0 -  30)       10     CC : 113 
*  60          3ch     : MOD3 SOURCE                  (  0 -  22)        0     CC : 114 
*  61          3dh     : MOD3 AMOUNT                  (  0 - 127)       64     CC : 115 
*  62          3eh     : MOD3 TARGET                  (  0 -  30)        0     CC : 116 
*  63          3fh     : MOD4 SOURCE                  (  0 -  22)        0     CC : 117 
*  64          40h     : MOD4 AMOUNT                  (  0 - 127)       64     CC : 118 
*  65          41h     : MOD4 TARGET                  (  0 -  30)        0     CC : 119 
*  66          42h     : MOD5 SOURCE                  (  0 -  22)        0     CC : 90 
*  67          43h     : MOD5 AMOUNT                  (  0 - 127)       64     CC : 91 
*  68          44h     : MOD5 TARGET                  (  0 -  30)        0     CC : 92 
*  69          45h     : MOD6 SOURCE                  (  0 -  22)        0     CC : 93 
*  70          46h     : MOD6 AMOUNT                  (  0 - 127)       64     CC : 94 
*  71          47h     : MOD6 TARGET                  (  0 -  30)        0     CC : 95 
*  72          48h     : MOD7 SOURCE                  (  0 -  22)        0     CC : 96 
*  73          49h     : MOD7 AMOUNT                  (  0 - 127)       64     CC : 97 
*  74          4ah     : MOD7 TARGET                  (  0 -  30)        0     CC : 98 
*  75          4bh     : MOD8 SOURCE                  (  0 -  22)        0     CC : 99 
*  76          4ch     : MOD8 AMOUNT                  (  0 - 127)       64     CC : 100 
*  77          4dh     : MOD8 TARGET                  (  0 -  30)        0     CC : 101 
*  78          4eh     : UNISON DETUNE                (  0 - 127)       10     CC : 102 
*  79          4fh     : OSC1 ENVA FADE               (  0 - 127)       10     CC : 103 
*  80          50h     : OSC2 ENVA FADE               (  0 - 127)       10     CC : 104 
*  85          55h     : BEND UPWARDS                 (  0 -  36)        3     CC : 105 
*  86          56h     : BEND DOWN                    (  0 -  36)        3     CC : 106 
*  87          57h     : STEP DURATION                (  0 -  14)        6     CC : 84 
*  88          58h     : ARP SWING                   ( 14 - 114)       64     CC : 85 
*  89          59h     : ARP DELAY                    ( 14 - 114)       64     CC : 86
*  90         5ah    : PAT STEP1                    (  0 - 127)          50
*  91         5bh    : PAT STEP2                    (  0 - 127)          50
*  92         5ch    : PAT STEP3                    (  0 - 127)          50
*  93         5dh    : PAT STEP4                    (  0 - 127)          50
*  94         5eh    : PAT STEP5                    (  0 - 127)          50
*  95         5fh    : PAT STEP6                    (  0 - 127)          50
*  96         60h    : PAT STEP7                    (  0 - 127)          50
*  97         61h    : PAT STEP8                    (  0 - 127)          50
*  98         62h    : PAT STEP9                    (  0 - 127)          50
*  99         63h    : PAT STEP10                (  0 - 127)          50
*  100         64h    : PAT STEP11                (  0 - 127)          50
*  101         65h    : PAT STEP12                (  0 - 127)          50
*  102         66h    : PAT STEP13                (  0 - 127)          50
*  103         67h    : PAT STEP14                (  0 - 127)          50
*  104         68h    : PAT STEP15                (  0 - 127)          50
*  105         69h    : PAT STEP16                (  0 - 127)          50
*  106          6ah     : PATTERN LENGTH               (  0 -  15)       15     CC : 87 
*  107          6bh     : ACCENT CONTROL               (  0 -  22)       13     CC : 88 
*  113         71h    : NAME1                        (  0 - 127)       73 (I)
*  114         72h    : NAME2                        (  0 - 127)       78 (N) 
*  115         73h    : NAME3                        (  0 - 127)       73 (I) 
*  116         74h    : NAME4                        (  0 - 127)       84 (T)
*  117         75h    : NAME5                        (  0 - 127)       0 
*  118         76h    : NAME6                        (  0 - 127)       0 
*  119         77h    : NAME7                        (  0 - 127)       0 
*  120         78h    : NAME8                        (  0 - 127)       0 
*  121         79h    : NAME9                        (  0 - 127)       0 
*  122         7Ah    : NAME10                    (  0 - 127)       0 
*  123         7Bh    : NAME11                    (  0 - 127)       0 
*  124         7Ch    : NAME12                    (  0 - 127)       0 
*  125         7Dh    : NAME13                    (  0 - 127)       0 
*  126         7Eh    : NAME13                    (  0 - 127)       0 
*  127         7Fh    : CLASS                        (  0 -  20)       0

* All not listed parameters are reserved parameters


We got the header of 7 bytes, 128 bytes of sound data, and finally 2 bytes as footer = 137 bytes all together.


But where do you get the pl2 file from? It is not from the Pulse itself. What software do you use?
I would recommend using SysEx. SysEx is the pure data needed to transfer to the instrument. Not a single byte more content.
Letzte Änderung: 11 Monate 2 Wochen her von Qwave.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
11 Monate 2 Wochen her #5 von kevinlindley
Hi,

Thank you for such a comprehensive reply.

There is a reason I have 2 Waldorf Synths, firstly their great sound but also the fact that I can be sure of a great after sales service and quick responses to these kinds of questions. It really is appreciated and one of the reasons I will continue to be a Waldorf customer in the future. :-)

Thanks again for the information.

In response to your query, the .pl2 file came from exporting from a 3rd Party Pulse 2 editor by Mystery Island Music.

Kind Regards
Kevin.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.