These parameters are saved in '-se' settings files associated with grammars and data. They are expressed in milliseconds.
Time resolution is the minimum difference of dates between two events sent to a MIDI device or written on a Csound score. By default is is set to 10 ms but in some cases it may be necessary to diminish this value. This is already a type of quantization because several events occuring with time offsets lower than the resolution will be sent or written with identical dates.
Time quantization is an option allowing the polymetric expansion algorithm to reduce the size of the phase diagram constructed to frame out the symbolic timing of events — in fact, relations of precedence or simultaneity. Read page Complex ratios in polymetric expressions for a detailed explanation. In brief, it is a method for saving memory space and speeding up the computation.
In many cases, the production of a piece would simply be impossible with a quantization reduced to the time resolution. This is due to the fact that all Bol Processor time calculations are performed with integer ratios to reach the best accuracy compatible with limitations of the machine. However, for instance, storing two notes distant by a few milliseconds requires two distinct columns on the phase diagram although (in general) this differnce is not audible.
Even though it is possible to set the time quantization to a value lower than the time resolution, it would increase the size of the phase diagram (i.e. memory and computation time) with no effect on the output because the time resolution is the lowest value of the actual quantization. This inconsistency is signaled on the Data or Grammar window:
👉 Be aware that using a very short quantization (typically less than 10 ms) on a large item can increase memory usage to the point where the MAMP or XAMPP driver hangs without warning.
Randomisation of dates
The Bol Processor has a performance tool notated "_rndtime(x)" for randomizing the dates of events, in which 'x' is half the range in milliseconds. For instance, following "_rndtime(100)", all dates will be recalculated within a ± 100 ms range.
Randomisation is often used by poor composition devices to "humanize" computer-made pieces. This is a ridiculous approach based on the belief that human interpreters must be willingly imprecise in their performance… or that music is implicitly a "fuzzy" construction.
The _rndtime tool may otherwise be used to compensate unwanted effects when several digitally synthesized sounds are superposed, as explained on page Importing MusicXML scores. In this case, the range is very small and the value of the time resolution may need to be adjusted accordingly. For instance, "_rndtime(20)" should be associated with a time resolution of 1 millisecond so that 40 different values will be randomly picked up in a ± 20 ms range. Note that this has no incidence on the time quantization.
The effect of a ± 20 ms time randomisation can be noticed by carefully listening to the following two examples: