FS1R

MIDI Continuous Controllers for the Yamaha FS1R.

Hex

Decimal

Destination

Assigned

Notes

01h

1

Mod Wheel

Mod Wheel

2

02h

2

Breath Control

Breath Control

1, 2

04h

4

Foot Control

Foot Control

1, 2

05h

5

Portamento Time

Portamento Time

3, 4

06h

6

Data Entry

Data Entry

6

07h

7

Volume

Volume

3, 4

0Ah

10

Pan

Pan

3, 4

0Bh

11

Expression

Expression

4, 5

10h

16

KN1

General Purpose 1

1, 2

11h

17

KN2

General Purpose 2

1, 2

12h

18

KN3

General Purpose 3

1, 2

13h

19

KN4

General Purpose 4

1, 2

14h

20

MC1

Undefined

1, 2

15h

21

MC2

Undefined

1, 2

16h

22

MC3

Undefined

1, 2

17h

23

MC4

Undefined

1, 2

18h

24

Formant

Undefined

1, 3, 4

19h

25

FM

Undefined

1, 3, 4

40h

64

Sustain

Sustain

on, off, 4

41h

65

Portamento

Portamento

on, off, 3, 4

47h

71

VCF Resonance

Resonance

3, 4

48h

72

Release Time

Release Time

3, 4

49h

73

Attack Time

Attack Time

3, 4

4Ah

74

VCF Cutoff

Cutoff

3, 4

5Bh

91

Reverb Send

Effect 1 Depth

3, 4

5Dh

93

Variation Send

Effect 3 Depth

3, 4

62h

98

NRPN LSB

NRPN LSB

6

63h

99

NRPN MSB

NRPN MSB

6

64h

100

RPN LSB

RPN LSB

6

65h

101

RPN MSB

RPN MSB

6



    1) Assignable from 001-031, 033-095. Default value shown.

    2) Assignable to the 'Control Grid'.

    3) Will alter the 'Part' value, effectively editing the performance (but not the voice).
    *If used in 'Control Grid', this will always depend on the destination.

    4) Can be used without being assigned to 'Control Grid'.

    5) Don't bother. Just use Volume instead, it does the same thing.

    6) See the next section.


Now, the hard part. This section will be of little or no use if you don't own a pc1600, or similar.

In addition to the CC messages above, Yamaha has other things that can be addressed with the use of RPN and NRPN controllers. This is somewhat cumbersome, and I can't figure out why they didn't just use CC 102-119, or some other unused, undefined area. It would've kept things much easier.

These parameters are first 'pointed' to with a RPN or NRPN message, then edited with CC#6.

The table here shows the parameters, and the messages to 'point' to them.

RPN

NRPN

MSB

LSB

Parameter

Range


X

01h

08h

LFO 1 Speed

-64 +63

00h - 7Fh


X

01h

09h

LFO 1 Pmod

-64 +63

00h - 7Fh


X

01h

0Ah

LFO 1 Delay

-64 +63

00h - 7Fh


X

01h

0Bh

LFO 2 Speed

-64 +63

00h - 7Fh


X

01h

0Ch

LFO 2 Flt Mod

-64 +63

00h - 7Fh


X

01h

20h

Filter Freq

-64 +63

00h - 7Fh


X

01h

21h

Filter Res

-64 +63

00h - 7Fh


X

01h

63h

Attk Time

-64 +63

00h - 7Fh


X

01h

64h

Decay Time

-64 +63

00h - 7Fh


X

01h

66h

Release Time

-64 +63

00h - 7Fh

X


00h

00h

PB Range

-24 +24

00h - 18h

X


00h

01h

Detune

-64 +63

00h - 7Fh

X


00h

02h

Note Shift

-24 +24

28h - 58h


X

7Fh

7Fh

Null Set

x

x

X


7Fh

7Fh

Null Set

x

x

The Null Set tells the FS1R to not do anything with CC#6, effectively turning it off, until another 'pointer' is received.


So far, this is theory, not practice. The next table shows how to enter a string into the pc1600 that will control the given parameter.

String

Data

Parameter

Range

Notes

Bn 63 01 62 08

06 pr

LFO 1 Speed

0 - 127

7

Bn 63 01 62 09

06 pr

LFO 1 Pmod

0 - 127

7

Bn 63 01 62 0A

06 pr

LFO 1 Delay

0 - 127

7

Bn 63 01 62 0B

06 pr

LFO 2 Speed

0 - 127

7

Bn 63 01 62 0C

06 pr

LFO 2 Flt Mod

0 - 127

7

Bn 63 01 62 20

06 pr

Filter Freq

0 - 127

8

Bn 63 01 62 21

06 pr

Filter Res

0 - 127

8

Bn 63 01 62 63

06 pr

Attk Time

0 - 127

8

Bn 63 01 62 64

06 pr

Decay Time

0 - 127

8

Bn 63 01 62 66

06 pr

Release Time

0 - 127

8

Bn 65 00 64 00

06 pr

PB Range

0 - 24

9

Bn 65 00 64 01

06 pr

Detune

0 - 127


Bn 65 00 64 02

06 pr

Note Shift

40 - 88


Program a fader of the pc1600 with the 'String' AND include the 'Data'. As always, 'n' is the channel number. Now, you can go crazy with the faders, and the FS1R will not have a problem.

Alternatively, you can program a fader to send a CC#6, and program a button to send what's in the 'String' column (leave out the '06 pr'). This will allow control of one parameter at a time with slider that's sending CC#6.

    7) The fun stuff

    8) Don't bother. You can do this without having to fight with the NRPNs.

    9) Probably not useful for performance, but here it is anyway.