Practice piping while on the road

Apparently pipers (bagpipers) often practice their playing by ‘playing’ the steering wheel while driving. This led to the idea of rigging a steering wheel cover with sensors so that you can actually play:

Touch buttons

The sensors are decorative metal buttons from a fabric store. Each button is connected directly to a pin on an Arduino pro mini board. There are eight buttons total each placed to correspond to a hole on the bagpipe chanter:

 

Wrapping up for mounting

Using the Arduino synth library that I made some years ago and a variation of the “Pseudo Capacitive Touch” interface mentioned in an earlier post I was able to make a reasonable sounding bagpipe chanter. To map each key to It’s corresponding pitch I needed to find the actual frequencies of each note on the chanter. It turns out that the notes are a bit off compared to standard MIDI notes. Here are a table from this page thanks to Ewan Macpherson:

Note name Ratio to
low A
Cents from
low A
Closest
ET note
ET cents Deviation
from ET
Freq for A
= 466 Hz
Freq for A
= 475 Hz
high A 2:1 1200.0 A 1200 0.0 932 950
high GM 9:5 1017.6 G 1000 +17.6 839 855
high GJ 16:9 996.1 G 1000 -3.9 828 844
high GH 7:4 968.8 G 1000 -31.2 816 831
F(#) 5:3 884.4 F# 900 -15.6 777 792
E 3:2 702.0 E 700 +2.0 699 713
DM 27:20 519.6 D 500 +19.6 629 641
DJ 4:3 498.0 D 500 -2.0 621 633
C(#) 5:4 386.3 C# 400 -13.7 583 594
B 9:8 203.9 B 200 +3.9 524 534
low A 1:1 0.0 A 0 0.0 466 475
low GM 8:9 -203.9 G -200 -3.9 414 422
low GH 7:8 -231.2 G -200 -31.2 408 416

Since the Arduino Synth library are capable of playing up to 4 voices simultaneously it is also possible to play 3 out of the 4 drones of the Highland bagpipe but for training purposes this is not desirable.

Here is a video of the prototype being tested:

To make an easy interface to the car stereo and get power to drive the project I bought a combined FM transmitter and phone charger:

Here is the project on the road:

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *