Re: [Cs-dev] Inaccuracies in cpspch and cpsoct
Date | 2007-08-22 22:25 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
This should definitely be changed. It's not backward compatibility, it's they got it wrong in the first place. The same goes for the constants. They should be stated to the maximum possible precision. There are probably other relics of the days when computers had 1/1000th the memory and 1/1000th the speed that we now have. Regards, Mike -----Original Message----- >From: Anthony Kozar |
Date | 2007-08-22 23:11 |
From | Jacob Joaquin |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
I'm not comfortable with this idea. We're talking about making changes to a large body of legacy compositions and instruments. Yes, these changes will be minor. However, it is often the subtle nuances that give art character. Another way to look at this is to think of these "inaccuracies" as micro temperaments inherent in classic computer music technology. Instead, I recommend adding new high precision opcodes, that will always opt for the highest precision available at the time. For example, pcpspch - Precision CPS to pitch. Best, Jake ---- The Csound Blog http://www.thumbuki.com/csound/blog Michael Gogins wrote: > > This should definitely be changed. It's not backward compatibility, it's > they got it wrong in the first place. > > The same goes for the constants. They should be stated to the maximum > possible precision. > > There are probably other relics of the days when computers had 1/1000th > the memory and 1/1000th the speed that we now have. > > Regards, > Mike > -- View this message in context: http://www.nabble.com/Inaccuracies-in-cpspch-and-cpsoct-tf4313733.html#a12283922 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 |
Date | 2007-08-22 23:18 |
From | "Steven Yi" |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
Attachments | None |
Date | 2007-08-22 23:35 |
From | matt ingalls |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
Attachments | None None |
i'll say again IMO backwards compatibility is not that big of a deal -- if you change something for the better, GREAT - just move the old opcode code into a plugin opcode! -- you guys gotta stop living in the past! i still want to make an entirely new set of "basic" opcode set that would revise, consolidate, or remove about 75% of the opcodes to be used as a primary set of opcodes (originally will just be wrappers for the current ones) -- but that's going to have to wait till i get fired or the company goes under (any day now..) -m On Aug 22, 2007, at 3:11 PM, Jacob Joaquin wrote:
matt ingalls |
Date | 2007-08-23 01:12 |
From | Anthony Kozar |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
While this situation has been around for awhile (I don't know exactly how long), it appears from a comment in the manual entry for cpsoct that it originally did the exponential calculation without a lookup table. I agree that changing the calculation may introduce subtle differences in some existing works -- most likely in the perceived timbres of sustained tones -- but in most cases the pitch differences will be imperceptible because they are less than one cent. I am worried that if we keep it as is, the inaccuracies may affect pieces that rely on precise pitch relationships (although it may not be much of a concern to people working in just intonation, like myself, since in this case using cpspch and cpsoct does not make much sense). It could be very frustrating for a user to spend days trying to figure out why tones generated by Csound are slightly out-of-tune with some other software synth ... One other problem with the table lookup implementation is that pitch modulation involving these opcodes is always in discrete, fixed-size steps. My vote is for changing it to be as accurate as possible, or at least providing a compile-time or run-time flag for switching on greater accuracy and precision. Anthony Steven Yi wrote on 8/22/07 6:18 PM: > I'm with Jake on this one; while I consider this a flaw, it's also > been around too long that I think it'd ruin backwards compatibility. > > On 8/22/07, Jacob Joaquin |
Date | 2007-08-23 08:56 |
From | jpff |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
Of course the cps2pch is not table driven,and uses log/exp directly ==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 |
Date | 2007-08-23 14:57 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
I agree completely. This should be changed. -dB On Aug 22, 2007, at 5:25 PM, Michael Gogins wrote: > This should definitely be changed. It's not backward compatibility, > it's they got it wrong in the first place. > > The same goes for the constants. They should be stated to the > maximum possible precision. > > There are probably other relics of the days when computers had > 1/1000th the memory and 1/1000th the speed that we now have. > > Regards, > Mike > > -----Original Message----- >> From: Anthony Kozar |
Date | 2007-08-23 15:03 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
Jake's ideas would work, but in these cases, I don't think that the changes will affect the compositions in particularly noticeable ways, we are not breaking them and they are still running as composed (just in slightly better tune) - but rather, as we are moving to do more micro-tonal work with csound (especially on the OLPC), I think we should fix this in the sources. It's amazing that it took 30 years to catch this bug! I would like and expect Csound to play in tune. -dB On Aug 22, 2007, at 6:11 PM, Jacob Joaquin wrote: > > I'm not comfortable with this idea. We're talking about making > changes to a > large body of legacy compositions and instruments. Yes, these > changes will > be minor. However, it is often the subtle nuances that give art > character. > Another way to look at this is to think of these "inaccuracies" as > micro > temperaments inherent in classic computer music technology. > > Instead, I recommend adding new high precision opcodes, that will > always opt > for the highest precision available at the time. For example, > pcpspch - > Precision CPS to pitch. > > Best, > Jake > > ---- > The Csound Blog > http://www.thumbuki.com/csound/blog > > > > > > Michael Gogins wrote: >> >> This should definitely be changed. It's not backward >> compatibility, it's >> they got it wrong in the first place. >> >> The same goes for the constants. They should be stated to the maximum >> possible precision. >> >> There are probably other relics of the days when computers had >> 1/1000th >> the memory and 1/1000th the speed that we now have. >> >> Regards, >> Mike >> > > -- > View this message in context: http://www.nabble.com/Inaccuracies-in- > cpspch-and-cpsoct-tf4313733.html#a12283922 > 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 |
Date | 2007-08-23 15:04 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
not sure it would ruin backward compatibility to have the unit play in tune and essentially increase the fidelity of things. -dB On Aug 22, 2007, at 6:18 PM, Steven Yi wrote: > I'm with Jake on this one; while I consider this a flaw, it's also > been around too long that I think it'd ruin backwards compatibility. > > On 8/22/07, Jacob Joaquin |
Date | 2007-08-23 15:07 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
Attachments | None None |
Looking forward to Matt's new project! We want to make sure that the older instruments run and that the pieces still render. If they sound a little *better* or slightly different (they will on any new computer, any new IO box and set of dacs, and any new set of speakers too.... right? This seems to me to be a BUG. -dB On Aug 22, 2007, at 6:35 PM, matt ingalls wrote:
|
Date | 2007-08-23 15:08 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
I am with Anthony. On Aug 22, 2007, at 8:12 PM, Anthony Kozar wrote: > While this situation has been around for awhile (I don't know > exactly how > long), it appears from a comment in the manual entry for cpsoct > that it > originally did the exponential calculation without a lookup table. > > I agree that changing the calculation may introduce subtle > differences in > some existing works -- most likely in the perceived timbres of > sustained > tones -- but in most cases the pitch differences will be imperceptible > because they are less than one cent. I am worried that if we keep > it as is, > the inaccuracies may affect pieces that rely on precise pitch > relationships > (although it may not be much of a concern to people working in just > intonation, like myself, since in this case using cpspch and cpsoct > does not > make much sense). It could be very frustrating for a user to spend > days > trying to figure out why tones generated by Csound are slightly out- > of-tune > with some other software synth ... > > One other problem with the table lookup implementation is that pitch > modulation involving these opcodes is always in discrete, fixed- > size steps. > > My vote is for changing it to be as accurate as possible, or at least > providing a compile-time or run-time flag for switching on greater > accuracy > and precision. > > Anthony > > Steven Yi wrote on 8/22/07 6:18 PM: > >> I'm with Jake on this one; while I consider this a flaw, it's also >> been around too long that I think it'd ruin backwards compatibility. >> >> On 8/22/07, Jacob Joaquin |
Date | 2007-08-23 15:25 |
From | rasmus |
Subject | Re: [Cs-dev] Inaccuracies in cpspch and cpsoct |
Michael Gogins wrote: > This should definitely be changed. It's not backward compatibility, it's they got it wrong in the first place. Not that either. An old aops.c version (dated Oct 1986, in a distro zip file from 1988) has this: cpsoct(p) register EVAL *p; { *p->r = pow((double)2.,(double)*p->a) * onept; } - so the switch to table lookup has already changed performance at some later time. The cpsoctinit table existed in 4.10 from 2001 and in "unofficial" csound 3.50 from 1999. Anyone who has intermediate versions can look up exactly when it happened, but perhaps you can decide on the issue anyway. re > -----Original Message----- >> From: Anthony Kozar |