ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.09.2024

Просмотров: 367

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

MIDI SPECIFICATION

MIDI

Shape

MIDI

Shape

Value

Name

Value

Name

24

Cir1.6R

43

Chaos50

25

Cir1.4R

44

Chaos66

26

SlwCrv1

45

Chaos75

27

SlwCrv2

46

Chaos95

28

DelayDC

47

Chaos99

29

DCdelay

48

LinShfl

30

Curve2X

49

LnShfl2

31

Curv2XB

50

RandomA

32

Curv2XC

51

RandomB

33

ZizZag1

52

RandomC

34

ZizZag2

53

RandomD

35

ZizZag3

54

RandomE

36

Chaos03

55

RandomF

37

Chaos06

56

RandomG

38

Chaos12

57

RandomH

39

Chaos16

58

RandomI

40

Chaos25

59

RandomJ

41

Chaos33

60

RandomK

42

Chaos37

61

RandomL

 

 

62

RandomZ

• Function Generator Conditions

The function generator condition values are shared between preset funcgens and hyper funcgens, though some values are excluded in the hyper func gen. The chart shows the numbers and the availability.

MIDI

Description

Availability

Value

 

 

0

Never

Preset, Hyperpreset

1

AlwaysEnd

Preset, Hyperpreset

2

NoteOnEnd

Preset, Hyperpreset

3

NoteOnImm

Preset, Hyperpreset

4

NoteOffEnd

Preset, Hyperpreset

5

NoteOffImm

Preset, Hyperpreset

6

LFO1End

Preset

7

LFO2End

Preset

8

Footswitch1End

Preset, Hyperpreset

9

Footswitch1Imm

Preset, Hyperpreset

Chapter 11: Reference Section

247

 

 


MIDI SPECIFICATION

MIDI

Description

Availability

Value

 

 

10

Footswitch2End

Preset, Hyperpreset

11

Footswitch2Imm

Preset, Hyperpreset

12

Footswitch3End

Preset, Hyperpreset

13

Footswitch3Imm

Preset, Hyperpreset

14

VelocityEnd

Preset

15

KeyEnd

Preset

• Function Generator Levels

The funcgen level parm value is comprised of two bitfields.

Funcgen Level = (levelType << 8) + levelValue

bits 8-13 = level type, 0-3

bits 0-7 = level value, +-127

The level types are defined as follows:

MIDI

Description

Value

 

0absolute level

1delta level

2random absolute level

3random delta level

• Filter Types

Use the FILTER LIST command to get a list of the currently available filter names, ids and transform number. the filter type number sent via sysex are unique ids. (they are not the index into the screens) The transform number is used to determine the active parms for that filter. The number of parms active for any filter is determined by the number of frames in the filter.

Number of

Active

Frames

Parms

2

Morph

4

Morph, Frequency Track

6

Morph, Frequency Track, Transform 2

8

Morph, Frequency Track, Transform 2

248 Morpheus Operation Manual


MIDI SPECIFICATION

Transform Filter Type

02 frame filter

14 frame “square” filter

26 frame “phantom cube” filter

38 frame “cube” filter

4unused

54 frame “square” filter, gain reduced

• Effect Types

Use the EFFECT LIST command to get a list of the currently available EFFECTS and their IDs. The effect type number sent via SysEx are unique IDs. (they are not the index into the screens). Note that the A and B effect IDs do not overlap. e.g. the A effect StereoFlange does not have the same ID as the B effect StereoFlange.

• Parameter Numbers

The following parameter numbers are in decimal.

Parm

Parm

Range

Number

Description

 

0-128

Proteus Preset Parms

 

256

Basic Channel

0-15

257

Channel Volume

0-127

258

Channel Pan

± 7, -8 = P

259

Current Program

0-MAXPROGRAM

260

Master Tune

± 64 Semitones

261

Master X-pose

± 12 Midi Keys (semitones)

262

Global Bend

0-12 ± Semitones

263

Global Velcurve

0-8, 0 = Off

264

Midi Mode

0-3, Omni, Poly, Multi, Mono

265

Unused

 

266

Control A

0-31

267

Control B

0-31

268

Control C

0-31

269

Control D

0-31

270

Footswitch 1

64-79

271

Footswitch 2

64-79

272

Footswitch 3

64-79

273

Midi Modechange Enable0-1, Disabled, Enabled

Chapter 11: Reference Section

249

 

 


MIDI SPECIFICATION

Parm

Parm

Range

Number

Description

 

274

SysEx Device ID

0-15

...

Unused

 

320

Current Midimap

0-MAXMAP

...

Unused

 

323

Auto Select

0-1, Off, On

324

Packet Delay

0-999 (approx. 600 μSecs/unit)

325

Proteus SysEx

0-1, Off, On

326

Compare Mode

0-1, Off, On

..

Unused

 

2048-2407

Midimap Vers. 1 Parms

See MIDIMAP DATA

8192-8469

Preset Vers. 1 Parms

See PRESET DATA

8704-8940

Hyper Vers. 1 Parms

See HYPERPRESET DATA

• Instrument Numbers

Use the INSTRUMENT LIST commands to get a list of the IDs and names as they appear in the box. Instrument numbers are comprised of two bitfields. (romset<<8) + index.

bits 8-13 = romset number.

bits 0-7 is an index into the romset.

The Morpheus romset is 7. (Therefore instrument numbers start at

1792).

• Program Numbers

The mapping of program numbers for preset changes and midimap program number editing is as follows:

MIDI

Program

Program

Bank

Numbers

Type

0

0-127

RAM Presets

1

128-255

ROM Presets

2

256-383

RAM Hypers

3

383-511

Card Presets

4

512-639

Card Hypers

250 Morpheus Operation Manual


SYSEX TUTORIAL

• 14-bit Signed 2's Complement Numbers

If the data value is negative, you must first take the 2's complement of the number: In the case of a 14-bit number this is equivalent to adding 16384 to the original negative value.

To fit the 7-bit MIDI protocol, numbers must be “nibble-ized”.

Status Bit MUST be “0” in MIDI data bytes.

data bits data bits

{ {

00000000

00000000

 

 

 

 

 

 

 

Status

Status

Bit

 

Bit

To get the 14-bit nibble-ized value (of a positive value or a 2's complemented negative value):

msb = value DIV 128 (divide and ignore the remainder)

lsb = value MOD 128 (divide and use only the remainder)

To go the other way (convert 14 bit signed 2's complement to a signed real number)

raw Value = (msb*128) + lsb (gives you the unsigned raw value)

if raw Value ³ 8192

(8192 = 2^13)

then signed Value = raw value - 16384

(16384 = 2^14)

Example: To find the “nibble-ized” Hex value of -127:

1)-127 + 16384 = 16257

2)16257 ¸ 128 = 127 r-1

3)127 in Hex = 7F = msb

4)1 in Hex = 01 = lsb

5)Parameter value would be transmitted as 01 7F

Example: To find the “nibble-ized” Hex value of parameter number 257:

1)257 ¸ 128 = 2 r-1

2)2 in Hex = 02 = msb

3)1 in Hex = 01 = lsb

4)Parameter number would be transmitted as 01 02

Chapter 11: Reference Section

251