The JSFX-SOX software package provides JSFX (Jesusonic) plugins for being used in the Reaper DAW; they implement some of the audio processing effects from SOX. It is also possible to use them in any VST compatible DAW using the freely available ReaJS VST plugin that is able to interpret JSFX files.
SOX is a command line audio processing tool for Unix, Windows and Mac OS that transforms source audio files in several formats into other audio files.
The effects provided in this package are a complete rewrite of the sox algorithms for producing (bit-exact) identical renderings in the DAW. This can easily be checked by rendering some audio externally with SOX and internally with the plugins and subtracting the results. Apart from roundoff errors (SOX often uses 32bit integer processing, while EEL always uses double floating point processing) the results cancel out with typically a residual noise of about -140dBFS as shown in figure 1 below.
The main motivation for this package is to be able to play around with effects in Reaper and be sure that the external rendering by sox will produce exactly the same results. Although sox does not always provide the "best" effects, it still is a reliable and well-defined audio tool.
Because sox has rich command line options for its effects, not every effect configuration from sox can be transported into the slider oriented GUI for JSFX. E.g. the compander of sox allows the definition of a transfer function having multiple segments. Although the internal engine of the JSFX compander implements exactly the same internal segment logic, the user interface only allows the typical definition of a threshold and a compression ratio (with three segments).
Note also that a spiffy user interface is not at all a priority in this project.
The sox effects have been rewritten and restructured for easier maintenance, because in the original source there is some redundancy and unnecessary complexity due to its several contributors. Nevertheless the effects provided here faithfully model the SOX processing.
The following effects are supported:
Figure 2 shows an example of a two-band mcompander. Note that the interface just shows the input parameters. There is some option to view debug variables or inspect the JSFX memory, but no effect display of any kind. The focus lies on exact reproduction of the external sox commands within a DAW.
The installation in Windows is as follows:
Dr_TTin either the
Effectsdirectory of the Reaper installation (typically in
\Program Files\Reaper\Effects) or - if your DAW uses some different directory for JSFX files - in that directory.
*.jsfx-incfiles from the distribution into this directory. If helpful, also add the documentation from the root directory.
testto the effects sub-directory
Dr_TT\Testfor a regression test.
You can download the distribution from github. The complete PDF documentation can also be found here.