From Fedora Project Wiki
(page creation)
 
(→‎Using Reverb and Chorus with Qsynth: added description of section)
Line 141: Line 141:


== Using Reverb and Chorus with Qsynth ==
== Using Reverb and Chorus with Qsynth ==
(no algorithms)
After describing what the controls do, it should be obvious enough to users how they should change the controls.


== Multiple FluidSynth Instances with Qsynth ==
== Multiple FluidSynth Instances with Qsynth ==

Revision as of 04:35, 15 June 2010

What FluidSynth Is

(no algorithms)

About SoundFonts

Qsynth installs a default SoundFont, but a few others are available from the Fedora repositories. To see which, search PackageKit, KPackageKit, or yum for "soundfont."

How to Get a SoundFont

????

Requirements and Installation

Requirements

FluidSynth is in the official Fedora repository. Qsynth automatically installs a default SoundFont.

Dependencies:

  • fluidsynth-libs
    • lash
    • jack-audio-connection-kit
    • libsndfile
  • glibc (x86_64)
  • glibc (i686)
  • lash

Installation

  1. Use PackageKit or KPackageKit to install the fluidsynth package, or run su -c 'yum install fluidsynth'
  2. You will also need to get a SoundFont and install it. See the section earlier "About SoundFonts."

Using FluidSynth in a Shell

  1. If you want to use FluidSynth from a shell, you can use the fluidsynth command. The default sample-rate is 44.1 kHz, so if you don't have JACK set up at that rate, then you'll need to use the -r flag, like this: fluidsynth -r 48000.
  2. When you run FluidSynth from a shell, as above, it will normally start up a shell of its own. How to use this shell is beyond the scope of this guide (since we recommend using the Qsynth graphical front-end), but there is a built-in help command (see below):
[crantila@franklin-willibald-tovey ~]$ fluidsynth -r 48000
FluidSynth version 1.1.1
Copyright (c) 2000-2009 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

lash_init: Not attempting to start daemon server automatically
Created proejct project-1 in directory /home/crantila/audio-projects/project-1
Added client ee2e86a9-... of class fluidsynth to project project-1
Type 'help' for help topics.

> help

*** Help topics: ***
help all (prints all topics)
help general
help event
help reverb
help chorus
help tuning
help settings
help ladspa
help router
>

Is this useful? Now that I typed it out, I don't think so...

Qsynth: Introduction and Installation

(no algorithms)

Requirements

Qsynth is in the official Fedora repository. Qsynth automatically installs a default SoundFont.

Dependencies:

  • fluidsynth-libs
    • lash
    • jack-audio-connection-kit
    • libsndfile
  • fluid-soundfont-gm
    • fluid-soundfont-common

Installation

  1. Use PackageKit or KPackageKit to install the qsynth package, or run su -c 'yum install qsynth'.
  2. If it has not already been installed, the FluidR3 SoundFont will automatically be installed. Be warned that it is larger than 100MB.

Configuration with Qsynth

Starting FluidSynth

  1. Start Qsynth from the Applications menu, or the K Menu
  2. The FluidSynth engine will be started automatically.
  3. The row of buttons at the right of the Qsynth window control Qsynth. The other settings control FluidSynth.
  4. You can use the "Messages" button to display a window containing FluidSynth's output.

SoundFont Configuration

  1. The FluidR3 SoundFont, which was automatically installed with Qsynth, should be configured automatically.
  2. To confirm that FluidR3 is configured, or to add, remove, or edit other SoundFonts, use the 'SoundFonts' dialogue of the "Setup" window.
  3. To add a new SoundFont, click the 'Open' button, navigate to the path of the SoundFont you want to add, select it, then "Open"
  4. To change the SoundFont ID (SFID), use the 'Up' and 'Down' buttons to change the position of the SoundFonts, as desired.

JACK Output Configuration

