| Message written at 21 Mar 1999 17:54:39 +0000
I have started the process to place v3/53 on the servers. I attach
shortened release notes.
==John ffitch
------------------------------------------------------------------------
Release Notes for 3.53
======================
These are the release notes for version 3.53.
Bug Fixes
---------
In vdelay it was possible for an error on wrapping the delay
(PC only) the shaker opcode did not work due to a file transfer
failure.
envlpxr could cause a crash due to a typing error
Bug in wgflute which caused silent notes eliminated
Bug in diskin/soundin fixed
cpsmidi nolonger attempts to track pitchbend
Language Changes
----------------
Internal changes to NeXT added in many places (thanks to Stephen Brandon)
Strings are now recognised in scores for a large number fo opcodes
(convolve, adsyn, diskin, soundin, pvoc etc.
ftlen upgraded so it works with deferred function tables (it loads the
file)
opcode ondur/ondur2 renamed to noteondur/noteondur2.
peakk renamed peak (with internal discrimination)
Inside [] in the score the form ~ will give a randon number in the
range 0 to 1.
Opcode Fixes
------------
ftsr -- this opcode/function got lost at some stage, mea culpa
mandol -- not accepts a negative base-frequency to skip initialisation
In various wg opcodes, if minimum frequency is not given and the
frequency is a k-rate value, instead of an error, a minimum of 50Hz is
assumed with a warning
New Opcodes
-----------
nestedap -- nested allpass filters
lorenz -- ode generator
pitch -- a spectrum-based pitch-tracker
Other Changes:
-------------
Windows GUI Changes
-------------------
------------------------------------------------------------------------
==John ff
1999 Spring Equinox
========================================================================
nestedap implements three different nested all-pass filters useful for
implementing reverbs.
aout nestedap asig, imode, imaxdelay, idelay1, igain1 [, idelay2, igain2,
idelay3, igain3]
Mode 1 is a simple all-pass filter:
__d1,g1__
| |
v v
------------->
Mode 2 is a single nested all-pass filter:
__d1,g1____
| _d2,g2_ |
| | | |
v v v v
---------------->
Mode 3 is a double nested all-pass filter:
__d1,g1______________
| _d2,g2_ _d3,g3_ |
| | | | | |
v v v v v v
-------------------------->
Note imaxdelay is not currently used but will be necessary if k-rate delay
is implemented.
Example:
instr 5
insnd = p4
gasig diskin insnd, 1
endin
instr 10
imax = 1
idel1 = p4
igain1 = p5
idel2 = p6
igain2 = p7
idel3 = p8
igain3 = p9
idel4 = p10
igain4 = p11
idel5 = p12
igain5 = p13
idel6 = p14
igain6 = p15
afdbk init 0
aout1 nestedap gasig+afdbk*.4, 3, imax, idel1, igain1, idel2, igain2, idel3, igain3
aout2 nestedap aout1, 2, imax, idel4, igain4, idel5, igain5
aout nestedap aout2, 1, imax, idel6, igain6
afdbk butterlp aout, 1000
outs gasig+(aout+aout1)/2, gasig-(aout+aout1)/2
gasig = 0
endin
f1 0 8192 10 1
; Diskin
; Sta Dur Soundin
i5 0 3 1
; Reverb
; Sta Dur Del1 Gain1 Del2 Gain2 Del3 Gain3 Del4 Gain4 Del5 Gain5 Del6 Gain6
i10 0 4 97 .11 23 .07 43 .09 72 .2 53 .2 119 .3
------------------------------------------------------------------------
lorenz implements the lorenz system of equations:
ax, ay, az lorenz ksv, krv, kbv, kh, ix, iy, iz, iskip
instr 20
ksv = p4
krv = p5
kbv = p6
ax, ay,az lorenz ksv, krv, kbv, .01, .6, .6, .6, 1
outs ax*1000, ay*1000
endin
; Lorenz system
; Sta Dur S R V
i20 5 1 10 28 2.667
------------------------------------------------------------------------
pitch is a spectrum-based pitch tracker
koct, kamp pitch asig, iupdte, ilo, ihi, idbthresh[, ifrqs, iconf, istrt,
iocts, ifrqs, iq, inptls, irolloff, istor]
The input signal is analysed to give a pitch/amplitude pair for the
strongest pitch in the signal. The value is updates every iupdte
seconds.
INITIALISATION
ilo, ihi -- range in which pitch is detected (as decimal octaves)
idbthresh -- energy level in decibells necessary for pith to be
detected. Once started it continues until it is 6bd down
iconf -- the number of conformations needed for an octave jump.
Default value is 10
istrt -- starting pitch for tracker, defaults to average of ilo and
ihi.
iocts -- number of octave decimations in spectrum, defaulting to 6
ifrqs -- number of divisons of an octave, defaults to 12 and is
limited to 120
iq -- Q rate of analysis, dafaulting to 10
inptls, irolloff -- number of harmonic partials used in matching.
Defaulst to 4 and 0.6
istor -- is none zero skips initialisation
PERFORMANCE
Using the same techniques as spectrum and specptrk estimates the pitch
of the signal. Pitch is reported in decimal octave form, and
amplitude in db
While the default settings are reasonable for general use, some
experimentation may be necessary for complex sounds.
------------------------------------------------------------------------
|