Csound Csound-dev Csound-tekno Search About

[Cs-dev] feature request linsegr independence flag

Date2006-10-28 03:27
FromJonathan Murphy
Subject[Cs-dev] feature request linsegr independence flag
Hi Folks,

It would be great if linsegr (maybe eventually all of the "r" units)
had an independence flag a la envlpxr (irind). At the moment (unless
I'm missing something) envlpxr is the only envelope generator for midi
that can have a release time independent of the longest release time
in the instrument. This is sort of annoying, it would often be good to
be able to just use linsegr (no table for rise function, fast linear
envelope). If anyone has the time...

Thanks in advance,
Jonathan.

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2006-10-28 14:41
From"Dr. Richard Boulanger"
SubjectRe: [Cs-dev] feature request linsegr independence flag
This is a great suggestion.  I thought that they all had the  
independent flag.
If not, they should.

-dB

On Oct 27, 2006, at 10:27 PM, Jonathan Murphy wrote:

>
> Hi Folks,
>
> It would be great if linsegr (maybe eventually all of the "r" units)
> had an independence flag a la envlpxr (irind). At the moment (unless
> I'm missing something) envlpxr is the only envelope generator for midi
> that can have a release time independent of the longest release time
> in the instrument. This is sort of annoying, it would often be good to
> be able to just use linsegr (no table for rise function, fast linear
> envelope). If anyone has the time...
>
> Thanks in advance,
> Jonathan.
>
> ---------------------------------------------------------------------- 
> ---
> Using Tomcat but need to do more? Need to support web services,  
> security?
> Get stuff done quickly with pre-integrated technology to make your  
> job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache  
> Geronimo
> http://sel.as-us.falkag.net/sel? 
> cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2006-10-28 23:03
FromJonathan Murphy
SubjectRe: [Cs-dev] feature request linsegr independence flag
If they are already then that would be superb. The documentation is in
a bit of a mess, bits and pieces pasted together from different
opcodes, so it's hard to tell. I'm going by the syntax, which for
linsegr (for instance) is:

ares linsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz

kres linsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz

however the documentation for linenr reads:

These “r” units can also be modified by MIDI noteoff velocities (see
veloffs). If the irind flag is on (non-zero), the overall performance
time is unaffected by note-off and veloff data.

envlpxr is alone amongst these opcodes in having irind listed as part
of its syntax. It's a great envelope, k-rate amplitude parameter,
drawable rise function, but it's not appropriate for all
situations. 

Jonathan.

"Dr. Richard Boulanger"  writes:

> This is a great suggestion.  I thought that they all had the  
> independent flag.
> If not, they should.
>
> -dB
>
> On Oct 27, 2006, at 10:27 PM, Jonathan Murphy wrote:
>
>>
>> Hi Folks,
>>
>> It would be great if linsegr (maybe eventually all of the "r" units)
>> had an independence flag a la envlpxr (irind). At the moment (unless
>> I'm missing something) envlpxr is the only envelope generator for midi
>> that can have a release time independent of the longest release time
>> in the instrument. This is sort of annoying, it would often be good to
>> be able to just use linsegr (no table for rise function, fast linear
>> envelope). If anyone has the time...
>>
>> Thanks in advance,
>> Jonathan.
>>
>> ---------------------------------------------------------------------- 
>> ---
>> Using Tomcat but need to do more? Need to support web services,  
>> security?
>> Get stuff done quickly with pre-integrated technology to make your  
>> job easier
>> Download IBM WebSphere Application Server v.1.0.1 based on Apache  
>> Geronimo
>> http://sel.as-us.falkag.net/sel? 
>> cmd=lnk&kid=120709&bid=263057&dat=121642
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lis

Date2006-11-03 09:14
FromJonathan Murphy
SubjectRe: [Cs-dev] feature request linsegr independence flag
Sorry to continue to pester with this request, but ...

Actually, a better solution would be to get rid of the stipulation
that all "notes" will be extended by the longest release time amongst
"r" envelopes used. If this is impossible or undesirable for some reason and
anyone can explain the situation regarding these opcodes I would be
most grateful - and also happy to rewrite the documentation. I realise
that my original request was stupid, it merely amounts to telling
linsegr that it is actually linseg (but this means that the irind flag
for envlpxr is also pointless, and in hindsight is the cause of some
troubles that I've been having ...).

The reason that this seems important to me is that it is impossible,
as far as I can tell, to sculpt sounds as effectively as it should be
given the otherwise vast array of possibilities that csound offers. It
should be possible to control a basic two oscil, two envelope synth
(by way of an example), in realtime using MIDI, to the extent that
when csound receives a noteoff the envelopes each release according to
the value specified (irel in the case of linsegr), rather than
according to the longest of the two. This is even more the case when
one oscil modulates another, or when (trying) to use an envelope to
control a filter. The comparison (a > b ? irel = a : irel = b) seems
in itself to be a waste of time. Why not just irel1= a, irel2 = b?

Are the files that would need to be modified to implement this change
/OOps/ugens1.c & /H/ugens1.h? I've been looking at the sources (still
v. confusing at this point) and it seems that this is where the
envelopes live. Is this the case or do they have other homes as well?

Thanks in advance,
Jonathan.

Jonathan Murphy  writes:

> If they are already then that would be superb. The documentation is in
> a bit of a mess, bits and pieces pasted together from different
> opcodes, so it's hard to tell. I'm going by the syntax, which for
> linsegr (for instance) is:
>
> ares linsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
>
> kres linsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
>
> however the documentation for linenr reads:
>
> These “r” units can also be modified by MIDI noteoff velocities (see
> veloffs). If the irind flag is on (non-zero), the overall performance
> time is unaffected by note-off and veloff data.
>
> envlpxr is alone amongst these opcodes in having irind listed as part
> of its syntax. It's a great envelope, k-rate amplitude parameter,
> drawable rise function, but it's not appropriate for all
> situations. 
>
> Jonathan.
>
> "Dr. Richard Boulanger"  writes:
>
>> This is a great suggestion.  I thought that they all had the  
>> independent flag.
>> If not, they should.
>>
>> -dB
>>
>> On Oct 27, 2006, at 10:27 PM, Jonathan Murphy wrote:
>>
>>>
>>> Hi Folks,
>>>
>>> It would be great if linsegr (maybe eventually all of the "r" units)
>>> had an independence flag a la envlpxr (irind). At the moment (unless
>>> I'm missing something) envlpxr is the only envelope generator for midi
>>> that can have a release time independent of the longest release time
>>> in the instrument. This is sort of annoying, it would often be good to
>>> be able to just use linsegr (no table for rise function, fast linear
>>> envelope). If anyone has the time...
>>>
>>> Thanks in advance,
>>> Jonathan.
>>>
>>> ---------------------------------------------------------------------- 
>>> ---
>>> Using Tomcat but need to do more? Need to support web services,  
>>> security?
>>> Get stuff done quickly with pre-integrated technology to make your  
>>> job easier
>>> Download IBM WebSphere Application Server v.1.0.1 based on Apache  
>>> Geronimo
>>> http://sel.as-us.falkag.net/sel? 
>>> cmd=lnk&kid=120709&bid=263057&dat=121642
>>> _______________________________________________
>>> Csound-devel mailing list
>>> Csound-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>
>>
>> -------------------------------------------------------------------------
>> Using Tomcat but need to do more? Need to support web services, security?
>> Get stuff done quickly with pre-integrated technology to make your job easier
>> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sou

Date2006-11-03 12:35
FromJonathan Murphy
SubjectRe: [Cs-dev] feature request linsegr independence flag
LOL. Of course it's possible. I'll post the UDO and submit corrected
versions of the documentation for xtratim and release.
 
Jonathan.

> it is impossible, as far as I can tell, to sculpt sounds as
> effectively as it should be given the otherwise vast array of
> possibilities that csound offers.









  sr	    =  48000
  ksmps	    =  16
  nchnls    =  2

  gisin	    ftgen     1, 0, 16384, 10, 1

            ctrlinit 1, 7,64

    opcode envelope, a, kiiii

  kamp, iatt, idec, isus, irel			  xin
 
	    xtratim   irel
  krel	    init      0
  krel	    release
if (krel == 1) kgoto rel
  aenv1	    linseg    0, iatt, 1, idec, isus
  aenv	    =  aenv1 * kamp
	    kgoto     done
rel:
  aenv2	    linseg    1, irel, 0
  aenv	    =  aenv1 * aenv2 * kamp
done:

	    xout      aenv

    endop
 

    instr 1

  kcps	    cpsmidib
  ivel	    ampmidi   32

  kamp	    ctrl7     1, 7, 0, 127
  kamp	    =  kamp * ivel

  iatt1	    =  0.03
  idec1	    =  1
  isus1	    =  0.5
  irel1	    =  1

  iatt2	    =  0.03
  idec2	    =  1
  isus2	    =  0.5
  irel2	    =  2

  aenv1	    envelope  kamp, iatt1, idec1, isus1, irel1
  aenv2	    envelope  kamp, iatt2, idec2, isus2, irel2

  aosc1	    oscil     aenv1, kcps, 1
  aosc2	    oscil     aenv2, kcps * 1.5, 1
 
	    outs      aosc1, aosc2

    endin





i1 0 60






-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2006-11-03 23:18
FromJonathan Murphy
SubjectRe: [Cs-dev] feature request linsegr independence flag
Attachmentsrelease.txt  xtratim.txt  xtratim.csd  None  None  
Please find attached revised documentation for release and xtratim
opcodes, along with a new example for xtratim. "envelope", a UDO which
makes use of these opcodes for the purposes that I was hoping for has
been added to the repository.

Thanks,
Jonathan.