Skip to main content

FluidPatcher

FluidPatcher is a lightweight Python toolkit for building playable FluidSynth-based instruments driven by MIDI events. It provides:

  • A simple user-facing API for building applications/front-ends
  • Rich YAML-based bank/patch file format for defining synth setups
  • Support for multiple soundfonts, layered MIDI routing, and rules
  • Built-in players (arpeggiators, sequencers, MIDI files, loopers)
  • Optional LADSPA audio effects

FluidPatcher is designed for small systems such as Raspberry Pi but runs anywhere FluidSynth does.

Installation

System Requirements

Install FluidPatcher

pip install fluidpatcher

Or install from source:

git clone https://github.com/GeekFunkLabs/fluidpatcher.git
cd fluidpatcher
pip install -e .

Configuration

FluidPatcher looks for config at FLUIDPATCHER_CONFIG if defined, or ~/.config/fluidpatcher/fluidpatcherconf.yaml. A default config is created if not found. The config file can be used to store/specify:

  • Paths for soundfonts, bank files, MIDI files, LADSPA effects
  • FluidSynth settings e.g. audio driver/device if other than default
  • State information for specific programs

API Overview/Quick Start

import fluidpatcher

fp = fluidpatcher.FluidPatcher()
fp.load_bank("mybank.yaml")
fp.apply_patch("Piano")

Play notes on an attached MIDI controller to hear patches. By default, FluidSynth will automatically connect to MIDI devices.

Sample programs are in examples/, and can be run with

python -m fluidpatcher.examples.<example_name>

Banks & Patches

Users access all of FluidPatcher's features primarily by writing bank files. Bank files are a declarative, YAML-based format for describing synth patches. The underlying engine parses bank files and pre-loads required soundfonts so that different patches can be applied quickly in live performance.

View the Tutorials section in the docs and/or example banks (data/banks/tutorial/) for guided learning.

Status & Contributions

FluidPatcher is under active development. The goal is to keep the API minimalist and general, with most features/functionality implemented in bank files or external programs. Contributions, bug reports, and example banks are welcome.

Please open issues or pull requests on GitHub.

License

MIT. See LICENSE for details.

FluidPatcher uses the FluidSynth library (LGPL-2.1) via dynamic linking.

Metadata

Release files for fluidpatcher 1.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fluidpatcher 1.0.7
File Size Uploaded
fluidpatcher-1.0.7.tar.gz 317.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fluidpatcher 1.0.7
File Interpreter ABI Platform
fluidpatcher-1.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 636.4 kB

Release files / fluidpatcher-1.0.7.tar.gz

Download URL fluidpatcher-1.0.7.tar.gz
Size 317.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ec68329ebcdc3f98d6e41f9650062fecbd055dd00f20d8aef8075ee2df3b823d
BLAKE2b-256 checksum
How to use checksums
177ef52dfd8df4c53f3375265fecc6e1ba6107184bc6dd0923701043ad5abb42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release files / fluidpatcher-1.0.7-py3-none-any.whl

Download URL fluidpatcher-1.0.7-py3-none-any.whl
Size 319.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7801f69eef455314ddebe598bb8fe526a40966fb48ee3ce926540d019d78701
BLAKE2b-256 checksum
How to use checksums
bbf5dc3bed4141edbdf4a5012a7f6fbd3c8ab6ecffbc4d05c87a56f45e031210
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.7 This release

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release 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