Konfyt Documentation

Back Home

The Konfyt interface should be pretty self-explanitory. This text provides some additional clarity.

Settings and Library

It is a good idea to fill in all the paths in the settings screen.

File Manager

The file manager entry is optional and is provided in case your default file manager doesn't play along well. You can test it by right-clicking on one of the library items and clicking "Open in File Manager". If you receive an error message from your file manager, specify your preferred file manager in settings (e.g. either dolphin, nautilus, thunar, pcmanfm, etc.).

Scanning

The "Apply and Rescan" button clears the database and scans the specified directories and subdirectories for SFZs, GIGs, soundfonts and patches. This may take a while, especially with big soundfonts as each soundfont is loaded with Fluidsynth in order to extract its program information.

The "Apply and Quick Scan" function leaves the soundfonts in the database intact and only scans and loads new files not already in the database.

Library

The library organizes sounds using subdirectories. Thus, for easy navigation it is useful to sort your sounds into subfolders, e.g. Piano, Strings, Organs, Pads, etc.

When selecting a soundfont, the list of programs appear below the library tree. By double-clicking on a soundfont program or a SFZ or patch in the tree, the sound is added as a layer to the current patch.

When searching, file names and soundfont program names are searched.

Projects

A Konfyt project contains the following:

Each project is saved in its own directory. One project can be active at a time.

Ports and Busses

Ports and busses are specific to a project. In the Ports and Busses screen, ports and busses can be added, removed and renamed by right-clicking in the Ports/Busses list and can be connected to JACK clients by ticking the corresponding checkboxes. Any connections made outside Konfyt are not indicated here. However, any connection specified within Konfyt will be presisted, even when clients are stopped and started again.

MIDI Input

To receive any MIDI input, the MIDI input port has to be connected to at least one JACK client. Any incoming MIDI will be routed to all MIDI compatible layers in the current active patch (i.e. SFZ layers, soundfont layers and MIDI output port layers).

To gain access to hardware MIDI and other ALSA clients, a tool such as a2jmidid can be used. The -e argument gives access to hardware MIDI ports and the -u argument removes ALSA port numbers which might be useful to ensure that port names don't change across sessions so Konfyt will always be able to find and connect to the ports.

MIDI Output

MIDI output ports emit MIDI messages to their connected JACK clients. To make use of a MIDI output port, it has to be inserted into a patch as a layer. In a patch, the MIDI output port layer has its own MIDI filter and MIDI is only transmitted when present in the current patch.

Audio Input

Audio input ports receive audio from their connected JACK clients. As with a MIDI output port, an audio input port has to be added to a patch as a layer to make use of it. As a layer, it has its own gain slider and destination bus.

Busses

Busses are audio output ports to which audio can be routed from layers that have audio output (i.e. SFZ, soundfont and audio input layers). The right-most button on each layer with audio output specifies the bus to which its audio is routed. Click the button to select a bus for the layer.

MIDI Triggers

Konfyt allows MIDI triggers (similar to MIDI learn in other applications) to be set up in order to perform an action when the specified MIDI message is received. The Triggers screen allows MIDI triggers to be set up. Received MIDI messages are shown on the right and can be assigned to actions on the left by using the "Assign To Item" button or by double-clicking on the action.

When bank select and program change messages are received, the option is given to group these messages together as one MIDI message.

MIDI message values are interpreted corresponding to the action it is assigned. For actions such as gain, the absolute MIDI value is used. For other actions such as patch switching or toggling a setting, the action is only triggered if the MIDI message value is larger than zero. This eliminates double triggering when a button or note sends both 127 and zero when pressed.

External Applications

The External Applications list is a simple list that allows you to store shell commands in a project, allowing these commands to be easily run every time you open the project.

In order to make a project more self-contained, it may be useful to store files used by external applications in the Konfyt project directory. For instance, you may have some plugins hosted in Carla with MIDI output ports sending MIDI to synth plugins, audio input ports receiving audio from plugins and/or busses sending audio to various plugins for effects. You can add the external application command

carla /path/to/my_carla_project.carxp

