Beat recognition using neural networks - Castro, Paolo Antonio C. (2004)
Beat recognition is the process of inferring the beats from music. For a computer to be dubbed as musically intelligent, it must first understand the beat and follow the tempo of music like a normal human being can. It is a big step in closing the gap between man and machine. These computers can be used for automatic indexing of music into measures instead of seconds. Recognizing the beat can also aid in automatic music accompaniment and concert stage lighting control. A beat recognition system was implemented starting with drum onset detection. Drum sounds in music are detected with an onset detection system utilizing a neural network. Features were extracted from the samples and used to train the network to recognize either bass or a snare drum. Agents with tempo hypotheses are then formed from the detected drum onsets and their intervals from each other. They output the possible beats. The beat with the highest score by the agent is considered the correct beat. A total of 120 songs were selected to train and test the system. Since the system requires a song to have a tempo between 80 to 160 beats per minute, a 30-second portion of each song which satisfies the required tempo were extracted. 80 of these samples were used for training, 20 were for onset detection testing, and another 20 was added for beat detection testing. 15 of the onset detection testing samples were also used for testing the beat detection making a total of 35. The outputs for these 35 samples were compared to hand-segmented ground truths for evaluation. An overall beat recognition accuracy of 76.42% was achieved for the current project and 71.13% was obtained using the test samples with the previous project. When compared with the previous project's recognition accuracy, it was found that the system performed higher by 5.29%.