Jump to content

Smooth Crossfading in a Hex Layer Tone


AlenK

Recommended Posts

Many of the preset PCM melody tones offered by the XW-P1 (and by the XW-G1) offer velocity switching, which automatically switches between waves at preset velocity levels. Typically, two waves are used but a few voices switch between up to four. In almost all cases the purpose of the velocity switching is to introduce changes in harmonic content with increased playing force, which is a characteristic of acoustic and electromechanical instruments.
 
The Hex Layer mode of the XW-P1 goes further, allowing user programming of the velocity-switch points between up to six user-selectable waves. In that case the waves need not be related; they could be samples from different instruments. Some of the orchestral Hex Layer tones, such as OrchstralHEX (P4-4) do exactly that.
   
The only downside to using velocity switching to change harmonic content (timbre) with playing force for a single instrument is that the change can be rather abrupt, especially when only two waves are used. A much better method is crossfading, which can achieve the same thing in a smooth manner. Unfortunately, the XW-P1 doesn’t overtly support crossfading. However, it can still be done. This post describes one method using the Hex Layer mode.

 

One simple method of crossfading between two waves in a Hex Layer tone is to set the TouchSense parameter of one wave in a layer to a negative value and the TouchSense parameter of the other wave in a second layer to a positive value. The volume of the first wave will then reduce for larger velocities while the volume of the second layer increases. By adjusting the relative volumes and TouchSense values of the layers you can achieve crossfading while retaining some semblance of the normal dynamic response of the tone, which is normally still required. 
 
However, linear crossfading, which is all that is possible using only two layers, is not perceptually accurate. Perceptual accuracy requires a pair of non-linear curves that map velocity to volume. This can be accomplished by using more layers since the Volume and TouchSense parameters of each layer are completely independent. If we restrict each layer to a certain velocity range and use suitable values for those two parameters within each range we can do a piecewise-linear approximation of the curves required for an accurate crossfade. 

 

Here’s an example that uses all six layers for maximum accuracy. It splits the total velocity range from 000 to 127 into three ranges, with two layers in each. Three of the layers together approximate the crossfade curve for one wave, while the other three layers approximate the very different curve required for the other wave. The relevant settings are shown in the table below and the resulting piece-wise linear approximations to the required crossfade curves are shown in the attached illustration. 

 

 

Value

Parameter

L1

L2

L3

L4

L5

L6

LayerOn/Off

On

On

On

On

On

On

PCM Wave

WaveA

WaveA

WaveA

WaveB

WaveB

WaveB

Volume

-109

-068

-053

-032

-088

-034

TouchSense

+053

+083

+127

+063

000

-064

VelRangeLow

000

043

085

000

043

085

VelRangeHi

042

084

127

042

084

127

 

Unfortunately, the above method takes all six layers to crossfade between only two waves, which is a heavy price to pay. A somewhat less accurate approximation shown in the next table uses only four layers to crossfade, leaving two layers still available for other components of the composite tone. 

 

 

Value

Parameter

L1

L2

L3

L4

L5

L6

LayerOn/Off

On

On

On

On

On

On

PCM Wave

WaveA

WaveA

WaveB

WaveB

TBD

TBD

Volume

-083

-063

-031

-019

TBD

TBD

TouchSense

+053

+063

+057

-064

TBD

TBD

VelRangeLow

000

064

000

064

TBD

TBD

VelRangeHi

063

127

063

127

TBD

TBD

 

Example files for six layer (three-segment) and four layer (two-segment) crossfading are available here.

 

A diagram of the crossfade curves and their three-seqment piecewise linear approximations:

crossfade.png

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.