Csound Csound-dev Csound-tekno Search About

Re: Using ties

Date1999-03-04 08:50
FromSergey Batov
SubjectRe: Using ties
Hope this is the thing you are looking for (sorry, I can't tell who sent
this example. 
Is it possible to know who is the author ?)

Sergey Batov   batov@glasnet.ru

----------
> Îò: David Meckstroth 
> Êîìó: csound@maths.ex.ac.uk
> Òåìà: Using ties
> Äàòà: 4 ìàðòà 1999 ã. 9:07
> 
> Would someone be kind and send me a short example (sco & orc) (or point
me in
> a direction where I could find one) of how to use ties (tival, tigoto,
> fractional i #s).  Thank you in advance.  -David


; ============== tied notes.orc ========
sr	= 44100
kr	= 882
ksmps	= 50
nchnls	= 1


; Demonstration of portamento between tied notes
; This technique could be applied to other parameters and to
; non-tied notes with straightforward changes.
instr 5
	inote	= cpspch(p4)  ; This note's pitch

	; If this is not a tied note, then there's no previous
	; pitch to glide from, so set beginning pitch of
	; portamento to this note's pitch.  Then save this same
	; pitch in 'iprevpitch' so we can remember what pitch we
	; are coming from when we have a tied note.  We have to
	; save it both here and in the tied note case because if
	; we do it in a common place below, Csound complains about
	; iprevpitch being used before set.
	tigoto	tieinit

	; At this point we know we're not in a tied note.
	; Set beginning and previous pitches to the same thing.
	ibegpitch	= inote
	iprevpitch	= inote
	goto		cont

tieinit:
	; We're in a tied note.
	; Set up beginning pitch for portamento to new pitch.
	; Beginning pitch is pitch of previous note that this one is
	; tied onto the end of.  Save current pitch in case another
	; note ties onto this one; then we'll be able to portamento
	; again to that new pitch.
	ibegpitch	= iprevpitch
	iprevpitch	= inote

cont:
	; Now set up a pitch envelope that moves from the beginning
	; pitch (as determined above) to this note's nominal pitch.
	kpitchenv	linseg	ibegpitch, .9, inote, abs(p3), inote

	; Generate a sound using the pitch envelope.  Notice the
	; last 'buzz' argument (-1), which causes phase
	; initialization to be skipped.  This is important to avoid
	; clicks on tied notes.  (This simple example clicks on
	; untied notes, though, because there's no amplitude
	; envelope.)
	a1	buzz	10000, kpitchenv, 6, 1, -1
	out	a1
endin


;=========== tied notes.sco ====================

; A Little Test Music
f1 0 1025 10 1
;
i5.1	0.0	-2	7.00
i5.2	0.0	-2	7.04
i5.1	2.0	-2	7.07
i5.2	2.0	-2	7.11
i5.1	4.0	-2	6.07
i5.2	4.0	-2	7.00
i5.1	6.0	2	7.00
i5.2	6.0	2	6.00
e