Open Sound Control, and 14-bit Pitch Bend output

Topics regarding MsPinky's Maxi-Patch Application
dlpinkstah
Site Admin
Posts:1093
Joined:Mon Jun 07, 2004 9:17 pm
Open Sound Control, and 14-bit Pitch Bend output

Post by dlpinkstah » Sun Dec 14, 2008 9:02 pm

A new version (3.7.0) of Maxi-Patch_AO (audio only) for OSX and Windoze is now available for Fan Club Members to download. This new version includes additional MIDI output capabilities, as well as support for Open Sound Control (OSC).

OSC I/O: under a new tabbed view "OSC", you'll find a control panel for setting up Maxi-Patch to send and receive vinyl control information over an IP network. To enable Maxi-Patch to send information to another host, enter the host's IP address, and the port number on which the host should expect to receive data. Then mark the check boxes next to the three data quantities which can currently be sent (velocity, power, and position). Text edits let you modify the OSC "URL"-like prefixes which are attached to each data packet. Turntable velocity, power, and position values are sent over the network as 32-bit floating point quantities. The current version cues up a new data packet approximately every 20 milliseconds.

MIDI Pitch-Bend Output: MIDI outputs have now been divided up between two separate tabs "MIDI Clock out" and "MIDI Pitch out". The "MIDI Clock out" tab allows you to send out MIDI beat clock on a selected MIDI device. In this new version you can also send MIDI "start", "stop", and "continue" messages in order to synch with a sequencer. The "MIDI Pitch out" tab includes controls for sending out turntable pitch values as 7-bit CC's and/or as 14-bit Pitch Bend values. There are two modes in which the turntable pitch information is encoded into MIDI:

linear mode: Turntable velocity values are calculated by Maxi-Patch as a ratio of current turntable rotation rate to the rate at which the disc was cut (33-1/3 rpm or 45 rpm). So if you have pitched the deck up by 8%, the value calculated will be 1.08. If you pitch down by 10%, the value will be 0.90. Positive values of velocity indicate rotation in the normal forward direction. Negative values indicate reverse spinning. In linear MIDI mapping mode, the turntable velocity values are simply scaled and added to 64 (for 7-bit CC's) or 8192 (for 14-bit Pitch Bend). The resulting value is then limited to the range (0..127) (7-bit) or (0...16383) (14-bit). For 7-bit CC's, all values less than 64 indicate turntable reverse spinning. All values greater than 64 indicate forward rotation. Likewise for the 14-bit Pitch Bend, all values 0...8192 indicate reverse spinning. Values 8192....16383 indicate forward rotation. The "invert" switch allows you to invert this mapping.

timer-relative mode: In this mode 7-bit CC's and 14-bit Pitch Bend messages are constructed based on the turntable velocity values in conjunction with timing information. This is our attempt to model the behaviour of certain jog wheels designed for use with DJ apps like MixVibes and Traktor. The values for 7-bit CC's are 64 plus-or-minus the number of "ticks" that transpired since the last message. Likewise the 14-bit pitch bend values are 8192 +/- the number of "ticks" since the last message. Setting the number of ticks per rotation effectively scales the turntable velocity values to fit within an appropriate range for each message type. You will need to experiment with these settings to get the desired effect.
Post Reply