Jump to content

APH

Members
  • Posts

    7
  • Joined

  • Last visited

Everything posted by APH

  1. So from my understanding of NRPN; Would this implementation be correct? MIOS_MIDI_BeginStream(); MIOS_MIDI_TxBufferPut(0xb0); // CC at channel 1 MIOS_MIDI_TxBufferPut(98); // MIOS_MIDI_TxBufferPut(lsb); // send lsb MIOS_MIDI_TxBufferPut(0xb0); // CC at channel 1 MIOS_MIDI_TxBufferPut(99); // MIOS_MIDI_TxBufferPut(msb); // send msb MIOS_MIDI_EndStream(); From testing this it would seem that all of my mixing software still just sees this as two individual 7 bit messages and doesnt combine them into one 14 bit one. Could anyone confirm that the above implementation is correct for NRPN, and thus this would lead me to believe that my mixing software doesnt support 14bit midi/compliant midi rules. Any guidance is duely apreciated.
  2. OK, so the code is up and running, and from the looks of it for every movement two midi messages are generated. Im not entirely sure the scaling part accurately adjusts the value correctly but at the moment thats not my primary concern. In the mios studio software i can see the two messages being generated which look something like: b0 12 LSB b0 44 MSB ( both messages are generated for each movement of the POT/Fader) However DJ mixing software such as mixx or Traktor, do not see the messages as a 2 part 14 bit message. Both seem to take the first message as coming from CC12 and not understanding that its a 2 part message. Therefore only interpreting the data as 7bit. The latest version of Traktor PRO supposidly has support for 14 bit midi devices so im left pondering. Is the data being correctly sent as a 14bit message? or do these programs not strictly adhere to the midi protocol, and therefore don understand that CC12 followed by CC44 is a 14 bit payload? For those that maybe reading this thread, you may find this website of help: http://www.midi.org/techspecs/midimessages.php Its the Technical specification for what values represent in a midi data packet. You'll see in table 2 "b0" refers to "Chan 1 Control/Mode Change " (you can choose any channel that you want) Then refer to table 3: this byte represents the function of the control change. in our example "12" is "Effect Control 1" and "44" is "LSB for Control 12 (Effect control 1) " If anyones worked with any of these programs and has some input i would greatly apreciate it. Thanks. Ash
  3. Excellent, Thats a spot on answer; i thankyou for the quick reply and usefull info. It would seem to work ok; i had to make this adjustment for it to compile, maybe different compiler? - unsigned ADCvalue = MIOS_AIN_PinGet(pin); unsigned char lsb = ((ADCvalue << 4) & 0x7f); unsigned char msb = (ADCvalue >> 3); However upon testing it would seem that the message doesnt perform as i intended. On a 7bit message the format is: // MIOS_MIDI_BeginStream(); // MIOS_MIDI_TxBufferPut(0xb0); // CC at channel 1 // MIOS_MIDI_TxBufferPut(pin); // pin number corresponds to CC number // MIOS_MIDI_TxBufferPut(MIOS_AIN_Pin7bitGet(pin)); // don't send 10bit pin_value, but 7bit value // MIOS_MIDI_EndStream(); ie - start stream, [CC@ch1] - [Pin Number] - [ADCvalue] - close stream It would seem that in the example provided there is no pin number/CC number and therefore the software can't differentiate between any one of the inputs on the midibox. Is this a limitation of the midi protocol where we cant specify CC numbers in a 2x7bit control message or a lack of my understanding of how these messages should be constructed. If anyone has a example layout/spec for the midi comms that would be great. Maybe Would it be possible to put the cc number as the first 2 bits of the adc data to differentiate CCnumbers? Or is that not standard? Regards
  4. HI, i posted about this topic over a year ago, but have only just got around to trying to implement what was discussed. I've built a standard midibox setup with only a 32 pot AIN board connected at present. We have some faders connected which currently send 7bit values to our software. I have read the article regarding the construction of the 7 bit data from the 10bit sample taken by the pic; as stated in the midi specification: http://www.midibox.org/dokuwiki/doku.php?id=midi_specification We are looking to try and implement 14 bit midi messages so that we can attain a higher reolution on our faders. I understand that the Pic controller only samples to 10bit which is more than adequate and that we will have to interpolate the remaining bits from that. My question is does anyone know of an application running on MIOS which has already implemented 14 bit midi messages? I am currently trying to edit the application : ain64_din128_dout128 V2.1 specifically the section to do with sending the midi message when updating pot values. MIOS_MIDI_BeginStream(); MIOS_MIDI_TxBufferPut(0xb0); // CC at channel 1 MIOS_MIDI_TxBufferPut(pin); // pin number corresponds to CC number MIOS_MIDI_TxBufferPut(MIOS_AIN_Pin7bitGet(pin)); // don't send 10bit pin_value, but 7bit value MIOS_MIDI_EndStream(); Could anyone give me guidance on how to alter this to transmit in 14 bit. I understand i need to shift the bits on my 10bit sample to obtain a MSB and LSB value but im unsure on how to construct the dual CC midi control message so that a piece of software like Traktor understands it correctly. The specification states that to send 2 control messages it should be formatted like: CC 12, Effect Ctrl 1 (MSB = Most Significant Byte) CC 44, Effect Ctrl 1 (LSB = Least Significant Byte) If anyone has any guidance on this it would be greatly apreciated.
  5. Just going back to the midibox 64 app that serge created: http://miostools.midibox.org/vmidibox64_18f_v1_0b.zip Where abouts does it have support for 14bit midi as mentioned earlier? Under the pots tab it allows min/max values but the range only extends over 128. Any ideas? Thanks.
  6. Thanks for the reply. Just to clarify a few bits; im not concerned with motor faders, and am aware with there inaccuracies. The aim for me to undertake this project was to increase the resolution of the standard faders used for tempo adjust as at present we were unhappy with what we currently have. On the BCD3000 deck and likewise on our Midibox64 unit the midi controllers are both only sampling at 8bit, giving 128 values over a tempo range adjustement of +/-10%; Thus giving a step of 0.15% per bit. Indeed we could increase the resolution by reducing the tempo adjust range say to +/-5 which would give a step of 0.078% however in order to give this improved resolution we are loosing the range over which we can shift the tempo. I understand your point about the resolution of a 14bit and the distance you would have to move a fader in order to shift it 1 step, but it was my understanding that inorder to sample a pot/fader higher than 7 bit and still be midi compliant we would have to use 14 bit sampling. I dont think the midi spec caters for anything other than 7bit/14bit unless im wrong? Heck even a 9bit or 10 bit sampling would be an improvement to the fader if we could do it. Here was the bit about 14bit midi messages in the midibox wiki - scroll down to 14bit midi messages: http://www.midibox.org/dokuwiki/doku.php?id=midi_specification Im aware the PIC can only sample to a max of 10bit and the result would have to be interpolated to a 14bit scale but was wondering if their was facility in the midibox64 code to do this as it seems that both Traktor and the midibox OS has the facility use this extended sampling range. Sorry for being a bit of a newbie to this forum/lingo/tags etc. :)
  7. HI, yesterday i finished the first prototype of the Midibox 64 using the PCBs from SmashTV but only wiring up 10 pots and 2 faders. Were aiming to built a very small and light weight mixing panel for taking to parties or carrying in your back pack. We already have a behringer BCD3000 mixer but wern't happy with the resolution of the tempo faders for mixing purposes. Anyway we decided to build a midibox on the premise that longer faders would give us better resolution. I now know this to be wrong having read up properly about midi controllers and understanding better about how the midibox works. The pots and faders in the BCD3000 and midibox are being sampled at 8 bit and both give them same fader resolution, so far i havent gained much from creating my own mixer, only to cut down on unwanted knobs/features. From reading the midibox documentation it would seem that the midi protocol and indeed Traktor has support for 14bit data. I know the ADC on the PIC can only sample to 10 bit and the remaining resolution interpolated but this would at least give us a higher resolution to work with. Has anyone had any experience with this or know if the application for midibox64 supports the 14 bit feature?
×
×
  • Create New...