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.0.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.13.0-py2.py3-none-any.whl (75.7 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: kitbash-1.13.0.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.13.0.tar.gz
Algorithm Hash digest
SHA256 06a09fcd3c70b99d5fabead4a6153485f91b63b67ecf444149d4550f222ab321
MD5 8a2775a5556c222c99d6662e6e73136a
BLAKE2b-256 a7419f06dd084b30ff0ab75d04b3dd3e14bc6c144615eebae3624b887f47ee7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kitbash-1.13.0-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.13.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2d7f5c0afc9b5c6dec4765d034353a648d32a55f99e91295c6c99cc41c0e6638
MD5 255f78c62d9c40b22b86e7a3756aa1de
BLAKE2b-256 bd8929c849437e8fd37c112a126a662a554d166650cd2a7f2f0d8ca121ba6417

See more details on using hashes here.

Release history Release notifications | RSS feed

1.13.1

2 files

This release

1.13.0 This release

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