Language : JP | EN

intro. feature. editor. help. BUY

||| MODE |||

ark.*~ has 4 functional modes.
"Standard", "Math Flex", "Random", "Switch"
By setting in the editor, you can select mode of each layers.
*in factory default, Layer1 is Standard, Layer2 is Math Flex.

The details below.

Standard (0 ~ 127)

Standard mode operates as a controller with a range of 0 to 127, it's same as common MIDI controller.
Use this mode to work with common DAW parameters.

And also, when you use normal faders or volume pot type controllers, you touch the controller after changing parameters on the DAW side, the parameters will jump because there will be a difference of value between DAW and the controller.
ark.*~ is 360° encoder, so it can be linked to the DAW values, is like motorized fader, can prevent careless value jumps.

In the case of ableton live, the parameters will be linked by simply turning on both the Input and Output controls for the devices displayed in the list on the MIDI screen in the Preferences as shown in the image.

For other DAWs, please refer to each software manuals for settings.

Math Flex (for Max, Pd, etc)

If you want to use common MIDI controllers on Max, the easiest way may be to map the ctlin MIDI values from 0-127 to the parameter range using midimapping or zmap etc.
However, in this case, you won't be able to get the desired value on the point you want, and so you may use various calculations or some people may use objects that increase cpu usage.
Especially when you need to make severe operations of the float numbers such as modulation frequencies or OpenGL parameters, using physical controller may be difficult to do.

Math Flex mode gives you all the control you need in Max.

In this mode, rotating the dial right outputs 65~ and rotating the dial left outputs ~63, so subtracting 64, it can create an increase/decrease value of +1~/~-1.
And you multiply this by the value you want the amount of change in one step, and combine it with the "accum" object.
Btw, by simply returning the parameter value to the left inlet of accum using "set $1" etc, you can prevent the jumping value due to dial operation.

Max users set only this mode, it can also write dial control processing freely, so other modes may not be necessary.

Random (0~64|64~127)
*The value doesn't follow the rotation speed.

As the name suggests, Random mode outputs random MIDI values from half range.
If you rotate the dial to the right, ark.*~ outputs a selected random value from the range of 64 to 127, and if you rotate to the left, random range is from 0 to 64.

Some people may think "Is there any usefull for it?", but for electronic musicians who use common DAWs, it may be useful when you want to treat the controller like a part of the instrument, as one of the various expressions.

For example, by assigning it to track panning and rotation the dial left and right, you can create a random panning of left and right alternately to obtain a stutter-like effect, or with a sampler or synthesizer, you can get a granular effect by assigning to the position of the sampleplayback, filter, etc.
Unlike the impression of effects caused by auto-random function like a plug-in's LFO, these effects can be created with the timing of manual operation, so you can use it as unique tool during a live performance.

You may think that it is difficult or extreme to use. But the extraction range is divided according to the rotation direction, so it is a mode gives better handling random params in common DAWs.

Switch (0|127)
*The value doesn't follow the rotation speed.

In Switch mode, it simply outputs 127 for right rotation and 0 for left rotation.
It can be used to turn effects on and off in your DAW.

Also, on Max, it may be a good to use it quickly and easily by doing "/127", generating toggle or bang from the rotation direction, and then writing the programs.

||| REMOTE |||

You can instantly change the MIDI CH and Layer of ark.*~ from application that can output SysEx.

For example, by switching MIDI CH at the same time of the patcher opend, or by linking it with the DAW timeline and switching when the sequence reaches a certain time... It may help linking it with the application's active operation can prevent unintended parameter changes.
This feature is designed for reducing operational errors and using ark.*~ as a part of your patcher.

ark.*~ accepts 4-byte data set "240, ID, Value, 247".

In Max, plz use sxformat and connect to midiout.
The argument is
For MIDI CH, "sxformat 240 88 Value 247"
For Layer, "sxformat 240 89 Value 247"

And also, when you push the midi CH or Layer switch, ark.*~ is sending switching info to host app then.
It's up to you how to use it.

・host to ark.*~.

Go!! ID Value End...
MIDI CH 240 (0xF0) 88 (0x58) 1~16 247 (0xF7)
Layer 240 (0xF0) 89 (0x59) 1 or 2 247 (0xF7)

.
ark.*~ to host.

Go!! ID Value End...
MIDI CH 240 (0xF0) 77 (0x58) 1~16 247 (0xF7)
Layer 240 (0xF0) 78 (0x59) 1 or 2 247 (0xF7)

||| OVERDRIVE CCID |||

ark.*~ can be assigned 16 CCIDs in total - two layers for each of the eight dials - in the editor, and this information is stored in the unit's memory and will not be updated until it is rewritten in the editor again.
However, if you want to operate more parameters, the overdrive function temporarily ignores the IDs in the unit's memory until the power is turned off, and gives different controller IDs to the dials in real time.
This allows you to increase the number of operable parameters to a huge number.
*This is an extreme feature that can lead to confusion and errors during operation, and we recommend using it in the form of your own easy-to-understand program.

This is using MIDI program change.
A MIDI channel is assigned to each dial, where 1 corresponds to Dial 1 in Layer 1 and 16 corresponds to Dial 8 in Layer 2.
For example, if you send a programme change to ark.*~ with MIDI channel 4 and a value of 50, the ID of dial 4 in layer 1 will change to 49.
Unlike writing in the editor, this is not stored in memory and will revert to the original ID when the unit is switched off.

*Please note that the value sent minus 1 is the changed value.

If you use this feature and program the operation by changing IDs in realtime, you will never run out of dials, even with a small ark.*~.
However, please do not use this function if you are not confident, as it is very likely that you will not know which ID is currently assigned to the dial, leading to operational errors.
If you got confused, you can return to the CCID set in the editor by unplugging the USB and reconnect.

Please check control example in the editor.