Introduction: Stringless Bass
A new type of bass instrument to bridge the gap between stringed instruments and key-based controllers.
Pine "neck" measuring in at 24 inches houses the arduino unit, breadboard and conductive foam sensors. To select a note, simply put your finger on the correct sensor. The Arduino will in turn detect data from the change in resistance on the sensors, translating into a numerical value to trigger a sample in PureData.
All sensors are connected to an Arduino board, which will in turn be connected to a computer via usb running PureData. The beauty of this instrument is it’s versatility. The player will be able to load various sound patches for bass and potentially other instruments such as bass synths, enabling the player to experiment with another input method as opposed to a conventional MIDI controller or MIDI pickup on a bass guitar, which notoriously do not track well and can cause detrimental long term affects to the finish of an existing instrument.
Step 1: Getting Started
Here's a list of components and materials you'll need to make a stringless bass.
For the neck:
10mm steel nut
36 inch steel rod
Quick setting epoxy
Double sided tape
Arduino (Either Uno or Mega)
10x 3.9 mOhm resistors
Male to Male Arduino patch cables
Male to Female Arduino patch cables
Solderless Breadboard (Optional)
Step 2: Making the Neck
Since the design of this instrument is loosely based around an upright bass, which consists of a neck and body, our first step is to construct the neck. take a 25x38mm piece of hardwood (redwood was used in the prototype) and trim down to a length of 24 inches. since tone wood is irrelevant as the instrument uses digital samples rather than producing an acoustic sound, any wood of suitable size can in theory be used.
The wood can be shaped to make the neck more comfortable for the player, or left as is.
Step 3: End Pin Pt.1
The end pin screws into the neck to allow the player to comfortably stand the instrument upright whilst playing.
A hole is drilled into the end of the neck 14mm in diameter to facilitate attachment of a nut.
A 10mm nut is then held in place using rapid setting epoxy which should be allowed to cure for a minimum of 4 hours. (refer to epoxy instructions for curing times, as they will vary).
Step 4: End Pin Pt. 2
Next, a 12mm surgical steel rod is cut to a length of 36 inches, and a 10mm counter-clockwise thread, 5cm in length is cut.
To protect the bottom of the end pin, a small circular section of rubber is cut out to the same 10mm diameter as the end pin itself and held in place with blue loctite. and left to cure for 24 hours for maximum strength.
Once the glue is dried, the end pin can be screwed into the neck and the basic structure of the stringless bass is complete.
Step 5: Attaching Components Pt.1
Now all the wood and metalwork are complete, it is time to attach the electrical components.
Firstly, the Arduino board is mounted at the bottom of the neck, along with the breadboard. All of the relevant wiring will be trailed along the "fingerboard" section of the neck either side of the conductive foam and secured in place with electrical tape.
As in the diagram above, the 8 pieces of conductive foam are placed in the centre of the fingerboard.
The technical specification of the foam used is detailed below. However it is encouraged to experiment with multiple types of conductive foam of differing densities and thicknesses, as they will behave differently when utilised as a sensor.
For instance, thicker, denser foam will revert back to it's idle state much quicker than it's less dense. spongier variant.
Density 5 lb/cu ft
Tensile Strength 25 PSI
Material Open Cell Polyurethane
Heat Resistance Stable at 250ºF
Surface Resistivity <30 Ohms/Sq ASTM-D257
Volume Resisitivity < 3K Ohms.cm ASTM-D257
Step 6: Attaching Components Pt.2
Once the conductive foam has been attached to the fingerboard, it's time to start looking at wiring.
As seen in the diagram above, the objective of this wiring setup is to cause enough of a change in resistance great enough for the pd patch to trigger a sound sample.
A breadboard is not essential, however it makes it easier to neaten up live and ground connections without intricate soldering.
Step 7: Analogue to Digital
The stringless bass's hardware works in tandem with it's own proprietary software patch in PureData.
The analogue to digital conversion is achieved via an Arduino micro controller. Which version of the Arduino used is dependant on the end user and his/her requirements as it pertains to number of octaves required.
A basic prototype of the Stringless Bass can be built using an Arduino Uno, with 6 analogue pins, all the way up to the Arduino Mega, with 16 analogue pins.
Step 8: Plugging In
A fresh restart of the host computer system is recommended to re open any ports that were in use previous to plugging in.
The first time the instrument is plugged in via USB, the green Arduino power light will stay on.
Step 9: PureData Patch
The patch for PureData contains no samples. Only a burst of white noise is pre-written into the software which will allow you some aural feedback from the instrument when in the testing phase, even if you have no samples loaded into the patch.
This step contains the pure data patch, and 8 note samples of a gear4music full size orchestral bass, recorded with an SE Electronics Gemini Mk2 through Logic Pro X with no processing.
These patches will work suitably well to get the end user playing the stringless bass, but it's true potential is realised when it is loaded with other user-defined samples.
Step 10: Configuration Pt. 1
One of the benefits of having an open source program like pure data to host the stringless bass's software component is the wide array of hardware available for input which will allow for manipulation of the patch in a relatively uniform fashion depending on the behaviour of the selected sensors.
However, this is also where the software can fall down. The first time the software is loaded, the user must select their analog input from the message box in the top left hand corner of the patch (Default for USB based interfaces is 4)
Step 11: Configuration Pt. 2
The next step is to configure the Arduino's analogue ports to input data to the patch. This is done by clicking on the analog ports of the arduino gui (which graphically represents the Arduino and allows manipulation of it's functions remotely) and setting each of those ports to input analogue data.
The image above shows an active analogue pin inputting data.
Do this for the remainder of the analogue pins and the instrument is ready to test.
Step 12: Reverb and Note Volume
To give the instrument a more organic sound, certain variables have been built into the patch so the playback of notes can differ each time.
Reverb can add a warmer sound to the patch and also helps the instrument sit well in a mix when in use with other instruments.
The three yellow sliders control the reverb's parameters. These include a wet/dry signal mix, room size and finally a damping affect, which works particularly well with upright bass samples.
Individual note volume can be manipulated also, using the white sliders. The resultant effect given in the patch is a more uneven, uncompressed feel to the notes as they are being played. much like an upright acoustic bass.
However, the sliders can be used to even out certain notes out if they are too loud or quiet, giving the patch a more uniform and predictable response when performing.