lorisnoisewarp
lorisnoisewarp Compress, expand or invert noise coefficients based on a central noise coefficient and a warp coefficient.
Syntax
lorisnoisewarp isrcidx, istoreidx, kCentralNoise, kWarpCoeff [, kdbScale ]
Description
If kWarpCoeff is 1, noise coefficients stay the same. As kWarpCoeff approaches 0, all noise coefficients move proportionally towards kCentralNoise. At 0, all noise coefficients are equal to kCentralNoise. As kWarpCoeff approaches -1, noise coefficients are effectively inverted around kCentralNoise. kWarpCoeff may be any float but noise coefficients over 1.0 will be clipped.
The equation for this calculation is: kCentralNoise + kWarpCoeff*(partialNoise - kCentralNoise).
Initialization
isrcidx is an integer label that identifies the stored set of SDIF partials that are used. Use lorisread to import partials from an SDIF file, store them in memory and assign a label.
itgtidx is an integer label where the partial data created by this opcode will be stored. This label may be subsequently used with any other loris opcode for further transformation or resynthesis with lorisplay. if itgtidx and isrcidx are identical then isrcidx is overwritten.
Performance
kCentralNoise is the noise coefficient central to all compression/expension/inversion.
kWarpCoeff is a float that describes the degree of noise coefficient warping.
kdbScale is a value in dB which scales the amplitudes of partials after warping. A value of 0 gives no change, -3 multiplies partials by 0.707, +6 multiplies partials by 2.00. This is primarily intended to help mitigate clipping.
Warning! Only an SDIF file that uses the RBEP frame type will contain bandwidth-enhanced partials (noise coefficients). If you are using another frame type (such as Audiosculpt's or SPEAR's 1TRC), resynthesis will work properly but all noise coefficients will be 0. You can alter them, but only at your own peril!Credits
The Loris unit generators were written by Kelly Fitz (loris@cerlsoundgroup.org). It is patterned after a prototype implementation of the lorisplay unit generator written by Corbin Champion, and based on the method of Bandwidth-Enhanced Additive Synthesis and on the sound morphing algorithms implemented in the Loris library for sound modeling and manipulation. The opcodes were further adapted as a plugin for Csound 5 by Michael Gogins. Ben Hackbarth (hackbarth@ucsd.edu) wrote the Extended Loris Opcodes.