Expert Sleepers Crossfade Loop Synth v3.2.
Copyright © 2011 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 7 Crossfade Loop Synth 7 Crossfade Loop Synth Effect 7 Installation 8 Mac OS X, Audio Unit (AU)! Mac OS X, VST! Windows (VST)! 8 8 8 System Requirements 8 Mac OS X! Windows! 8 8 Registration 9 Using Crossfade Loop Synth Using the controls Knobs! Sliders! Name/value display! Loading and manipulating samples Loading samples! Stepping through a folder of samples! Controlling sample playback! Setting the loop points and crossfade! Loop calibration! 10 10 10 10 10 10 10 1
Play Position Memory 14 Pulse Width 14 Hard Sync 14 LFOs 15 Pitch LFO! Filter LFO! Pulse Width LFO! Sync Detune LFO! 15 16 16 16 Drones 16 Pitch Wheel Range 16 Crossfade Loop Synth Effect 17 Compared to Crossfade Loop Synth 17 Recording 17 Record controls! Buffer size controls! Saving the sample to disk! Using the Effect as a Delay Preferences OSC Base Port! Constant redraw! Floating tooltip! Max buffer size! 17 18 18 18 19 19 19 19 20 MIDI control 21 OSC Control 22 Received OS
/registerUpdate i:param s:returnUrl s:returnPath! /unregisterUpdate i:param s:returnUrl s:returnPath! /getAllRegistered! /exec s:func ...! /call s:func s:returnUrl s:returnPath ...
requestProgramChange( pc, function )! requestPolyPressure( key, function )! requestPitchWheel( function )! requestChannelPressure( function )! 31 31 31 32 Pre-defined Global Values 32 Debugging 32 Mac OS X! Windows! 32 32 Version History 3.2.0 11/8/2011! 3.1.4 18/4/2011! 3.1.3 26/1/2011! 3.1.2 6/10/2009! 3.1.1 12/2/2009! 3.1.0 2/2/2009! 3.0.5 20/5/2008! 3.0.4 13/1/2008! 3.0.3 16/12/2007! 3.0.2 30/9/2007! 3.0.1 18/3/2007! 3.0.
Introduction Crossfade Loop Synth Crossfade Loop Synth is at heart a simple sample playback synth plug-in. It plays samples in the classic sampler manner - by simply altering the playback speed according to the desired note. No fancy timestretching or pitch shifting is applied. You can control how the sample is looped as it is played. An adjustable amount of crossfade can be applied to the loop endpoints to smooth the transitions. This makes it extremely easy to produce glitch-free pad sounds.
Installation Mac OS X, Audio Unit (AU) One file (ExSlXFadeLooper.component) contains all variants of the plug-in. Simply copy the file to the folder: Library/Audio/Plug-Ins/Components Mac OS X, VST There is one file per plug-in configuration, named ExSlXFadeLooper.vst and ExSlXFadeLooperEffect.vst. Simply copy the files to the folder: Library/Audio/Plug-Ins/VST Windows (VST) There is one file per xfadelooper_fx.dll. plug-in configuration, named xfadelooper.
Registration The downloadable version of Crossfade Loop Synth 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.4 (Mac OS X) or 1.0.11 (Windows) of the Licence Manager. The e-commerce side of things is handled by eSellerate.
Using Crossfade Loop Synth 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. The exception to the above are knobs which are actually ‘on/off’ buttons. These are coloured light grey in the interface.
Stepping through a folder of samples The two buttons below ‘Load Sample’, labelled ‘Prev’ and ‘Next’, let you quickly audition a number of samples, without having to repeatedly navigate through a file open dialogue. Starting at the currently loaded sample, the ‘Next’ button loads the sample in the same folder that follows alphabetically. Similarly, the ‘Prev’ button loads the sample that precedes the current one.
start when the note is first triggered. 'Loop Start' (green) sets the beginning of the looped section. 'Loop End' (red) sets the beginning of the looped section. NB when the Loop Mode is Reverse, Loop End is effectively the loop start and Loop Start is effectively the loop end. Also in this case the Start Offset should be set after Loop Start. 'Crossfade' (blue) sets the amount of crossfade or overlap applied at the beginning and end of the loop. Higher values will tend to smooth the loop transitions.
Envelopes Controls The amplitude and filter envelopes are both of the standard ADSR type, but with extra control over the shape of the curves. The upper 4 knobs control the attack time, decay time, sustain level and release time. The lower 3 knobs control the shape of the attack, decay and release curves. Infinite Release The filter envelope release setting has a special value (at full clockwise rotation of the control) labelled 'Inf'.
Play Position Memory The last control in the ‘Sample’ group, PPM provides variations on the idea that the sample should start playing from the position at which it last stopped playing. For example, if you had a sample of someone counting from one to ten, it might be useful to play a note which played ‘one, two, three...’, release the note, and then play the same note again for ‘four, five, six...’. The options are: • • • • • Off.
The ‘Sync’ control turns the effect on. It sets the length of the sample that is used for synthesis, in terms of a number of cycles at the reference frequency. Setting this to 1 will produce a most recognisable single tone - higher settings will produce more complex and possibly atonal waveforms. When Hard Sync is turned on, a small section of the sample at the loop start point is all that will be used.
Filter LFO Modulates the filter cutoff frequency by up to 3 octaves. Pulse Width LFO Modulates the pulse width control (see above). Sync Detune LFO Modulates the hard sync detune frequency (see above) by up to an octave. Drones You can turn on up to three notes to play continuously (like the drones on the bagpipes). This is mainly useful for the effect plugin (below) but has its uses for the synth version too.
Crossfade Loop Synth Effect Compared to Crossfade Loop Synth The effect version of Crossfade Loop Synth can do everything the synth version can - it simply adds more features. The primary difference is that you can record audio into the sample buffer. You can still load samples from disk too. You can play notes from the effect over MIDI, assuming your host application supports this (not all hosts allow passing notes to effects, only to synths).
Buffer size controls These controls together set the size of the recording buffer. The first control ‘Size’ simply sets the buffer size in seconds. The range of this control is a preferences setting - see below. The ‘Sync’ control has four settings - ‘Off’, ‘Off (Adaptive)’, ‘On’ and ‘On (Adaptive)’. In the ‘Off’ modes, the buffer size is set via the ‘Size’ control. In the ‘On’ modes, the remaining controls set the buffer size in terms of the host’s tempo.
Preferences Pressing the ‘Prefs’ button brings up a dialog where various preferences are set. These settings are shared by all instances of Crossfade Loop Synth, 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. Constant redraw Is on by default. If turned off, the GUI is only redrawn when a control changes.
Max buffer size This setting only affects the Effect version of the plug-in. It sets the range of the buffer size control. Setting this to higher values will consume a larger amount of your computer’s memory.
MIDI control All of Crossfade Loop Synth’s parameters can be controlled via MIDI CC’s (Continuous Controllers) according to the table below. CC 64 (sustain pedal) is also supported.
OSC Control From version 3.1.0 Crossfade Loop Synth 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.
/get 14 osc.udp://10.0.0.2:7000 “/foo” replies to 10.0.0.2:7000 with (assuming parameter 14 has the value 64.0) /foo 14 64.0 /getAll s:returnUrl s:returnPath Behaves exactly as if a /get message was received for every parameter. /getNumParameters s:returnUrl s:returnPath Responds by sending a message back to the returnUrl and returnPath with the parameters i:numParameters where ‘numParameters’ is the total number of parameters defined by the plug-in. E.g. /getNumParameters osc.udp://10.0.0.
/getAllRegistered Behaves exactly as if every parameter registered for updates with /registerUpdate had changed. A message will be sent for every such parameter. /exec s:func ... Executes the Lua function ‘func’, which is assumed to be defined by the MIDI & OSC scripting system (see below). OSC parameters following ‘func’ are passed through to the Lua function, as can best be managed given the varying limitations of the two.
/stopNote i:note f:velocity Stops playback of a note - equivalent of a MIDI note off message. ‘note’ is the MIDI note number; ‘velocity’ should be between 0.0 and 1.0. E.g. /stopNote 60 0.0 Note that the plug-in currently does not respond in any way to note off velocity. /loadSample s:filename Loads the given sample file - exactly as if the user had pressed the ‘Load Sample’ button and chosen the file from the dialogue. E.g. /loadSample “/Users/sleeper/audio/samples/moo.
MIDI & OSC Scripting Preamble From Crossfade Loop Synth v3.1.0 onwards it is possible to extend the plug-in’s MIDI & OSC functionality via user-writeable scripts. Indeed, the standard MIDI functionality described above has been re-implemented using such a script, which you can use as reference for your customisations. The language used for the MIDI scripts is Lua. You will find a complete description of the language, and some useful tutorials, at the Lua website: www.lua.
Script locations Crossfade Loop Synth looks for MIDI & OSC scripts in standard locations. Scripts must have the filename extension “.lua”.
pitch = getParameter( “Pitch” ) pitch = getParameter( paramID_Pitch ) setParameter( param, value ) Sets the value of the plug-in parameter. See the description of getParameter() for the meaning of ‘param’. E.g. setParameter( “Pitch”, 12.0 ) setParameter( paramID_Pitch, 12.0 ) getParameterMinMax( param ) Returns the minimum and maximum values allowable for a plug-in parameter. See the description of getParameter() for the meaning of ‘param’. E.g.
E.g. setOthersParameter( 2, paramID_Pitch, 12.0 ) getOthersParameter( id, param ) As getParameter(), but gets the parameter from another instance of the plug-in. See setOthersParameter() for a fuller explanation. E.g. pitch = getOthersParameter( 2, paramID_Pitch ) sendOSC( address, path [, format ] [, values ] ) Sends an OSC message. ‘values’ is an optional array of data items to be sent with the message.
end requestAllCC( handleCC ) requestAllNRPN( function ) Request that the given function be called in response to any MIDI non-registered parameter number (NRPN) event. E.g. local function handleNRPN( channel, nrpn, value ) -- do stuff end requestAllNRPN( handleNRPN ) requestAllProgramChange( function ) Request that the given function be called in response to any MIDI program change event. E.g.
requestCC( cc, function ) Request that the given function be called in response to the given MIDI continuous controller (CC) event. E.g. local function handleCC( channel, cc, value ) -- do stuff end requestCC( 20, handleCC ) requestNRPN( nrpn, function ) Request that the given function be called in response to the given MIDI non-registered parameter number (NRPN) event. E.g.
requestChannelPressure( function ) Request that the given function be called in response to a MIDI channel pressure (aftertouch) event. E.g. local function handleChannelPressure( channel, value ) -- do stuff end requestChannelPressure( handleChannelPressure ) Pre-defined Global Values The system defines some values before calling your script, which you can use to make the script’s behaviour dependent on, for example, what kind of computer you’re using.
Version History 3.2.0 11/8/2011 • • • Mac OS X AU & VST versions now support 64 bit operation. Timing of note playback much improved in the synth versions of the plug-in (now sample accurate). Fixed a bug which would cause the plug-in to attempt to load an empty filename when loading a song in Plogue Bidule. 3.1.4 18/4/2011 • Fixed a rare crash that could occur when automating parameters in Cubase, using the 64 bit version of Cubase and the 32 bit plug-in bridge. 3.1.
3.0.2 30/9/2007 • (AU version) Now responds properly to AudioUnitReset(), so in e.g. Logic the delay buffer will be cleared when song playback is started etc. 3.0.1 18/3/2007 • • Fixed crash bug when using Effect version with small (<64 samples) buffer sizes. Fixed failure in MOTU’s AU Examiner that prevented use in Digital Performer. 3.0.0 15/3/2007 • • • • • • • • First effect version. Added 'play position memory'. Added drones. Added pulse width modulation. Added ‘hard sync’. Added LFOs.
2.0.0 12/12/2004 • • • • • • • all-new GUI new 'reverse' and 'alternate' loop modes amplitude and filter envelopes now ADSR with adjustable shape added saturation section increased range of filter cutoff volume control now has a different response curve NB 2.0.0 is not compatible with 1.x presets 1.
0.1b 11/12/2002 • ! First beta release.
Release Notes v3.0.x and v3.1.x have a known issue in that PWM and Hard Sync don’t work well together. The intention is to re-implement PWM and release this as a free upgrade at some point in the future.
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.