Haxophone

A hackable electronic saxophone with mechanical keys

Sep 27, 2023

Project update 4 of 10

Haxophone sounds and colors

by Javier C

One more week into this campaign and we’re still going full steam. Thank you everyone for your support! Today we’ll address two issues backers have asked about: colors and sounds.

Haxophone Colors

People have noticed that in the campaign video and supporting material there are Haxophones with different key colors. One model is all-black, while another is much more colorful.

And we never specified which color will be shipped.

There is a reason for that and it is… we have not decided yet! The Haxophone design allows for easy customization and, in particular, changing the keycaps is very simple. You can use any standard keycaps, from fancy aluminum alloy to recycled keycaps from old keyboards for a vintage hacker look.

But back to the main question: what will we ship? That will depend on your preference. Please reach out to us and let us know what color you prefer: (1) all-black, (2) colorful or (3) don’t care. We’ll go with the majority vote.

Haxophone Sounds

We have been asked as well about sounds. Can we change instruments? Can we change sound sets? The answer is yes, and yes.

The default Haxophone image is configured to load the ubiquitous TimGM6mb.sf2 sound set developed by Tim Brechbill. You can switch instruments using the special key combinations listed in the Haxophone documentation. The default sound set has 136 instrument sounds (presets) to choose from. As expected, the Haxophone boots into a sax sound (66) by default.

These are all the presets:

