Control  Change; System  Exclusive; Custom  Midi  Message  Example - Fractal Audio MFC-101 MARK III Owner's Manual

Midi foot controller
Hide thumbs Also See for MFC-101 MARK III:
Table of Contents

Advertisement

APPENDIX  
14.4.2  Control  Change  
Control  Change  messages  consist  of  three  bytes.    The  first  byte  is  0xBn,  where  n  is  the  MIDI  channel  number  in  
hexadecimal  minus  1.    The  second  byte  specifies  the  continuous  controller  number  and  has  a  range  of  0  to  127.    
The  third  byte  specifies  the  value  for  the  controller  and  has  a  range  of  0  to  127.      
So,  for  example,  a  message  for  CC#0  on  MIDI  channel  1  with  a  value  of  0  would  be  B0  00  00.  
A  message  for  CC#64  on  MIDI  channel  4  with  a  value  of  110  would  be  B3  40  6E.  
For  switched  functions,  the  value  0  is  typically  considered  "OFF",  and  the  value  127  is  "ON",  though  some  devices  
accept  anything  from  0  to  63  as  OFF  and  anything  from  64-­‐127  as  ON.  Many  devices  also  use  Control  Change  
messages  for  real  time  continuous  control.  
14.4.3  System  Exclusive  
System  exclusive  messages  are  generally  used  to  send  device  or  system-­‐specific  information  from  one  MIDI  device  
to  another.    These  messages  always  start  with  the  value  F0  and  end  with  the  value  F7.    The  data  in  between  the  
start  and  stop  values  must  always  be  7F  or  lower.  
14.4.4  Custom  MIDI  Message  Example  
Suppose  you  need  to  load  preset  1100  on  a  MIDI-­‐  device.  This  number  is  greater  than  the  MFC-­‐101's  maximum  
program  change  of  999.    Let's  also  say  that  you  need  to  send  the  device  a  system  exclusive  message  to  turn  on  an  
effect.    You  will  need  a  custom  MIDI  message.  Assume  the  device  is  on  MIDI  channel  5.    The  first  message  will  be  a  
Bank  Select  message  (CC#0).    The  first  byte  is  0xC4  for  Control  Change,  MIDI  channel  5.  The  second  byte  is  0  (0x00)  
for  CC#0  (bank  select).    The  third  and  last  byte  is  8  (0x08).    This  value  was  determined  by  dividing  the  desired  
preset  (in  our  case  1100)  by  the  number  of  programs  in  a  bank,  128.    Therefore,  1100  /  128  =  8  (for  this  operation  
we  throw  away  the  remainder).  
The  second  message  that  should  be  programmed  is  a  program  change  message.    The  first  byte  is  0xB4  and  is  
created  as  described  above.    The  second  byte  is  the  program  number.    Since  1100  is  greater  than  128  we  have  to  
compute  what  the  value  should  be.    In  this  case  the  value  is  the  remainder  when  the  preset  number  (1100)  is  
divided  by  the  highest  program  change  number  that  can  be  transmitted  in  a  program  change  message  (128).    That  
is,  1100  /  128  =  8  with  remainder  76,  so  program  76  (0x4C)  is  the  second  byte.  
The  third  message  that  should  be  programmed  is  a  system  exclusive  message.    The  first  byte  is  0xF0  and  signifies  
the  start  of  a  system  exclusive  message.  The  inner  data  bytes  of  the  system  exclusive  message  are  determined  
from  the  MIDI  spec  for  our  device.  Let's  suppose  they  are  0x01  0x02  0x03  0x04  0x05.    The  last  byte  is  0xF7  and  
signifies  the  end  of  the  system  exclusive  message.  
The  bytes  you  would  program  into  the  custom  MIDI  message  menu  are  therefore:  
B4  
00  
08  
Control  
CC#0  
Bank  8  
Change,  
(Bank  
Ch.  4  
Select)  
Have  fun,  and  remember  writing  MIDI  hex  code  does  not  require  you  to  wear  a  pocket  protector.  
78
 
 
C4  
4C  
F0  
Program  
Program  
SysEx  
Change,  
#76  
Start  
Ch.  4  
 
01  
02  
03  
SysEx  Data  "payload"  
Fractal  Audio  Systems  MFC-­‐101  Manual
04  
05  
F7  
SysEx  
End  
 
 
 Doc  v3.0

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the MFC-101 MARK III and is the answer not in the manual?

Questions and answers

Table of Contents