Although it is possible to output to ALSA or PulseAudio, the recommended output method is to JACK. This not only allows the highest audio quality, but it allows the greatest flexibility, since FluidSynth's output can be routed through JACK to another application, such as Audacity or Ardour, which can either record or further process the audio signal.

  1. Qsynth should automatically be configured to use the JACK Audio Connection Kit. To confirm this, open the "Setup" window in Qsynth.
  2. Go to the 'Audio' tab, and ensure that "Audio Driver" is set to "jack".
  3. You should also ensure that the other settings are correct.
  4. If needed, refer to the settings found in the QjackCtl application.
    • "Sample Rate" in Qsynth should correspond to "Sample Rate" in QjackCtl. If not, Qsynth's "Messages" window will produce a warning that there is a "Jack sample rate mismatch."
    • "Sample Format" offers better quality when set to "float."
    • "Audio Channels" means "sets of stereo outputs," so a setting of "1" will give one two-channel (stereo) output to JACK.
    • You can change the "JACK Client Name ID" to change what is displayed in QjackCtl. This has no functional effect.
    • The other settings do not usually need adjustment, and would be more useful on slow or non-real-time computers (increase the Buffer Size, for example) or highly complex scores (increase the Polyphony setting, for example).

MIDI Input Configuration

QSynth will not produce sound by itself. It requires a MIDI input device.

  1. Open the "Setup" window, ensuring you are on the "MIDI" tab
  2. You will need to select "Enable MIDI Input"
  3. There are two settings for "MIDI Driver" that you would likely want.
    • When set to "alsa_seq", the input will appear on QjackCtl's "ALSA" tab in the "Connect" window. This is useful if the MIDI generator device that you are using, such as a MIDI-enabled keyboard, is connected directly to ALSA.
    • When set to "jack", the input will appear on QjackCtl's "MIDI" tab in the "Connect" window. This is useful if the MIDI generator device that you are using, such as Rosegarden, is connected directly to JACK.

Viewing all FluidSynth Settings

  1. Open the "Setup" window
  2. Select the "Settings" tab
  3. Scroll through the list to the setting you wish to see.
  4. The settings in this tab are not editable in this tab.

Setting up Channels with Qsynth

Changing the Number of Channels

Although the default number of channels for most MIDI synthesizers is 16, you can configure FluidSynth to use greater or fewer channels. If you don't know how many channels you need, or if you don't know whether you should adjust the number of channels, then it is safer to leave this set to 16. Some MIDI devices may not be capable of using a device with greater of fewer than 16 channels.

  1. Open the "Setup" window,
  2. On the "MIDI" tab, change the "MIDI Channels" field.
  3. When you select "OK," you will be warned that this change will not take effect until the FluidSynth instance is re-started. You can either choose "Yes" to restart the instance now, or "No" to restart it later with the "Restart" button in the main window.
  4. Take note that Qsynth may add and remove channels only in groups of 16, for compatibility reasons.

Assigning Sounds (Programs) to Channels

By default, Qsynth does not assign programs to channels. In other words, you must assign a program (instructions on what kind of audio to output for a given input) to any channel (part/instrument/player) that you want to make noise.

  1. In the main Qsynth window, click "Channels" to open the "Channels" window.
  2. In the Channels window, each channel will, by default, look like
    1   -   -   -
  3. To assign a program to a channel, click on the row of the channel that you want to assign.
  4. Select the bank and program number that you want, using the name, SFID, and Soundfont columns to guide you.
  5. Repeat this process for all of the channels that you wish to assign.
  6. If you are not going to use a channel, then it is probably better to avoid assigning it a program.

Saving and Reusing Channel Assignments

To avoid having to re-assign every channel whenver Qsynth is restarted, you can save and restore program assignments in "presets."

To save the settings for later:

  1. Ensure that Qsynth has correctly configured the FluidSynth back-end.
  2. Configure the channels as desired.
  3. In Qsynth's "Channels" window, erase the contents of the "Preset Name" text field, and replace it with whatever name you would like.
  4. Click "Save" to preserve the settings under that name.

To restore settings from earlier:

  1. Ensure that Qsynth has correctly configured the FluidSynth back-end.
  2. Open Qsynth's "Channels" window.
  3. Search through the "Preset Name" drop-down box to find the name of the preset that you want to restore.
  4. Select it, and verify that the correct channel assignments were restored.

Using Reverb and Chorus with Qsynth

(no algorithms)

After describing what the controls do, it should be obvious enough to users how they should change the controls.

Multiple FluidSynth Instances with Qsynth

Reasons that somebody might do this:

  • Oh, you know...

To establish an additional FluidSynth instance:

  1. Press the green "+" button in the bottom-left corner of Qsynth's main window
  2. Adjust the settings as desired, by using the Setup window that pops up.
  3. Press "OK" to start the additional instance.
  4. To close an additional instance, use the red "X" near the lower-right corner.