This project aims to create a product that allows learning to play and recording of drums in a cheap, easy and independent way. This shall be achieved by creating a custom electronic drum kit and custom learning software that work as a cohesive whole to achieve this aim. The key foci will be strong natural human interaction with this product and an effective, independent learning process.
It was decided that Java presented the best platform for design of our learning software package as it provided a strong multi-platform and rapid development environment. This was enhanced by the latest version of NetBeans provided excellent GUI development tools.
A strong programming construct: "Event Listener" mechanisms were learnt and used in creating several modules of the software outside of the required Java interaction. Strong methodologies for the design of a large centralised, yet modular, GUI application were also learnt. Briefly, this involved utilising a static class as a central location for which to control both the GUI and the rest of the application’s functionality.
It was also necessary to create a custom GUI element for displaying drum music notation. Utilisation of other key technologies includes: OpenAL (for low-latency sound playback), Synth (for providing a completely unique ‘look and feel’) and XML Serialization (for storage of all data).
Those of you who have always wanted to play drums but didn’t want to invest in a drum kit and the noise it makes, here is the solution.