Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Inaccuracies in cpspch and cpsoct

Date2007-08-23 05:01
From"Michael Gogins"
SubjectRe: [Cs-dev] Inaccuracies in cpspch and cpsoct
What I would suggest in cases like this, is creating new names for the 
existing opcodes, and using the old names for the newer more precise or 
improved opcodes. Then if you are still actively using your patches and need 
them to sound as they do, you can edit them to sound the same as they did 
before. But those who are getting started with Csound, or were not aware 
that there were problems, will experience better sound with the documented 
opcodes.

Regards,
Mike

----- Original Message ----- 
From: "Jacob Joaquin" 
To: 
Sent: Wednesday, August 22, 2007 10:44 PM
Subject: Re: [Cs-dev] Inaccuracies in cpspch and cpsoct


>
> I suggest before any "fixes" are implented, that someone solicit the 
> opinions
> of those on the main list.  Many of them don't subscribe to the dev list,
> and some of them may or may not have strong opinions about this.
> Personally, I've been using cpspch for a decade, so I'm naturally 
> protective
> of my pitches being tampered (tempered) with.
>
> Best,
> Jake
>
> ---- 
> The Csound Blog
> http://www.thumbuki.com/csound/blog
>
>
>
>
>
>
> Michael Gogins wrote:
>>
>> I'm with you and Matt Ingalls on this. In cases where Csound got screwed
>> up,
>> AND it is not crystal clear that backward compatibility is required, we
>> should fix the existing opcodes.
>>
>> OTHERWISE, multiple versions of opcodes will pile up, as indeed they have
>> been piling up, and people will keep on using the old bad ones because
>> those
>> are the ones they see in the old example code, and the situation will 
>> stay
>> murky and muffle the power of Csound.
>>
>> I am a big supporter of backward compatibility -- it has given Csound all
>> the power that comes from a tradition and a body of work -- but there are
>> reasonable limits. In this case the additional complexity and confusion
>> are
>> not worth it.
>>
>> Regards,
>> Mike
>>
>
> -- 
> View this message in context: 
> http://www.nabble.com/Inaccuracies-in-cpspch-and-cpsoct-tf4313733.html#a12286616
> Sent from the Csound - Dev mailing list archive at Nabble.com.
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >>  http://get.splunk.com/
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2007-08-23 06:17
From"Steven Yi"
SubjectRe: [Cs-dev] Inaccuracies in cpspch and cpsoct
AttachmentsNone  

Date2007-08-23 14:46
FromJacob Joaquin
SubjectRe: [Cs-dev] Inaccuracies in cpspch and cpsoct
Now that John has reminded us of cps2pch, we now know there already exists a
high precision alternative in Csound. Leaving things the way they are might
be the least confusing option for users of Csound. Perhaps a note about
higher precision properties of cps2pch can be added to the entry for cpspch
in the manual.

There is still the issue of cpsoct.  I've never used it myself.  However, I
would still like to be able to render the works of others as accurately as
possible.

It would be interesting to know exactly when these opcodes were converted to
use lookup tables.

Best,
Jake

---- 
The Csound Blog 
http://www.thumbuki.com/csound/blog  





Steven Yi wrote:
> 
> I really dislike breaking backwards incompatibility for something like
> this but I'm also a bit split now on this issue.  I find it very
> important to me that projects render as created originally; I know I'd
> like to render my own projects years from now and have the work render
> as it was created. I often use cpspch as a start to get into a
> frequency area and sometimes tweak by ear, so I imagine it possible to
> hear differences, especially on glissandi between pitches where rates
> of beats are changing.
> 
> However, the opcode is certainly flawed but there may be many pieces
> which were created with this in the ear as the music was written.  If
> we're going to make a non backwards compatible change like this, then
> I would strongly recommend we have a very clear strategy on how to
> reproduce exactly the previous behavior.  In this case though it is
> not a simple answer as a UDO can not be the replacement as this is a
> function we are changing and there are no user-defined functions.  (A
> simple find and replace is not possible as cpspch can often be found
> in a ternary expression such as:
> 
> ipch = (p4 > 16) : p4 : cpspch(p4)
> 
> ).
> 
> So there's not a simple way for this.  Perhaps we should do like
> Michael mentioned and give the old opcode a new name.  We could create
> a legacy opcode library that has exact copies of the old versions of
> opcodes but with clear names, something like "legacy_cpspch".  That
> then would be easy to do a find/replace and can be instructed to users
> to use.  I still dislike that basically all pieces in the first 20
> years of Csound's history may potentially sound different than
> rendered originally though, but perhaps I'm overly worried and the
> difference really won't be noticeable or pleasantly so.
> 
> steven
> 

-- 
View this message in context: http://www.nabble.com/Inaccuracies-in-cpspch-and-cpsoct-tf4313733.html#a12293824
Sent from the Csound - Dev mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2007-08-23 18:48
Frommatt ingalls
SubjectRe: [Cs-dev] Inaccuracies in cpspch and cpsoct
AttachmentsNone  None  
i don't think find/replace to an old score is a great solution and do not like
making new names for new or old opcodes.   For the RARE cases when a person
wants to render an old score then there definitely should be a backwards compatibility
opcode library with the SAME names they can be installed to override the new ones.