to the External Applications list in order to quickly launch Carla next time. However, another option is to save the Carla project file in your Konfyt project directory. Then, go to the Filesystem tab on the left-hand side of the Konfyt window, click on the Project Directory button, right-click on the Carla project file and select "Add Path to External App Box". This adds the path of the Carla project file to the External Applications text box, using the string "$PROJ_DIR$" to indicate that the file is relative to the Konfyt project directory. Just add "carla " in front of the path so that it becomes

carla "$PROJ_DIR$/my_carla_project.carxp"

and add it to the External Applications list.

Use Cases

The first steps

Perform these steps to set up Konfyt and get going:

  1. Specify paths in Settings and let your sound directories be scanned to fill the library.
  2. In the Ports and Busses screen, assign a client to the MIDI input port. Access to ALSA hardware can be gained by using the command

    a2jmidid -e -u

    It is also useful to add this command to the External Applications list so it can easily be run next time.
  3. Test MIDI input by watching the MIDI receive indicator at the top right or by selecting "Show MIDI Messages" at the console and watching the console.
  4. In the Ports and Busses screen, connect the audio bus(ses) to system output or JACK clients.
  5. Add a SFZ or soundfont layer to the patch. Test your audio.
  6. Remember to enter a project name and save often!

An example with ZynAddSubFX and Ardour

Konfyt doesn't attempt to do everything itself but works in harmony with other JACK aware applications. This example shows how Konfyt can be used in combination with a stand-alone synth application and a plugin host.

  1. Create a new Konfyt project, connect the MIDI input port, verify that you receive MIDI and save the project. Take note of the project path. If you forgot, you can quickly find it by clicking the Project Directory button in the Filesystem tab on the left-hand side of the Konfyt window.
  2. Launch ZynAddSubFX and select or create a desired preset.
  3. Save your ZynAddSubFX session (File->Save All Parameters...) to your Konfyt project directory as, for example, "zyn_lead.xmz".
  4. In Konfyt, navigate to the saved file in the Filesystem tab, right-click on it and select "Add Path To External App Box". The External Applications text box should now contain something like "$PROJ_DIR$/zyn_lead.xmz". Before it, add "zynaddsubfx -l ". The -l argument tells Zyn you want to load the file.
  5. Now, in the event that you might use another instance of ZynAddSubFX, you want the JACK port names of this instance to be uniquely identifiable and remain the same across sessions. To ensure this, add " -N zyn_lead" at the end of the command. This makes ZynAddSubFX append the "zyn_lead" string to its port names.
  6. The command should now look like this:

    zynaddsubfx -l "$PROJ_DIR$/zyn_lead.xmz" -N zyn_lead

    Add it to the list. Close ZynAddSubFX, and then double-click on the newly added entry in the External Applications list to test it.
  7. In the Ports and Busses screen, add a new MIDI output port, name it "zyn lead send" and connect it to the ZynAddSubFX midi_input port.
  8. Add an audio input port, name it "zyn lead return" and connect it to the ZynAddSubFX out_1 and out_2 ports.
  9. Create a new patch and add the newly created MIDI output port and audio input port as layers. When you play notes, MIDI is now sent to Zyn and the audio is returned to Konfyt and then routed to the output bus specified in the audio input port layer.
  10. Now, we might want to apply some effects like reverb and EQ to the Zyn audio. Open a plugin host, for example Ardour. Create a new project, saving it to the Konfyt project directory and adding it as an external application command like above. (Note that the -l and -N arguments that were used above are specific to Zyn and not applicable to Ardour.)
  11. In Ardour, create an audio bus and add reverb and/or other plugins to it.
  12. In Konfyt, in the Ports and Busses screen, add a bus, naming it appropriately and selecting the Ardour audio track as its clients.
  13. In the patch, click the audio input port bus button and select the newly created bus. Now, the audio from Zyn will be routed to Ardour for some cool effects.
  14. Remember to save your Konfyt project regularly. When done, close Konfyt, Ardour and Zyn, re-open Konfyt, launch Ardour and Zyn from the External Applications list and test that everything still works. If everything was set up correctly, the JACK port connections should automatically be connected and audio should be heard.

More ideas

Some applications that might augment your workflow with Konfyt are:

2014-2017 Gideon van der Kolf