<   Score file with xsynpitch appendage for Library algorithm  ### bsn ###
COMMENT pitch is derived from lpc analysis of sflib/x soundfile "joan.gf4..wav";
COMMENT bsn pitch is derived from xsynpitch module for 1st 7 notes, with transpositions 
COMMENT that are the same as for the xsyn formant shifts ; lpc pitch data is not 
COMMENT  used for note 8.  
COMMENT Note that the bsn attacks survive in the cross-synthesis, even though the
COMMENT soprano amplitude envelope is used
COMMENT The orchestra for this score is:
COMMENT		SETUP(22050,2205,1)
COMMENT		XSYNPITCH
COMMENT		BSN([XSYN]) 

* f100 0 1024 10 1.;			< SINE WAVE
* f50 0 65 7 0 64 1.;                   < linear up
* f51 0 65 7 1. 64 0;                   < linear down 
* f52 0 65 7 0 32 1. 32 0;              < linear pyramid: up-down 
* f53 0 65 7 1. 32 0 32 1.;             < inverted linear pyramid: down-up 
* f60 0 65 5 .01 64 1.;	                <exponential up      
* f61 0 65 5 1. 64 .01;	                <exponential down
* f62 0 65 5 .01 32 1. 32 .01;          <exponential pyramid: up-down)
* f70 0 32 -2 15 12 13 -5 -4 -7 -10 -11 3 -10 -11 0 -4 5 8 10 11 14 8 5 7 10
              4 0 10 12 11 9 12 13 14 11 ; < detuning
< Functions needed: linear functions (50-53) 60 100 70 (intonation detuning)

BSN 0 0 8;
p3 4;                                                                
du  .99;                                                                    
p4 no fs4*7/ fs3;                       < pitch
p5 8000;                                 < amplitude                
p6 .1;                                   < attack time .06-.07 ord
p7  .1;                                  < decay  time
p8 1.;                                   < atss (c. .85)
p9          < {detuning p-field}

p10 .8;                             < attack hardness (.8-1.4)
p11 .28;                            < vibrato width(1. .28 .31)
p12 1.;                             < 1st vibrato rate(c. 4.-5.5)
p13 5.;                             < 2nd vibrato rate(c. 3.-5.5)
p14 52;                             < vib. rate change  func.(usually 50 or 52)
p15 1;                              < brightness(.8-1.4)

< Presets: p16-p17 ; but to get rid of detuning,make p17 "0"      
p16 .45 .2 .5 .55 -.3 -.6;        <small rand. value added to index & inton.
p17 1. .1 .99;                    <reseeds rand generators

define([NEWPAR],18)dnl COMMENT PAR1 (first unused p-field) for bsn
< XSYN POST-PROCESSING:
include(CSLIBDIR/Include/pfields.h)
    < functions 96 & 97 are optional, if tables are used for begin & end times
    < f96 specifies times to begin reading lp.m; start with 2nd location
    < f97 specifies times to end reading lp.m ; start with 2nd location
< *f96 0 size -2 0 
< *f97 0 size -2 0 

PAR1 9;           < link file lp.9 points to /sflib/anal/lpc/22joan.gf4.lpc
  < PAR2 = time in orig. soundfile to BEGIN reading
PAR2
  < PAR3 = time in orig. soundfile to END reading;if neg. = index to f96 & f97
PAR3 5.79;
<OPTIONAL PARAMETERS :PAR4 through PAR13 (any of these fields can be left blank)
    < PAR4 & PAR5 : TRANSPOSITION of FORMANTS; if PAR4 = 0 no change
    < if PAR4 = 1, PAR5 = multiplier ; if PAR4 = 2, PAR5 = semitone 
    < (integer portion) and/or microtonal (fractrional portion) transposition
PAR4 nu 0/ 2*6/ 0;         < Flag : 0,1 or 2
PAR5 nu 0/ -1/ +1/ -5/ +5/ +10/ -10/ 0;   < formant multiplier or transposition
    < BRIGHTNESS : PAR6 & PAR7  ; if PAR6 = 0 no change
    < if PAR6 = 1, ptrack pitch used for filter center freq.;
    <  any other PAR6 value = new filter center freq. in cps or pch
PAR6
  < PAR7 :  brightness modifier: range -1. (least bright) to +1. (brightest)
PAR7                    
    < PAR8 : Add White noise : if PAR8 = 0, no noise added; if positive
    < between .001 & 1., specifies constant noise % added; if negative
    < (e.g. -.01), specifies MINIMUM % noise added
PAR8 
< Amplitude : PAR9 through PAR12
    < Envelope: if PAR9 = 0, lp.m file envelope used ;if PAR9 = -1,
    < internal mix of lp.m file & driver envelopes ; if PAR9 is between .001
    < and +1., a mix of the driver & lp.mfile envelopes is done, with PAR9
    < specifying the % of driver envelope
PAR9 
PAR10                     < amplitude multiplier
PAR11                     < fade-in time
PAR12                     < fade-out time
    < PAR13 : Attack hardness : if PAR13 = 0, no change . Range is -1.
    < (greatest smoothing of attack) to +1. (hardest attack)
PAR13 
include(/usr/local/lib/olib/Include/lpcpitch_defs)
< XSYNPITCH : passes pitch data from an LPC analysis file to driver instrument
 < xsynPitchFlag = flag field; if 0, xsynPitchTransp = multiplier for LPC pitch data
 < if xsynPitchFlag = 1,xsynPitchTransp = semitone (int.) & microtone (frac.) transposition
 < if xsynPitchFlag = -1, LPC pitch data is not used; internal p4 pitch used instead
 < if xsynPitchFlag = 2,xsynPitchTransp ignored;pitch transp. = formant transp.(PAR5 & PAR6)
xsynPitchFlag  nu  2 * 7 / -1;                   < 0, 1, 2, or -1
xsynPitchTransp      < not used : transposition = format transpositions (PAR4 & PAR5)
                     < for the 1st 7 notes; for the last note, p4 pitch is used
end; <<< End of ### bsn ### score with xsyn & xsynpitch appendages>>>
