Hi Martin,
Your template is working great!
I am now trying to make send of the sysex dumps. And sysex in general.
So far boolean’s and a range till 127 I understand.
But it gets harder when multiple bytes are used.
especially to point to the right starting bit when a byte is used for multiple parameters.
Could you give me some hints on the following?
OSC2 FREQFINE range -127-0-127 (255) bytes 3 and 0
so -127 to 0 are in byte3, its a negative value because byte3 is 00
0 byte3 = 7F = 127
but then this i do not get. the value is positive because byte0 has bit 6 set?
127 byte 3=3E and byte0 = 04
How do I write this in the template? Not sure but is parameterBitPosition
what and how it is passed to the ‘electra one knop/parameter’ and byteBitPosition
where it is taken from?
How do you count bit possitions? guessing from 0 to 7 for 1 -8.
parameterBitPosition = bit position within the parameter value
byteBitPosition = bit position in the SysEx byte, ie. where the value will be placed
OSC2 FREQFINE
{
“type”:“nrpn”,
“parameterNumber”:6,
“parameterBitPosition”:0,
“byte”:3,
“byteBitPosition”:0,
“bitWidth”:7
},
{
“type”:“nrpn”,
“parameterNumber”:6,
“parameterBitPosition”:5,
“byte”:0,
“byteBitPosition”:5,
“bitWidth”:1
}
OSC1 SHAPE byte4 and byte0
7F=SAW
-127=TRI=00
+127=Pulse= byte4=7E byte0=08
OSC1 SHAPE
{
“type”:“nrpn”,
“parameterNumber”:3,
“parameterBitPosition”:0,
“byte”:4,
“byteBitPosition”:0,
“bitWidth”:7
},
{
“type”:“nrpn”,
“parameterNumber”:3,
“parameterBitPosition”:4,
“byte”:0,
“byteBitPosition”:4,
“bitWidth”:1
}
Byte0 = 0C when: OSC2 FREQFINE at 127 and OSC1 SHAPE also at 127
04 = 0000 0100 OSC2 FREQFINE
08 = 0000 1000 OSC1 SHAPE also at 127
0000 1100 = 0C
Binary Hex.
0 0000 0 04 = 0000 0100 ( is this bit 5? )
1 0001 1 08 = 0000 1000
2 0010 2 0000 1100 = 0C
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F