kronihias / mcfx

multichannel cross plattform audio plug-in suite
GNU General Public License v3.0
79 stars 13 forks source link

mcfx - multichannel cross plattform audio plug-in suite

license

mcfx is free software and licensed under the GNU General Public License version 3 (GPLv3).

prerequisites for building

CMake, working build environment

Make sure of using fftw-3.3.6-pl2 or later, as earlier versions do not contain the fftwf_make_planner_thread_safe() function.

Clone the repository with the submodules:

git clone --recurse-submodules https://github.com/kronihias/mcfx/

Howto build yourself:

Use cmake gui or cmake/ccmake from terminal to configure the build.

  1. Create a folder in the mcfx folder eg. BUILD
    mkdir BUILD # On Linux, MacOS or Windows Powershell    
  2. Run cmake or ccmake from the BUILD folder, or use the cmake gui and press Configure.
    In the terminal:

    cd BUILD
    ccmake ..

    Press the C key.

    If using the GUI instead, select the target build system (e.g., in Windows use Visual Studio or MinGW).

  3. Set the Build Parameters, Configure again. Then Generate.
  4. Build the project with the selected build system (e.g., Visual Studio, Xcode, or make).
    E.g., for Linux:
    make -j$(nproc) config=Release

    -j$(nproc) will instruct make to use all available cores for the build.

  5. After a successful build, find the binaries in BUILD/_bin/ or BUILD/vst/ and copy to system VST folder

    VST installation folders:

    • MacOSX: /Library/Audio/Plug-Ins/VST
    • Windows: C:\Program Files\Steinberg\VstPlugins, C:\Program Files\Common Files\VST2, or C:\Program Files\VSTPlugins
    • Linux: ~/.vst/, /usr/lib/lxvst or /usr/local/lib/lxvst

Build Parameters

plug-ins explained:

mcfx_convolver

multichannel convolution matrix

loads configuration files (compatible to jconvolver .conf files)

supports loading .wav files directly (optionally reading input channel metadata)

just drag/drop a .conf or .wav file into the GUI to load it

have a look at CONVOLVER_CONFIG_HOWTO.txt for details about the configuration files

check the MATLAB folder for simple export scripts

searches for configuration file in following folders:

mcfx_delay

delay each channel about the same time (maximum delay time in seconds is a compile time flag (default 0.5s): MAX_DELAYTIME_S)

mcfx_filter

filter each channel with the same low/high cut, peak filter and high/low shelf filter settings, frequency analyzer that displays a sum of all channels

low and high pass: 2nd order butterworth filter or 2x 2nd order butterworth cascaded (resulting in linkwitz riley characteristic) for use as x-over network

plus 2x parametric filter +- 18dB

plus low and high shelf filters +- 18dB

filter parameters can be adjusted during playback without introducing audible glitches (except switching lp/hp bypass and order)

mcfx_gain_delay

set different delay time and gain setting for each channel (good for multispeaker calibration), includes a signal generator for testing individual channels

the GUI allows to paste a list of float gain and delay values from the clipboard with semicolon, comma, newline, tab or space separated.

maximum delay time in seconds is a compile time flag (MAX_DELAYTIME_S)

mcfx_meter

multichannel level meter with RMS, peak and peak hold

changelog:


(C) 2013-2017 Matthias Kronlachner m.kronlachner@gmail.com