schnitzeltony/fluidsynth-dssi
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
FluidSynth-DSSI
===============
A software synthesizer plugin for the
DSSI Soft Synth Interface
Introduction
============
FluidSynth-DSSI is an implementation of the FluidSynth soundfont-
playing software synthesizer as a plugin for the DSSI Soft Synth
Interface. DSSI is a plugin API for software instruments (soft
synths) with user interfaces, permitting them to be hosted
in-process by audio applications. More information on DSSI can be
found at:
http://dssi.sourceforge.net/
FluidSynth-DSSI makes use of DSSI's run_multiple_synths() interface
to allow sharing of resources (like enormous soundfonts) between
multiple plugin instances -- soundfont data is shared between
instances, and FluidSynth's usual voice allocation methods are
applied across multiple instances as if each were a FluidSynth
channel.
FluidSynth-DSSI is written by Sean Bolton, and is copyright (c)2009
under the GNU General Public License, version 2 or later. See the
enclosed file COPYING for details.
FluidSynth itself is copyright (c)2006 Peter Hanappe and others,
under the GNU Library General Public License.
Requirements
============
You need to have the following installed:
- DSSI version 0.9 or greater, available from the
dssi.sourceforge.net address above.
- liblo version 0.12 or later (0.23 or later recommended), a
library implementing the Open Sound Control (OSC) protocol,
available at:
http://liblo.sourceforge.net/
- the FluidSynth library and header files, version 1.0.3 or later.
FluidSynth-DSSI will have additional capability (run-time
polyphony setting and more efficient operation) if FluidSynth
version 1.0.6 or later is used.
- the LADSPA v1.x SDK.
- the ALSA headers (DSSI plugins use ALSA structures, but not
the actual drivers, so you don't necessarily need the
drivers installed.) Users of non-Linux system can use
libdssialsacompat, available at:
http://smbolton.com/linux.html
- pkgconfig with PKG_CONFIG_PATH set appropriately to pick up
DSSI, liblo, and fluidsynth (plus libdssialsacompat if used).
- glib-2.0 >= 2.40
- GTK+ version 2.x. (If GTK+ is not found, the plugin
will be built without the GUI.)
- a working DSSI host. Fluidsynth-DSSI has been tested with
qtractor found at https://github.com/rncbc/qtractor
- automake 1.7 and autoconf 2.59 or better if you wish to
recreate the build files.
Installation
============
The generic installation instructions in the enclosed file INSTALL
aren't particularly helpful, so try this instead:
1. Unpack the tar file.
2. Make sure PKG_CONFIG_PATH is set correctly to locate the
dssi.pc and liblo.pc pkgconfig files. On many systems, this
will be:
$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ export PKG_CONFIG_PATH
3. 'cd' into the package directory and execute './configure'.
configure will add '-Wall' and my favorite optimizations to
CFLAGS for you if you don't include any '-Wall' or '-O' options.
4. If you wish to change the maximum number of simultaneous
instances supported by FluidSynth-DSSI (currently 32), edit the
file src/fluidsynth-dssi.h and change the FSD_CHANNEL_COUNT
definition.
3. Enable debugging information if you desire: edit the files
src/fluidsynth-dssi.h and src/FluidSynth-DSSI_gtk.c, and define
DEBUG_DSSI or DEBUG_AUDIO as explained in the comments.
4. Do 'make'. Hopefully it should build without warnings (or
errors.)
5. 'make install' will install the following:
$(PREFIX)/lib/dssi/fluidsynth-dssi.so
$(PREFIX)/lib/dssi/fluidsynth-dssi/FluidSynth-DSSI_gtk
Feedback on your experiences building FluidSynth-DSSI is appreciated.
Operation
=========
Start your DSSI host and create an instance of the FluidSynth-DSSI
plugin.
Initially, no soundfont will be loaded. Use the 'Select Soundfont'
button to select a soundfont. Each instance may use only one
soundfont at a time, but when multiple instances use the same
soundfont, it is only loaded once. FluidSynth-DSSI will use the
the DSSI project directory and the SF2_PATH enviroment variable,
if set, to search for soundfonts.
The available soundfont presets will be displayed in the 'Preset'
window. Clicking on one will select that preset.
Under 'Global Settings', the 'gain (dB)' setting affects the output
level of all running FluidSynth-DSSI instances.
If you're using FluidSynth version 1.0.6 or later, then you will
have the ability to manage the maximum polyphony used by
FluidSynth-DSSI. There will be a 'polyphony' setting under 'Global
Settings' in the FluidSynth-DSSI GUI, which sets the maximum number
of voices that will be played by all instances.
Test notes may be generated using the 'Send Test Note' button. You
may select the pitch and velocity of the note using the 'Test Note'
sliders.
When you create more than one instance of the plugin, you should be
able to tell their GUIs apart by unique window titles of each
(provided your host correctly supplies each with the proper
identifier.)
About
Fork from https://git.code.sf.net/p/dssi/fluidsynth-dssi
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published