3. Description of methods

3.1. Input and Output

The input used by this project will be units of one or more digitally sampled break beats (ie a recording of a drum or percussion rhythm) (see section 1.2
). A map of how the input reaches the neural network can be seen in figure 1. Some of the terms will be explained in more detail in this chapter.

The output of this project will be:

  • files documenting the training of each neural network

  • error measurements of how each network performs classifying the test set

  • individual classification results for a single break beat

3.2. Pre-processing

3.2.1. Use of Recycle

Data files created by the application ReCycle are ideal as input data for this application.

As described in section 1.4, Recycle is an existing application that takes a sampled break beat as its input, then splits the sample into its individual drum hits.
The user is presented with a visual representation of the sample data (time vs. amplitude) in order to see where each drum hit occurs. A sensitivity control is then adjusted to create edit points representing the start of each drum hit. This control governs what degree of variance in amplitude constitutes the start of a new drum. Where edit points have been incorrectly placed or are absent, the user can enter points manually. Edit point can also be deactivated or locked. Start and end locators can be positioned at any edit point to define the region of the break that will be used to create the MIDI note data.
Recycle creates files (.rcy format) that hold the complete sampled break together with information about where the splits are positioned

3.2.2. Fast Fourier Transforms

Owing to the amount of time needed to develop the Neural Networks, it was decided to use an existing FFT algorithm as opposed to coding one from scratch. Therefore explanations of FFTs here will not be extensive. See section for details of the FFT algorithm used.