![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: 14 bit controller learning disabled. why? |
ChristianSchloesser Member |
![]() ![]() ![]() Hello SSC you disabled 14Bit MIDI learnin since the last update .... "When learning MIDI continuous controllers, Kyma will now use the more common 7 bit controller message instead of the 14 bit controller messages it was previously using. " Why is this? Isn't this a step backward? 14 bit controllers are downward compatible to 7bit but not visa versa. It would be nice to learn both...or to have a switch in the MIDI preferences to switch the learning mode between 7 and 14Bit. Let me know if this is possible. Have a nice day and all the best from Berlin IP: Logged |
SSC Administrator |
![]() ![]() ![]() quote: We changed it in response to a request from someone who uses 7-bit controllers. We are looking into how to detect the number of bits for a future release. Christian, when you make small changes on your controller, does it send only the least significant bits? Or does it always send all 14 bits? Thanks. [This message has been edited by SSC (edited 13 October 2012).] IP: Logged |
ChristianSchloesser Member |
![]() ![]() ![]() My main controller always sends both (a pair of two CCs ->MSB Controller). No matter how small the change is... I think most of my controllers use this kind of MSB message. What was the problem with the 14Bit messages? cheers ps.: If remember correct the Eigenharp Controller for example uses the LSB method. And so you decided to use both message types for 14Bit MIDI. IP: Logged |
SSC Administrator |
![]() ![]() ![]() quote: If you use a 14-bit EventValue with a 7-bit control source, the maximum value is 0.9922 (not 1). That is why someone complained about 7-bit not being the default for "Learn". IP: Logged |
ChristianSchloesser Member |
![]() ![]() ![]() Thank you for the explanation! I understand that simple 7Bit controllers have priority since they are much more common even in 2012. It would be very nice to have "learn" somehow for both types. Maybe that helps to distinguish if a 7 or 14 Bit message is arriving: If i observe the midistream from a 14Bit message Mac OS X assigns the "package" of the two control messages the same timestamp for the arrival. With a 7Bit controller every message has its own timestamp. Another way would be to check if two consecutive controllers messages types are exactly 32 numbers apart from each other and only then assign Have a nice day IP: Logged |
SSC Administrator |
![]() ![]() ![]() We did something similar; it will be in the next update so you can test it out. Thanks. IP: Logged |
Douglas Kraul Member |
![]() ![]() ![]() Unfortunately I do not think the "arrives at same time" test works universally. In OSX and iOS CoreMIDI whether both messages in a 14-bit CC are assigned the same timestamp depends very much on the driver, and to a large extent on how the sender sent the messages. As much as the MIDI standard suggests that 14-bit CCs are "official" they are not specified sufficiently to work in the general case. For example as already mentioned there is no rules about whether MSB or LSB messages are sent first. The MIDI standard even implies that you only need send one of the two CC messages for a change. And more directly to the proposed timing detection there is absolutely no guarantee about arrivals. The only real chance you have of correctly interpreting these types of messages requires knowledge of the sender's MIDI implementation. Another problem is that pairs of CCs used for 14-bit transmission can be interrupted by any other MIDI message. So if the MIDI stream containing the 14-bit values is merged with another stream there is a good chance the 14-bit CCs will arrive with the MSB and LSB separated in time and with intervening commands. This complicates the parser immensely. Another thing to consider is what happens when the messages flow through another process. For example when MIDI is processed by KymaConnect it has no way of knowing whether a CC is part of a 14-bit pair. So it makes best efforts to deliver the CC to its destination in the shortest possible time. But timing between two consecutive messages cannot be guaranteed (and there is the possibility for a merge). If the MIDI destination is the outbound OSC stream to the Pacarana there is no assurance that consecutive commands end up in the same OSC packet. So unfortunately I do not think the method will work reliably in general use. Doug IP: Logged |
SSC Administrator |
![]() ![]() ![]() We restored the 14-bit controller "Learn" feature in the new update. If you'd like to give it a try, you can access it by going to the Help menu in Kyma and checking for software updates. (Hi Doug, we did not use the the 'arrives at the same time' method so it should be ok). IP: Logged |
ChristianSchloesser Member |
![]() ![]() ![]() Works great! Tested it today! Thank you! Have a nice weekend Chris IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.