![]() |
P.E.A.R.T. - The Robotic Drum Machine
If you want to see a thorough design document, check out our IEEE Design Paper submitted for the IEEE Region 5 Paper Contest. Overview P.E.A.R.T. is basically a device that can be programmed to play on a drum set. Most electronic drum machines have very bad, unrealistic sounds although they are improving rapidly. Our idea to recreate authentic drum sounds was to build a device that actually played a real drumset. In our design, we had a few objectives:
The Project has 5 main parts: Software The first part of the software was designed to complete the necessary preprocessing for the user, allowing him/her to map drums found in the selected midi file to drums on his/her set. In this preprocessing section, the methods used are as follows: Figure 1 First, the user selects the MIDI file they would like to process using the load file dialog in Figure 1. The file is then checked for errors and converted to a readable format. The readable format contains numeric information about each MIDI instrument event including:
The preprocessing software then filters out this information for all note events on channel 10, which is the channel where all General MIDI percussion instruments are defined. After this initial preprocessing, the user is prompted to input which types of drums they have in his/her set (e.g. snare, bass, hi-hat, cowbell). Figure 2 shows this prompt. Figure 2 Next, the user maps his/her drums to drums found in the MIDI file using the interface found in Figure 3. Figure 3 After entering this information, the preprocessing continues, linking the user's drum mapping to output information suitable for the USB device, which is described in the next section. The user is then prompted to save the mapping configuration to a file for later use in a ".mos" file format. The second portion of the software, the actual player, gives commands listed inside the loaded .mos mapping configuration file to the USB device in sequential order. The player also handles the timing of the output by "sleeping" for the amount of time until the very next output happens. Figure 4 Shown in Figure 4, the player console gives the user common commands such as play, pause, stop, and load file. I/O After preprocessing, the software outputs data in real-time to a USB device. This device from ActiveWire has 16 programmable Input/Output pins and comes with a driver library making it easily controlled from C++ or Visual Basic. This device creates the interface from the software to the electrical circuit. Whenever a drum note is to occur, its corresponding pin is set high. Then the pin is reset to a low state creating a short pulse. Figure 5 Electronics Figure 6 shows the electrical interface circuit for one individual drum. This circuit functions as the interface between the output from the USB device and mechanical components. As the software outputs data to the USB device, the signals are then used to turn on transistors so that the voltage from the USB device can be amplified. This is required so that the pulse is significant enough for its rising edge to be able to trigger a monostable multivibrator. Figure 6 The monostable multivibrator used is the CD4047BC by Fairchild Semiconductor. It is set up to give a pulse of a predetermined amount of time that is used to turn on an additional transistor. This transistor saturates during that pulse, allowing a significant amount of current to flow to activate a solenoid. Pneumatics Figure 7 shows the heart of the mechanical devices, the valve and cylinder. Figure 7 The mechanical device is controlled by a solenoidal valve. The solenoid receives a voltage from the interface circuit in order to operate. At 12 volts, 125 milliamps, the solenoid is activated, turning on a pneumatic valve. The activated solenoid uses the valve to control airflow to a double-acting pneumatic cylinder. When the solenoid is activated, the valve opens, allowing a high pressure to flow to one side of the cylinder and opens the other side of the valve to release its air. This changes the pneumatic cylinder from its normally open position to a position that causes the swing of a stick. The pneumatic valves used are model H180-4E1 made by Humphrey. Mechanical Levers The mechanical devices were hand-made by Jeremy Moreau and Moreau's Welding Service. To see pictures of these devices, see the pictures page. |