sf2dump TimGM6mb.sf2 | grep 'Preset:' | sort -t: -k2 -n
    Piano 1 (Preset: 0, Bank: 0, Preset bag: 187)
    Standard (Preset: 0, Bank: 128, Preset bag: 18)
    Piano 2 (Preset: 1, Bank: 0, Preset bag: 186)
    Piano 3 (Preset: 2, Bank: 0, Preset bag: 184)
    Honky Tonk (Preset: 3, Bank: 0, Preset bag: 182)
    E.Piano 1 (Preset: 4, Bank: 0, Preset bag: 180)
    E.Piano 2 (Preset: 5, Bank: 0, Preset bag: 179)
    Harpsichord (Preset: 6, Bank: 0, Preset bag: 178)
    Clavinet (Preset: 7, Bank: 0, Preset bag: 177)
    Celesta (Preset: 8, Bank: 0, Preset bag: 176)
    Room (Preset: 8, Bank: 128, Preset bag: 16)
    Glockenspiel (Preset: 9, Bank: 0, Preset bag: 175)
    MusicBox (Preset: 10, Bank: 0, Preset bag: 174)
    Vibraphone (Preset: 11, Bank: 0, Preset bag: 173)
    Marimba (Preset: 12, Bank: 0, Preset bag: 172)
    Xylophone (Preset: 13, Bank: 0, Preset bag: 168)
    Tubular Bells (Preset: 14, Bank: 0, Preset bag: 167)
    Dulcimer (Preset: 15, Bank: 0, Preset bag: 165)
    Organ 1 (Preset: 16, Bank: 0, Preset bag: 164)
    Power (Preset: 16, Bank: 128, Preset bag: 13)
    Organ 2 (Preset: 17, Bank: 0, Preset bag: 163)
    Organ 3 (Preset: 18, Bank: 0, Preset bag: 161)
    Church Organ (Preset: 19, Bank: 0, Preset bag: 159)
    Reed Organ (Preset: 20, Bank: 0, Preset bag: 157)
    Accordion (Preset: 21, Bank: 0, Preset bag: 155)
    Harmonica (Preset: 22, Bank: 0, Preset bag: 154)
    Bandoneon (Preset: 23, Bank: 0, Preset bag: 152)
    Electronic (Preset: 24, Bank: 128, Preset bag: 11)
    Nylon Guitar (Preset: 24, Bank: 0, Preset bag: 151)
    Steel Guitar (Preset: 25, Bank: 0, Preset bag: 150)
    TR 808 (Preset: 25, Bank: 128, Preset bag: 8)
    Jazz Guitar (Preset: 26, Bank: 0, Preset bag: 149)
    Clean Guitar (Preset: 27, Bank: 0, Preset bag: 148)
    Guitar Mutes (Preset: 28, Bank: 0, Preset bag: 147)
    Overdrive Guitar (Preset: 29, Bank: 0, Preset bag: 145)
    DistortionGuitar (Preset: 30, Bank: 0, Preset bag: 143)
    Guitar Harmonics (Preset: 31, Bank: 0, Preset bag: 142)
    Acoustic Bass (Preset: 32, Bank: 0, Preset bag: 141)
    Jazz (Preset: 32, Bank: 128, Preset bag: 6)
    Fingered Bass (Preset: 33, Bank: 0, Preset bag: 140)
    Picked Bass (Preset: 34, Bank: 0, Preset bag: 139)
    Fretless Bass (Preset: 35, Bank: 0, Preset bag: 138)
    Slap Bass 1 (Preset: 36, Bank: 0, Preset bag: 137)
    Slap Bass 2 (Preset: 37, Bank: 0, Preset bag: 136)
    Synth Bass 1 (Preset: 38, Bank: 0, Preset bag: 135)
    Synth Bass 2 (Preset: 39, Bank: 0, Preset bag: 133)
    Brush (Preset: 40, Bank: 128, Preset bag: 4)
    Violin (Preset: 40, Bank: 0, Preset bag: 132)
    Viola (Preset: 41, Bank: 0, Preset bag: 131)
    Cello (Preset: 42, Bank: 0, Preset bag: 130)
    Contrabass (Preset: 43, Bank: 0, Preset bag: 129)
    Strings (Tremelo) (Preset: 44, Bank: 0, Preset bag: 208)
    Pizzicato (Preset: 45, Bank: 0, Preset bag: 128)
    Harp LP (Preset: 46, Bank: 0, Preset bag: 127)
    Timpani (Preset: 47, Bank: 0, Preset bag: 126)
    Orchestra (Preset: 48, Bank: 128, Preset bag: 1)
    Strings CLP (Preset: 48, Bank: 0, Preset bag: 202)
    Slow Strings LP (Preset: 49, Bank: 0, Preset bag: 197)
    Synth Strings 1 (Preset: 50, Bank: 0, Preset bag: 195)
    Synth Strings 2 (Preset: 51, Bank: 0, Preset bag: 124)
    Choir Aahs (Preset: 52, Bank: 0, Preset bag: 192)
    Voice Oohs (Preset: 53, Bank: 0, Preset bag: 122)
    Synth Vox (Preset: 54, Bank: 0, Preset bag: 121)
    Orchestra Hit (Preset: 55, Bank: 0, Preset bag: 119)
    SoloTrumpet (Preset: 56, Bank: 0, Preset bag: 118)
    Trombone (Preset: 57, Bank: 0, Preset bag: 117)
    Tuba (Preset: 58, Bank: 0, Preset bag: 116)
    Mute Trumpet (Preset: 59, Bank: 0, Preset bag: 115)
    French Horns (Preset: 60, Bank: 0, Preset bag: 107)
    Brass (Preset: 61, Bank: 0, Preset bag: 114)
    Synth Brass 1 (Preset: 62, Bank: 0, Preset bag: 112)
    Synth Brass 2 (Preset: 63, Bank: 0, Preset bag: 111)
    SopSax (TB) v2.3 (Preset: 64, Bank: 0, Preset bag: 191)
    AltoSax (TB) v2.3 (Preset: 65, Bank: 0, Preset bag: 190)
    Tenor Sax (TB) v2.3 (Preset: 66, Bank: 0, Preset bag: 189)
    BariSax (TB) v2.3 (Preset: 67, Bank: 0, Preset bag: 188)
    Oboe (Orch) (Preset: 68, Bank: 0, Preset bag: 106)
    English Horn (Preset: 69, Bank: 0, Preset bag: 105)
    Bassoon (Preset: 70, Bank: 0, Preset bag: 104)
    Clarinet (Preset: 71, Bank: 0, Preset bag: 103)
    Piccolo (Preset: 72, Bank: 0, Preset bag: 102)
    Flute TB (Preset: 73, Bank: 0, Preset bag: 0)
    Recorder (Preset: 74, Bank: 0, Preset bag: 101)
    Pan Flute (Preset: 75, Bank: 0, Preset bag: 100)
    Bottle Chiff (Preset: 76, Bank: 0, Preset bag: 98)
    Shakuhachi (Preset: 77, Bank: 0, Preset bag: 97)
    Whistle (Preset: 78, Bank: 0, Preset bag: 96)
    Ocarina (Preset: 79, Bank: 0, Preset bag: 95)
    Square Wave (Preset: 80, Bank: 0, Preset bag: 93)
    Saw Wave (Preset: 81, Bank: 0, Preset bag: 91)
    Synth Calliope (Preset: 82, Bank: 0, Preset bag: 89)
    Chiffer Lead (Preset: 83, Bank: 0, Preset bag: 87)
    Charang (Preset: 84, Bank: 0, Preset bag: 85)
    Solo Vox (Preset: 85, Bank: 0, Preset bag: 83)
    5th Saw Wave (Preset: 86, Bank: 0, Preset bag: 81)
    Bass & Lead (Preset: 87, Bank: 0, Preset bag: 79)
    Fantasia (Preset: 88, Bank: 0, Preset bag: 76)
    Warm Pad (Preset: 89, Bank: 0, Preset bag: 75)
    Poly Synth (Preset: 90, Bank: 0, Preset bag: 73)
    Space Voice (Preset: 91, Bank: 0, Preset bag: 71)
    Bowed Glass (Preset: 92, Bank: 0, Preset bag: 69)
    Metal Pad (Preset: 93, Bank: 0, Preset bag: 67)
    Halo Pad (Preset: 94, Bank: 0, Preset bag: 65)
    Sweep Pad (Preset: 95, Bank: 0, Preset bag: 63)
    IceRain (Preset: 96, Bank: 0, Preset bag: 62)
    Soundtrack (Preset: 97, Bank: 0, Preset bag: 60)
    Crystal (Preset: 98, Bank: 0, Preset bag: 58)
    Atmosphere (Preset: 99, Bank: 0, Preset bag: 56)
    Brightness (Preset: 100, Bank: 0, Preset bag: 54)
    Goblin (Preset: 101, Bank: 0, Preset bag: 52)
    Echo Drops (Preset: 102, Bank: 0, Preset bag: 50)
    Star Theme (Preset: 103, Bank: 0, Preset bag: 48)
    Sitar (Preset: 104, Bank: 0, Preset bag: 47)
    Banjo (Preset: 105, Bank: 0, Preset bag: 46)
    Shamisen (Preset: 106, Bank: 0, Preset bag: 45)
    Koto (Preset: 107, Bank: 0, Preset bag: 44)
    Kalimba (Preset: 108, Bank: 0, Preset bag: 43)
    Bagpipe (Preset: 109, Bank: 0, Preset bag: 41)
    Fiddle (Preset: 110, Bank: 0, Preset bag: 40)
    Shenai (Preset: 111, Bank: 0, Preset bag: 39)
    Tinker Bell (Preset: 112, Bank: 0, Preset bag: 38)
    Agogo (Preset: 113, Bank: 0, Preset bag: 37)
    Steel Drum (Preset: 114, Bank: 0, Preset bag: 36)
    Wood Block (Preset: 115, Bank: 0, Preset bag: 35)
    Taiko Drum (Preset: 116, Bank: 0, Preset bag: 34)
    Melodic Tom (Preset: 117, Bank: 0, Preset bag: 33)
    Synth Drum (Preset: 118, Bank: 0, Preset bag: 32)
    Reverse Cymbal (Preset: 119, Bank: 0, Preset bag: 31)
    Fret Noise (Preset: 120, Bank: 0, Preset bag: 30)
    Breath Noise (Preset: 121, Bank: 0, Preset bag: 28)
    Seashore (Preset: 122, Bank: 0, Preset bag: 27)
    Bird (Preset: 123, Bank: 0, Preset bag: 26)
    Telephone (Preset: 124, Bank: 0, Preset bag: 25)
    Helicopter (Preset: 125, Bank: 0, Preset bag: 24)
    Applause (Preset: 126, Bank: 0, Preset bag: 22)
    Gun Shot (Preset: 127, Bank: 0, Preset bag: 20)

