cheater Posted June 1, 2004 Report Posted June 1, 2004 Hey,I'm currently looking at the prospect of creating a full-fledged control surface for the Native Instruments FM7. Including all the parameters and the mod matrix it'd be well over 200 controllers...The questions are:1. How many CC's can I have in one MIDI channel? Is it 127? Where can I find something more about MIDI specifications altogether?2. Has anyone tried using the FM7 with control coming from multiple channels at once? I know it can listen to all the MIDI channels - but will it know the difference between CC30 on channel 1 and CC30 on channel 5?3. I want to get some really good precision on at least a few crucial knobs - from what I read, MIDI can support a precision of up to 14 bits. How would I interface a microcontroller with external A/D converters (I know little about microcontrollers)? Where can I get A/D converters of that resolution (16 bits for jitter reduction maybe)? What microcontrollers would you suggest? PIC's only have up to 12-bit ones, and I don't think there are models with 200 analog inputs :DSomeone suggested Atmel microcontrollers...?(They're supposedly more powerful than PIC controllers, and PIC ones don't have a C compiler, do they?).Note, I don't want this to grow from a MIDIBox project, as none really seems to be right for the job.Perhaps it could be a MIDIBox NNG? ;) Quote
TK. Posted June 2, 2004 Report Posted June 2, 2004 Hi,I don't know the possibilities of FM7 so much, but I fear that it only supports MIDI parameters with 7 bit resolution like every VST instrument.You should also check which parameters are accessible - and how exactly, this information should be available in the user manual.Best Regards, Thorsten. Quote
cheater Posted June 3, 2004 Author Report Posted June 3, 2004 Hi,I don't know the possibilities of FM7 so much, but I fear that it only supports MIDI parameters with 7 bit resolution like every VST instrument.You should also check which parameters are accessible - and how exactly, this information should be available in the user manual.Best Regards, Thorsten.Hey Thorsten,I too fear it only supports 7-bit. But it may be possible to go around that using a VST host with automation, like Cubase SX... hmmmAnyways,any ideas about the other stuff? What microcontroller to use, and what A/D converters? Do you know a place to find the electrical info for MIDI? Quote
TK. Posted June 3, 2004 Report Posted June 3, 2004 I'm not sure if you've already read the FAQ: http://www.ucapps.de/qa.html where you can also find a link to the MIDI specification. Everything else is FM7 specific.Microcontroller: Atmels are faster than PIC16F yes, but we are using PIC18F in the meantime ;-) However, if you want to program in C, I'm not the right person who could help you... A/D: you won't be able to sample a common pot with 14 bit resolution without a lot of jitter. Most people regognized jittering values already at a 10 bit resolution.For a really powerful control surface I would prefer rotary encoders anyhow, because of an "endless resolution" and the possibility to switch between patches and parameter groups without "jumping values" - see MIDIbox SID CSBest Regards, Thorsten. Quote
cheater Posted June 3, 2004 Author Report Posted June 3, 2004 I'm not sure if you've already read the FAQ: http://www.ucapps.de/qa.html where you can also find a link to the MIDI specification. Everything else is FM7 specific.Microcontroller: Atmels are faster than PIC16F yes, but we are using PIC18F in the meantime ;-) However, if you want to program in C, I'm not the right person who could help you... A/D: you won't be able to sample a common pot with 14 bit resolution without a lot of jitter. Most people regognized jittering values already at a 10 bit resolution.For a really powerful control surface I would prefer rotary encoders anyhow, because of an "endless resolution" and the possibility to switch between patches and parameter groups without "jumping values" - see MIDIbox SID CSBest Regards, Thorsten.Hey Thorsten,yeah, I've remembered I've seen the MIDI specification here *somewhere*... ::)I do believe the jitter is just about quality parts; I could spare some cash on the most important ones, I think ;)Any tips on what I should read up on if I wanted to use external ADC's?Also, any microcontrollers you'd suggest better than Atmel?Greetings Quote
TK. Posted June 3, 2004 Report Posted June 3, 2004 Hi,yeah, I've remembered I've seen the MIDI specification here *somewhere*... ::)just one tip: the easiest way to send 14bit values are Pitch Bender Events. But only 16 of them are available. Second way: use NRPN events - at least 16384 are available per channel. Third way: use SysEx - an endless number of parameters is available, but the data format is very dedicated to the MIDI gear.These are the possibilities of MIDI. But are these the possibilities of the host software? Mostly not! So, I really recomment you to read the Cubase and FM7 docs - if you cannot find anything about the MIDI functions described above, you definitely won't be able to control a FM7 parameter with more than 7 bitI do believe the jitter is just about quality parts; I could spare some cash on the most important ones, I think ;)You will make your experiences...Currently there is only one controller at the market which provides 12bit resolution, and thats Mackie Control which is stuffed with high quality Penny & Giles faders with a travel of 100mm. So far I remember one faders costs about 25 EUR. Pots normaly have a much shorter "travel".Any tips on what I should read up on if I wanted to use external ADC's?http://www.maxim-ic.comAlso, any microcontrollers you'd suggest better than Atmel?Just use a PIC18F452 with MIOS as operating system, so that you don't have to reinvent the wheel. In the MIOS download section you will find an example how to access a DAC with 12 bit resolution via SPI (aout example). Accessing an ADC is very simmilar.Another hint: for such an application the ADC limits the performance, not the microcontroller. If you are working with external multiplexers (in order to save a lot of money), you have to wait a certain time after a new input has been selected (so called "acquisition" time) for a stable signal. If you are clever, you will handle the mux switching within a timer interrupt so that the main program can do anything else in the meantime. But this won't avoid the fact that a complete conversion will take at least 100 uS --- so, you want to scan 200 inputs, this means that you have an overall latency of ca. 20 mS. This latency can be decreased by using multiple ADCs in parallel - also no problem, so long you are willing to invest so much money for something which will possibly never work due to lag of support from the Steinberg/Native Instruments site!Best Regards, Thorsten. Quote
cheater Posted June 4, 2004 Author Report Posted June 4, 2004 Thanks for all the tips, ThorstenBest regards,cheater Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.