5.2.2.2. Reading the edit points

ReCycle stores every edit point that has ever been created for a particular .rcy file, therefore active edit points should be distinguished from inactive ones. Each edit point is stored in a block of eight bytes, the layout of which is given in appendix B
. An active edit point is determined in the following way (see figure 9) - it should always be at or within the start and end locators of the break, it should either be locked or, if it has not been deactivated, the weight of the edit point combined with the sensitivity value should exceed a preset threshold. The starting point of each drum (represented by an active edit point) is read from its edit point block and stored in an array.

5.2.2.3. Calculating the quantisation frequency ranges


The task here is to divide logarithmically the frequency range of interest (40Hz - 14kHz) into a number of bands, corresponding to the number of inputs to each neural net. The lowest frequency band should  represent all frequencies lower than 80Hz. The interval needed is governed by the following equation:

  where:  x is the frequency interval,

  fmax is the upper frequency limit (14kHz)
    fmin is the lower frequency limit (80Hz),
    and n is the number of bands.

Multiplying 80Hz by x gives the upper limit of the next band, multiplying that limit by x gives the next, and so on.

5.2.2.4. Calculation of the FFT length

Sample data held in .rcy files can be stored at any sample rate, and for the purposes of this project we will be looking at sample rates up to 44.1kHz (CD quality). In order that the FFT can analyse data representing the same time length for all .rcy files, the length of the sample segment passed to the FFT should vary with the sample rate. This length is determined for each .rcy file read and is calculated as a fraction of the maximum segment size.
The FFT algorithm used was developed by Don Cross. Due to reasons of compactness the this algorithm only analyses vectors of length 2n. Therefore input vectors shorter than the maximum FFT length are padded to that length with values representing zero amplitude.
If the total sample length of the drum to be analysed is shorter than the FFT length, the FFT length is shortened to the length of that sample.