If you want to change the sound set entirely, you’ll need to:

  1. Install a new sound font file on the haxophone filesystem, under /usr/share/sounds/sf2/
  2. Modify /etc/systemd/system/haxo.service to load your new sound font instead of the one loaded by default.
pi@haxophone:~ $ cat /etc/systemd/system/haxo.service
[Unit]
Description=haxophone
After=sound.target
After=network.target
StartLimitIntervalSec=0

[Service]
Type=idle
Restart=always
RestartSec=1
User=root
Group=audio
WorkingDir=/usr/share/haxo
Environment=RUST_LOG=info
ExecStart=/usr/local/bin/haxo001 \
          --notemap-file /usr/share/haxo/notemap.json \
          --prog-number 66                               <--- default instrument
          --sf2-file /usr/share/sounds/sf2/TimGM6mb.sf2  <--- default sound set

[Install]
WantedBy=multi-user.target
pi@haxophone:~ $ 

Accessing and modifying the Haxophone filesystem can be done in different ways. I find ssh to be the easiest. Just the thought that I can securely log into a Haxophone and hack it over the network is strangely gratifying. But that can be the topic of another update.

Reach out

That wraps up today’s update. Please don’t hesitate to reach out via the Ask Questions section on the campaign page. Comments, questions, suggestions or rants are all welcome!

Stay musical,


Sign up to receive future updates for Haxophone.

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects