Historically, robotic stringed instruments have implemented relatively few degrees of freedom. Their often-simplistic string plucking and fret positioning systems result in a lack of musical expressiveness.
The Faculty of Engineering at Victoria University addressed these limitations by building MechBass, a multi-stringed modular robotic bass guitar.
Ultimately, MechBass will be used in collaboration with the New Zealand School of Music as a platform for research into robotic musical composition and performance techniques.
In addition to their limited fret positioning mechanisms, most robotic guitar and bass systems utilise one of two general string plucking methods, solenoid-based pluckers and rotary pluckers. Neither approach allows for 'dynamic' (or loudness) control. MechBass employs a variable-volume plucking mechanism and a sliding fretboard capable of being clamped to the string or removed from it.
MechBass can be divided into several subsystems – the plucking system, the fretting system and the damping system. The subsystems are controlled by an actuator control board which communicates with a PC via the MIDI protocol.
A major goal in the design of MechBass was to endow each subassembly with more degrees of freedom than equivalent subassemblies in prior robotic guitar and bass-playing systems.
The MechBass is composed of four single string units. Each single string unit is electronically independent from the others. Each of the four units has a string plucking mechanism, a string fretting mechanism and a bass guitar string.
Each of the strings are tuned to the notes of G, D, A, and E, corresponding with standard tuning of a bass guitar. The chassis of the MechBass is built from T-slot aluminium extrusion. Prior to physical assembly, the chassis was designed in 3D CAD software, and each of the subassemblies are attached to the chassis via laser cut 6mm perspex.
A fretting mechanism consists of linear motion solenoids attached to a carriage which is positioned along the bass string through the use of a belt drive. Commercial solutions for a linear motion system were researched and dismissed due to their high costs of approximately NZ$2000. A lower cost solution was developed which utilises a NEMA 23 stepper motor with an attached timing belt.
A string plucking is implemented on each of the MechBass string units. The string plucking system consists of a NEMA 17 stepper with a pickwheel attached to the motor's shaft. A 3D printed pick wheel holds five bass guitar picks, and the guitar picks are clamped to the pickwheel with laser cut clamps. To adjust the loudness of each string pluck, the plucking mechanism is mounted on a servo-driven pivot. The servo's arm moves the motor around the pivot point, adjusting the relative height at which each pick can strike the string.
To suppress string vibrations, a damper system was added to the MechBass. The design goal of the damping system is to fully damp the string within one second of a damping instruction’s transmission. The damper consists of an RC Servo with a felt-padded arm. When a MIDI NoteOff event is received by the MechBass unit, the servo's padded arm is moved in contact with the string, dampening the string's vibrations. While many existing robotic guitars and basses use either no damper or a simple on/off solenoid-based damper, the system implemented on the MechBass can vary the degree of damping by applying more or less pressure to the string with the RC servo.
A typical bass guitar uses a magnetic pickup to capture the vibration of the string. However, due to the stepper motors and other electronics that are involved in this project, a traditional magnetic pickup cannot be used due to the amount of electromagnetic noise these devices generate.
Instead, an optical pickup is employed to capture the vibration of the string for amplification. The optical pickup consists of two plates: the top plate houses an infrared LED, while the bottom plate houses a phototransistor. The vibrations of the string, mounted between the two plates, vary the amount of infrared light reaching the phototransistor.
The amount of light varies in correspondence with the string's vibrations.
To control the actuators on each of the single string units of MechBass, a custom microcontroller-based system was designed and built. The board, based on the Arduino and dubbed the JM2, receives MIDI messages. The JM2 employs an ATMEGA328 AVR microcontroller and responds to MIDI messages. MIDI, a serial protocol popular with musical instruments, is broadcast from a master device to a bus. The MIDI message contains channel data, pitch data, and velocity (loudness) data. Each JM2 board listens on the bus to messages that correspond to its specified channel. Upon receipt of a message, the JM2 board interfaces with Allegro A4988 stepper motor drivers, driving the fretting mechanism to a position corresponding with the received MIDI note's pitch. Subsequently, the velocity servo is raised to a position corresponding to the note's velocity and a second A4988 stepper motor driver moves the pickwheel, resulting in a string pluck at desired volume level.
Four single string units of MechBass are combined to form a four-stringed assembly. This four-stringed system is tuned in the same manner as a bass guitar.
While each single string unit has its own electronics and mechanical systems, all four strings share a single power supply module consisting of a 24V supply for the stepper motors, a 24V supply for the solenoids, and a 5V supply for the electronics and servos. To allow for all four separate single string units to communicate with a MIDI host device, a MIDI bus is created. The bus is created by connecting the output from the MIDI host device to the MIDI in port of any of the JM2 boards. The subsequent board on the bus is connected to the previous JM2 board's MIDI through port. Each MIDI message is then addressed to a single channel, with the single string units not on that channel ignoring the message. This technique allows for easy setup and use with existing MIDI software. Popular music composition and performance tools such as Ableton Live and Apple Logic can be easily configured to function appropriately.
MechBass is the first four-stringed mechatronic bass playing system featuring positionable fretting mechanisms, variable dynamic range and variable-intensity damping mechanisms. Upon building and evaluating the subsystems, it is evident that MechBass will be applicable in research toward machine musicianship and musician-robot interaction. Further research will focus on system optimisation to minimise latency and automatic adjustments for detuning in the strings. The original project goal of designing, building, and testing a four-stringed robotic bass system was accomplished. Based upon the evaluation undertaken, MechBass performs sufficiently well to be used as both a research and musical tool.