Expert Sleepers Spectral Conquest v1.0.
Copyright © 2010 Expert Sleepers. All rights reserved. This manual, as well as the software described in it, is furnished under licence and may be used or copied only in accordance with the terms of such licence. The content of this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Expert Sleepers. Expert Sleepers assumes no responsibility or liability for any errors or inaccuracies that may appear in this document.
Contents Introduction Acknowledgements! Installation 6 6 7 Mac OS X, Audio Unit (AU)! Mac OS X, VST! Windows (VST)! 7 7 7 System Requirements 7 Mac OS X! Windows! 7 7 Registration 8 Using Spectral Conquest 9 Using the controls Knobs! Value edit boxes! Name/value display! 9 9 9 9 Overview 10 Spectrum Plot 10 View 10 X/Y Axis! Min/Max dB! Min/Max Lin! Smooth! Process Input! FFT Size! Output! Mix Dry! Wet! 10 10 10 11 11 11 11 11 11 11 11
Buttons 11 Script 12 Script! Run When! Param 1-4! Built-in Scripts Shift! Reverse! Low Pass! High Pass! Band Pass! Gate! Preferences OSC Base Port! Eye candy! Constant redraw! Floating tooltip! 12 12 12 12 12 12 12 12 13 13 14 14 14 14 14 MIDI control 15 OSC Control 16 Reference MIDI & OSC Scripting 16 16 Reference 16 Script locations 16 Spectral Scripting addSpectralScript( name, function )! copyBin( from, to )! multiplyBin( index, multiplier )! swapBins( index1, index2 )! getBin( ind
Version History 21 Contact 22 Acknowledgements 23 Lua 23 oscpack 23 glew 24 FreeType 25 FTGL 25 libpng 25 zlib 25
Introduction Spectral Conquest is an effect plug-in that lets you directly manipulate the frequency spectrum of audio signals. The incoming signal is analysed via a FFT (Fast Fourier Transform), resulting in the familiar spectrum plot where the full audio spectrum is split into a number of narrow frequency bands. The outgoing audio is then regenerated by an Inverse FFT. The interesting bit is that the plug-in lets you modify the frequency spectrum in between.
Installation Mac OS X, Audio Unit (AU) The plug-in file is called ExSlSpectralConquest.component. Simply copy the file to the folder: Library/Audio/Plug-Ins/Components Mac OS X, VST The plug-in file is called ExSlSpectralConquest.vst. Simply copy the file to the folder: Library/Audio/Plug-Ins/VST Windows (VST) The plug-in file is called spectralconquest.dll. Simply copy the file to your VST plug-ins folder. System Requirements Mac OS X Spectral Conquest requires at least Mac OS X version 10.5.8.
Registration The downloadable version of Spectral Conquest stops working after 15 minutes every time you use it. To stop this happening, you need to buy a registration. You can buy a registration key online using a credit card or PayPal from the Expert Sleepers Licence Manager application. See here for more information. Note that you need at least version 1.0.16 of the Licence Manager. The e-commerce side of things is handled by eSellerate.
Using Spectral Conquest Using the controls Knobs Basic use of the knobs is to click on them and drag the mouse up and down. However you can obtain different results by holding keys as follows: • • • Shift : Values change more slowly as you move the mouse. Command1 (Mac OS X)/Alt (Windows) : The knob assumes its default position. Option 2 (Mac OS X)/Control (Windows): The knob assumes integer values only. Value edit boxes These boxes (below each knob) let you enter parameter values directly.
Overview Most of the plug-in GUI is devoted to the spectrum plot and the area that controls the frequency band or ‘bin’ multipliers. Below this is a row of controls, broken down into sections. The ‘Process’ and ‘Mix’ sections control the basic audio processing. The ‘View’ section controls the appearance and behaviour of the spectrum plot. The ‘Script’ section controls the scripted functions. Above the spectrum plot is a row of buttons most of which quickly set the bin levels to preset values.
Smooth The ‘Smooth’ knob controls the filtering of the spectrum display. Note that this affects the visual appearance of the display only - it does not affect the audio processing in any way. Process The ‘Process’ section controls some fundamental aspects of the audio processing. Input The ‘Input’ knob controls the gain applied to the signal on the way in to the plug-in.
Script The ‘Script’ section offers control over the scripted functions. Script This drop-down menu lets you select a script to use, or ‘Off’ for no script. Run When This drop-down menu lets you choose when the script is run - before or after the bin multipliers have been applied. Param 1-4 These knobs set the parameter values that are passed to the script. Their exact meaning depends on the script chosen. Built-in Scripts The following scripts are defined by the plug-in itself.
Param 2 sets the filter frequency. Band Pass A band pass filter. Bin levels are faded off around a centre frequency. Param 2 sets the filter centre frequency. Param 3 sets the falloff rate. Gate A gating effect. Depending on a mode setting, each bin level is set to zero if it is either below or above a certain threshold level. Param 2 sets the threshold level. Param 3 sets the mode.
Preferences Pressing the ‘Prefs’ button brings up a dialog where various preferences are set. These settings are shared by all instances of Spectral Conquest, and are not stored with presets. The top section shows the product version. The central section will show your serial number once you’ve bought a registration. OSC Base Port Sets the base port number for OSC. See the section on OSC, below. Eye candy Enables the pretty graphics.
MIDI control All of Spectral Conquest’s parameters can be controlled via MIDI CC’s (Continuous Controllers) according to the table below.
OSC Control Spectral Conquest can be controlled via the Open Sound Control (OSC) protocol. If you’re new to OSC, start by visiting opensoundcontrol.org. Two settings control what port the plug-in uses to listen on for OSC commands. One is the base OSC port, set in the preferences. The second is the OSC Port Offset control. If the port offset is set to something other than ‘Off’, then the two numbers are added together and the result used as the port number. E.g.
Spectral Scripting The scripts that are available via the ‘Script’ controls as described above are defined in exactly the same way as the MIDI/OSC scripts. Please review the ‘MIDI & OSC Scripting Manual’ for details. In addition to the functions defined for MIDI control, Spectral Conquest defines the following functions for writing scripts to process the spectrum. addSpectralScript( name, function ) This is the main function that lets you add a new script to the range available.
swapBins( index1, index2 ) Swaps the values of bin ‘index1’ with bin ‘index2’. getBin( index ) Returns the value of bin ‘index’. The bin values are complex numbers, represented by a pair of values. E.g. local re, im = getBin( i ) setBin( index, re, im ) Sets the value of bin ‘index’ to the complex number represented by the pair of values ‘re’ and ‘im’. getBinMagnitudeSqr( index ) Returns the square of the magnitude of bin ‘index’. zeroBin( index ) Sets the value of bin ‘index’ to zero.
local swapBins = swapBins for i=0,(maxBin-1)/2,1 do swapBins( i, maxBin-i ) end local shift = state.param1 state.param1 = shift - (maxBin-1)*3/4 scriptedShift( state ) state.param1 = shift end local function scriptedBrickWallLPF( state ) local maxBin = state.maxBin local cutoff = state.param2 * maxBin local setBin = setBin for i=cutoff,maxBin,1 do setBin( i, 0, 0 ) end end local function scriptedBrickWallHPF( state ) local maxBin = state.maxBin local cutoff = state.
threshold = threshold ^ 2 if state.
Version History 1.0.0 1/7/2010 • ! First release.
Contact The Expert Sleepers website is here: http://www.expert-sleepers.co.uk/ Or you can email info@expertsleepers.co.uk Or you can use the forum, which is here: http://www.kvraudio.com/forum/viewforum.
Acknowledgements The software described in this manual makes use of the following open source projects. The author is greatly indebted to them for their efforts and generosity. Below are reproduced the various copyright notices and disclaimers that accompany these software projects, in accordance with their terms of use. Lua Copyright (C) 1994-2008 Lua.org, PUC-Rio.
glew The OpenGL Extension Wrangler Library Copyright (C) 2002-2007, Milan Ikits Copyright (C) 2002-2007, Marcelo E. Magallon Copyright (C) 2002, Lev Povalahev All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. FreeType The FreeType Project is copyright (C) 1996-2000 by David Turner, Robert Wilhelm, and Werner Lemberg.