i think far more important is having the better code be the most immediate/accessible.
Having many opcodes that do the same thing but named slightly different (with the
improved version always having some number tacked on to the end of the name)
is a terrible design IMO.  The recent threads on cpsmidi and this one proves that
point  -- users do not intuitively use (or even find!) the "improved" versions of the original
opcodes -- i would think in most cases you would want the improved version to be
the default!

-m


On Aug 22, 2007, at 10:17 PM, Steven Yi wrote:

I really dislike breaking backwards incompatibility for something like
this but I'm also a bit split now on this issue.  I find it very
important to me that projects render as created originally; I know I'd
like to render my own projects years from now and have the work render
as it was created. I often use cpspch as a start to get into a
frequency area and sometimes tweak by ear, so I imagine it possible to
hear differences, especially on glissandi between pitches where rates
of beats are changing.

However, the opcode is certainly flawed but there may be many pieces
which were created with this in the ear as the music was written.  If
we're going to make a non backwards compatible change like this, then
I would strongly recommend we have a very clear strategy on how to
reproduce exactly the previous behavior.  In this case though it is
not a simple answer as a UDO can not be the replacement as this is a
function we are changing and there are no user-defined functions.  (A
simple find and replace is not possible as cpspch can often be found
in a ternary expression such as:

ipch = (p4 > 16) : p4 : cpspch(p4)

).

So there's not a simple way for this.  Perhaps we should do like
Michael mentioned and give the old opcode a new name.  We could create
a legacy opcode library that has exact copies of the old versions of
opcodes but with clear names, something like "legacy_cpspch".  That
then would be easy to do a find/replace and can be instructed to users
to use.  I still dislike that basically all pieces in the first 20
years of Csound's history may potentially sound different than
rendered originally though, but perhaps I'm overly worried and the
difference really won't be noticeable or pleasantly so.

steven


On 8/22/07, Michael Gogins <gogins@pipeline.com> wrote:
What I would suggest in cases like this, is creating new names for the
existing opcodes, and using the old names for the newer more precise or
improved opcodes. Then if you are still actively using your patches and need
them to sound as they do, you can edit them to sound the same as they did
before. But those who are getting started with Csound, or were not aware
that there were problems, will experience better sound with the documented
opcodes.

Regards,
Mike

----- Original Message -----
From: "Jacob Joaquin" <jacobjoaquin@gmail.com>
Sent: Wednesday, August 22, 2007 10:44 PM
Subject: Re: [Cs-dev] Inaccuracies in cpspch and cpsoct



I suggest before any "fixes" are implented, that someone solicit the
opinions
of those on the main list.  Many of them don't subscribe to the dev list,
and some of them may or may not have strong opinions about this.
Personally, I've been using cpspch for a decade, so I'm naturally
protective
of my pitches being tampered (tempered) with.

Best,
Jake

----
The Csound Blog






Michael Gogins wrote:

I'm with you and Matt Ingalls on this. In cases where Csound got screwed
up,
AND it is not crystal clear that backward compatibility is required, we
should fix the existing opcodes.

OTHERWISE, multiple versions of opcodes will pile up, as indeed they have
been piling up, and people will keep on using the old bad ones because
those
are the ones they see in the old example code, and the situation will
stay
murky and muffle the power of Csound.

I am a big supporter of backward compatibility -- it has given Csound all
the power that comes from a tradition and a body of work -- but there are
reasonable limits. In this case the additional complexity and confusion
are
not worth it.

Regards,
Mike


--
View this message in context:
Sent from the Csound - Dev mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Csound-devel mailing list


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Csound-devel mailing list


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Csound-devel mailing list


matt ingalls




Date2007-08-23 19:08
FromFelipe Sateler
SubjectRe: [Cs-dev] Inaccuracies in cpspch and cpsoct
AttachmentsNone  None  None  

Date2007-08-23 21:02
Fromjpff
SubjectRe: [Cs-dev] Inaccuracies in cpspch and cpsoct
I have been looking at old sources and I think the table-driven cpspch
is not that old.  I think the evidence points to a Gabriel change
(group A1), but not sure of a date.
==John ffitch

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2007-08-24 18:35
Fromjeanluc
SubjectRe: [Cs-dev] Inaccuracies in cpspch and cpsoct
This discussion seems to have brought up a much larger issue than the
original post intended. I don't often post but there's a first time to
everything.
I am with Steve and Jake on this. The idea of breaking backward
compatibility is a very unpleasant one to my mind. It is very important to
me, and many other composers I'm sure, that my pieces render exactly as they
did when first written.  I also think it is one of the aspects that makes
csound such a powerful tool. Of course Csound needs to evolve and improve,
as it has, thanks to the wonderful work that many on this list have done
over the years and continue to do. However I don't believe that caring about
backward compatibility means living in the past. On the contrary, I believe
it is about ensuring its future.


Jean-Luc



Steven Yi wrote:
> 
> I really dislike breaking backwards incompatibility for something like
> this but I'm also a bit split now on this issue.  I find it very
> important to me that projects render as created originally; I know I'd
> like to render my own projects years from now and have the work render
> as it was created. I often use cpspch as a start to get into a
> frequency area and sometimes tweak by ear, so I imagine it possible to
> hear differences, especially on glissandi between pitches where rates
> of beats are changing.
> 

-- 
View this message in context: http://www.nabble.com/Inaccuracies-in-cpspch-and-cpsoct-tf4313733.html#a12316805
Sent from the Csound - Dev mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net