`synthclone` is a Qt-based application that can "clone" your MIDI-capable instruments. It does this by sending out MIDI data that instructs an instrument to emit sounds for a series of notes, velocities, controls, and aftertouch values. It then saves this data as a sample-based instrument that can be loaded by sampler software.
- Supports user-configurable per-zone sample time, release time, MIDI note, MIDI velocity, MIDI aftertouch, MIDI channel pressure, MIDI control changes, etc. via a table interface.
- Audition samples and change zone parameters until you're happy with the data you're acquiring from your MIDI device/software.
- Save and restore sessions.
- Distributed with plugins that support the JACK Audio Connection Kit (with JACK Session support), PortAudio and PortMidi, trimming of samples, the creation of patches for Hydrogen and SFZ, and automated zone generation.
- Can create multiple targets in one session (i.e. a Hydrogen patch and an SFZ patch) from the same set of samples.
- A well-documented plugin API is available for developers to write their own plugins to extend synthclone.
Important Changes Since 0.1.0:
- Lots of bug fixes.
- Added a "portable" semaphore implementation to the plugin API.
- Added the new PortMedia plugin, which supports sampling via PortAudio and PortMidi.
- Get `synthclone` to compile on Mac OSX.
- Change build system to use traditional `./configure`, `make`, `make install` scheme.
- Add new 'debian' target for building Debian packages (`./configure --prefix=/usr`, `make debian`).
- Figure out a good packaging scheme for Mac OSX.
- Support the Non-Session Manager protocol.
- Write a plugin that creates Renoise instruments.
- Write a plugin that loads LADSPA effects.
- Write a plugin that loads LV2 effects.
- Write a plugin that loads samples from the filesystem (expanding on the plugin created in this tutorial)
- Consider different ways to support the detection and/or creation of loops.