[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sc-dev] Event's sustain
- To: sc-dev@xxxxxxxxxxxxxxxx
- Subject: Re: [sc-dev] Event's sustain
- From: James Harkins <jamshark70@xxxxxx>
- Date: Sun, 30 Nov 2014 11:19:54 +0800
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201307; t=1417317598; bh=kc+qjs7Nsc4M4khIwpZY4deTzO/2/8nCEZ6g4vaC8YY=; h=X-QQ-mid:Received:X-QQ-SSF:X-QQ-FEAT:X-QQ-GoodBg:Date:Message-ID:From:To:Subject:In-Reply-To:References:User-Agent:MIME-Version:Content-Type: X-QQ-SENDSIZE:X-QQ-FName:X-QQ-LocalIP; b=Mk5ENO8SmzTsuKbeBu5x2c7LxvB+56v5FvWSRpcOP4BjUyN8Ecq9GRMv2Aa9ol8kg SsXgVp/obvuaHLu87TB3SWOIE/1fY1OwRSgivMsiqsWAyrbHBDfZXXtdW5hK11xMZL IV5pstV6fDeU6n62Ibfdn2huIhUJtIMxiSpTeOW4=
- In-reply-to: <84734924-F492-433D-84E7-C9088ADB6FFA@gmail.com>
- List-id: SuperCollider developers mailing list <sc-devel.create.ucsb.edu>
- References: <84734924-F492-433D-84E7-C9088ADB6FFA@gmail.com>
- Reply-to: sc-dev@xxxxxxxxxxxxxxxx
- Sender: owner-sc-dev@xxxxxxxxxxxxxxxx
- User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/24.3 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)
At Sat, 29 Nov 2014 15:02:23 +0100,
yota morimoto wrote:
> When using event from Pbind, sustain is calculated as:
> sustain: #{ ~dur * ~legato * ~stretch };
>
> which makes legato inconsistent between different tempi.
>
> When TempoClock's tempo is 1,
> ~legato = 0.5 is staccato,
>
> but in other cases like tempo is 3,
> ~legato = 0.5 isn't staccato anymore; it overlaps to the next event
>
> To me it is a problem so
> what I did in Event, to fix this in a crude way is;
> sustain: #{ ~dur * ~legato * ~stretch * TempoClock.default.tempo.reciprocal }
Along with Daniel, I'll have to advise against doing this.
~sustain defines the time at which the event will send a release message to the node: the release will be sent at the current time + ~sustain. (Time is measured in beats.) It's going to be a mess if ~sustain is calculated differently at different tempi. It's a fairly low-level parameter, whose meaning needs to be clear, simple and consistent.
(Note also that you might not be playing on the default TempoClock. If you need to refer to a clock, use thisThread.clock.)
The key point from Daniel's reply is that the default SynthDef has a fairly long release (300 ms). This is unlikely to feel like crisp articulation at any tempo. If you need a staccato feel, then the better approach is to specify the sustain time for the length of note that you want AND provide a SynthDef that releases quickly. (Reductio ad absurdum: I could write a SynthDef for a pad, with a slow attack and release, and then complain that I can't get staccato from it. Blaming it on the default event prototype would be a nonsensical diagnosis.)
hjh
_______________________________________________
sc-dev mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/