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.13.1.tar.gz (70.7 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.13.1-py2.py3-none-any.whl (75.7 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: kitbash-1.13.1.tar.gz
  • Upload date:
  • Size: 70.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for kitbash-1.13.1.tar.gz
Algorithm Hash digest
SHA256 55cdb430464c69ceaba7cce55b354f98ac0bfaab7d0b99de08624c2f283aa63f
MD5 8135de9ec1f6fbc891b779af4262b600
BLAKE2b-256 a5ec97bb509d343f7f466da1fef165c45efafd670ec25443ac88e7c89facb9c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kitbash-1.13.1-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.2.0 CPython/3.14.4

File hashes

Hashes for kitbash-1.13.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 770b4ec0404579faff9f8bdd36b2af65e9526e41545dbe55886716571f87f8fb
MD5 0fd96833985f6eb3d194e0f276bec15e
BLAKE2b-256 974b39075a497f6f78d5e1798020747667559f66106525bfc9bd2dc71353b9be

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.13.1 This release

2 files

1.13.0

2 files

1.12.2

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