Skip to main content

KitBash

A GUI application which you can use to create a new SFZ drumkit from pieces of other drumkits.

Intro

Got a drumkit SFZ that sounds pretty good, but there's just one instrument that doesn't quite cut it? Want to replace that one snare, or even that whole set of tom-toms?

That's what kitbash was written for!

Kitbash allows you to create projects in which you can import mutiple drumkits from SFZ files, select the pieces of each kit you want, then export the finished drumkit to a new SFZ.

Usage

kitbash-empty-window

Starting with an empty project, use the "Edit" -> "Load Drumkit" menu, or click on the "plus" symbol in the toolbar. You'll see all the instruments defined in the drumkit you just loaded, grouped into categories, such as "Snares", "Tom toms", "Hi-hats", etc.

Audio preview

To listen to audio playback, you need to select an "Audio sink" from the dropdown list at the top-right of the window. You audio out devices should be listed there. Note that this is a JACK application, and your JACK audio connection kit server must be running to play audio.

To preview the sound of each instrument, click on the instrument name. Releasing the mouse stops the playback.

To preview the drumkit you are assembling, you need to send it MIDI note events. Choose the MIDI source from the dropdown list at the top-right area of the window, and send MIDI events. A MIDI source can be an external device, like a MIDI keyboard, or the MIDI output of another program, such as qtractor, MuseScore, or JackMIDILooper.

Instrument selection

The instruments selected to be included in your final drumkit are indicated by the check boxes next to the instrument and category names.

kitbash-window

Check the box next to a category to select all the instruments in that category for inclusion in your new drumkit. Check the checkbox next to any individual instrument (i.e. "Ride Bell"), to include only that instrument.

When you load the first drumkit, all categories and instruments are selected. Load another drumkit in the same way as you did the first (using the menu or the toolbar). Selecting an instrument from one drumkit de-selects that instrument from all other loaded drumkits.

You can make changes while playing a loop from the incoming MIDI source, and the changes are (almost) immediately made to the "bashed" drumkit you are making.

Exporting an SFZ

When you're satisfied with what you've selected, you can save the "bashed" drumkit as an .sfz file in a new location. From the menu, select "File" -> "Save Bashed Kit As..." and choose the location. Or, click the corresponding icon in the toolbar.

Saving a project

A "project" is a list of the source SFZs and which groups and instruments from each them are selected. You can save a project for later, make whatever changes you desire, and then export the SFZ you created again. This way, you don't have to start from scratch every time you wish to make that one small change.

Install

Install in the usual way:

$ pip install kitbash

Requirements

You'll need both JACK audio connection kit and liquidsfz in order to have live previews. You can run the program without either, but you won't be able to listen to your changes as you are making them.

To install JACK:

$ sudo apt install jackd

...or...

$ sudo dnf install jackd

To install liquidsfz:

$ git clone https://github.com/swesterfeld/liquidsfz.git

... and follow the instructions found in the liquidsfz README to install it.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kitbash-1.12.2.tar.gz (70.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kitbash-1.12.2-py2.py3-none-any.whl (75.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file kitbash-1.12.2.tar.gz.

File metadata

  • Download URL: kitbash-1.12.2.tar.gz
  • Upload date:
  • Size: 70.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for kitbash-1.12.2.tar.gz
Algorithm Hash digest
SHA256 02bcbed6d278614a646b3f38e66e76dbe587a66194716062579a11d16a819f84
MD5 4dbe886145a06d2f400635abcf68f6e5
BLAKE2b-256 8bd36a46bf70279749b54cf92a719d53fcad7dfc5cfeed1b4954d4360aded03b

See more details on using hashes here.

File details

Details for the file kitbash-1.12.2-py2.py3-none-any.whl.

File metadata

  • Download URL: kitbash-1.12.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 75.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for kitbash-1.12.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6eabebd3c7268c105ff124a2ef0ab9b85fb0cea14107e3382e4e7d61458711df
MD5 cb262d3f7ef291a02047666ee4b98082
BLAKE2b-256 4b640543eddda4afc02b6ee0a79f4bdd86d5dcc4eaa03b78532f981d8c277cfc

See more details on using hashes here.

Release history Release notifications | RSS feed

1.13.1

2 files

1.13.0

2 files

This release

1.12.2 This release

2 files

1.12.1

2 files

1.12.0

2 files

1.11.0

2 files

1.10.0

2 files

1.9.0

2 files

1.8.2

2 files

1.7.0

2 files

1.5.2

2 files

1.4.0

2 files

1.3.0

2 files

1.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page