|
|
|
05-27-2010, 04:58 PM
|
#1
|
Human being with feelings
Join Date: Apr 2008
Posts: 510
|
Possible bugs in the OSX version of JesuSonic (FIXED)
following these reports:
http://forum.cockos.com/showpost.php...3&postcount=79
http://forum.cockos.com/showpost.php...6&postcount=95
http://forum.cockos.com/showpost.php...&postcount=161
i've tried to narrow down a list of possible causes of the js plugin
issues, down to:
- a function not returning the same values on OSX (as windows)
- internal problems like overflow / interpreter issues...etc
- other plugin code that triggers a more "pretentious" engine behaviour
some tech notes and a test subject (liteon/presenceeq):
'presenceeq' is a basic peak filter that operates only in the higher bands.
it is a straight c port (with some adjustments) of james a. moores's peak from the book "the manifold joys of conformal mapping".
the following js system functions/vars are used to calculate the coefficients: tan, sqrt, pow, $pi, srate(!). in the time domain the filter uses a standard, bandpass biquad, "direct from I" topology for the difference equation.
i can't test more though, as i don't have osx. if someone with a mac can help the cockos folks in determining the issue i'm sure they will appreciate it...
the same plugins on windows:
i have reports of the same fx working on windows and wine with different sample rates / different sound cards and drivers (10x to ccernn).
i also have screenshots from the vst plugin analyzer working on higher sample rates:
screenshots:
1
2
3
4
---
Last edited by liteon; 06-19-2010 at 05:28 PM.
|
|
|
06-17-2010, 05:49 PM
|
#2
|
Human being with feelings
Join Date: Apr 2008
Posts: 510
|
thanks to mrelwood, i think we may have narrowed some of issue triggers a bit.
mrelwood is using osx on ppc and "hopefully" the other users who reported issues are also using ppc builds.
what is known / the only pointers we have / :
the problem occurs with specific effects on the jesusonic build for osx ppc (but may also be the case for intel).
the 'pinknoisegen' case is a bit curious: it only uses the exp() function to define some coefficients, then it uses the rand() code to get random values and process them (pink filter)
'deesser' uses tan(), $pi and srate, for the frequency pre-warping, yet according to reports the frequency scale is inverted (hmm)
the expression evaluator (if that is what js is using) looks like a impressive peace of code...i can only understand some of the mathematics in the inline assembly on a first look. but one thing i presume is that it might be difficult to debug.
worst case could be a compiler bug with a certain optimization level... :\
best case, for example, is something 'small' for the evaluator in an (e.g.) __ppc__ branch not to working.
i guess the strangest part is that the issues only occur with my fx, yet the fx are quite simple.
i cannot help more as i don't have the os or hardware on which the issues occur.
---
|
|
|
06-18-2010, 02:13 AM
|
#3
|
Human being with feelings
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
|
OS X Intel is affected too :(
Liteon, unfortunately, I can confirm most of these bugs apply to OS X / Intel as well...
Quote:
Originally Posted by mrelwood
Included Liteon JS (surprised they are included):
- butterworth24db, cherby24db, (Frequency works backwards, in HP the slope is about 2db/oct, not 24)
- deesser (F works backwards, from 19KHz to 22KHz only)
- moog24db (in HP the slope is about 2, not 24)
- presenceeq, shelvingfilter (outputs only 6165dB, BEWARE!)
|
I can't seem to reproduce the deesser one, or I must be misunderstanding the description. Here, F goes only to 12KHz on the display.
Btw, whenever you need something to be tried or tested on OS X, feel free to ping me. I will be glad to help where I can. I have a few different installs of OS X, on an ancient hackint0sh (OS X 10.5.4, Prescott 640 CPU, quadboot with Windows and Linux partitions as well, which allows for comparisons between OSes on the same hardware) and a Macbook Pro (10.5.8/10.6.3, C2D).
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
|
|
|
06-18-2010, 11:04 AM
|
#4
|
Human being with feelings
Join Date: Apr 2008
Posts: 510
|
banned,
thanks for the info.
yes, the deesser issue is puzzling:
Quote:
Originally Posted by liteon
re: - deesser (F works backwards, from 19KHz to 22KHz only)
hmm, not sure what this means? is it that when you move the F slider left, the target frequency goes up (to 22khz) instead of down? (but anyway its range should be 1500 hz - 12000hz)
Quote:
Originally Posted by mrelwood
Correct. Left goes up, right goes down. And the range really was from 22KHz "up" to 19KHz.
|
|
its not quite clear if the display if showing wrong values or the actually values are misplaced. i have sent mrelwood a pm to take a look at this thread.
if the 'deeser' frequency slider is working ok for you but not for mrelwood, then this will suggest multiple issues - all on osx but different on intel, ppc builds.
btw is 'pinknoisegen' working ok for you? i think someone reported that it also did not work on osx.
--
|
|
|
06-18-2010, 03:41 PM
|
#5
|
Human being with feelings
Join Date: Apr 2008
Posts: 510
|
here is a test.
could someone with intel-mac and/or a ppc-mac give this one a quick go...
load this js fx into reaper:
https://stash.reaper.fm/oldsb/930805/test_tan_ppc.txt
instructions in the fx description.
for higher sample rates the resulted number should be smaller..
---
|
|
|
06-19-2010, 06:58 AM
|
#6
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by liteon
here is a test.
could someone with intel-mac and/or a ppc-mac give this one a quick go...
load this js fx into reaper:
https://stash.reaper.fm/oldsb/930805/test_tan_ppc.txt
instructions in the fx description.
for higher sample rates the resulted number should be smaller..
---
|
That passes for me on Intel OS X, REAPER/PPC in Rosetta (and on REAPER/64). BUT...
fails in REAPER/386. I'll see if I can fix.
Edit: looks like tan() on OSX/386 returns the reciprocal of tan(), oops. Damn different meanings of "fdiv" with no parameters in inline assembly vs nasm, argh.
Last edited by Justin; 06-19-2010 at 07:12 AM.
|
|
|
06-19-2010, 07:50 AM
|
#7
|
Human being with feelings
Join Date: Apr 2008
Posts: 510
|
Quote:
Originally Posted by Justin
That passes for me on Intel OS X, REAPER/PPC in Rosetta (and on REAPER/64). BUT...
fails in REAPER/386. I'll see if I can fix.
Edit: looks like tan() on OSX/386 returns the reciprocal of tan(), oops. Damn different meanings of "fdiv" with no parameters in inline assembly vs nasm, argh.
|
phew ok,
hopefully this is the only issue.
thanks for checking..
i was wondering for this part exactly and if the partial tangent would be faster than the fsincos and a division. here are the results i get (athlon xp 1800+, mingw-gcc-4.4.1-tdm with -O3):
Code:
executions=1e+6
"fptan;"
"fstp %1;"
+ math.h expf(x) for weight
70ms
"fsincos;"
"fxch;"
"fdivp;"
+ math.h expf(x) for weight
106ms
Last edited by liteon; 06-19-2010 at 08:06 AM.
Reason: 10x
|
|
|
06-19-2010, 08:59 AM
|
#8
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by liteon
phew ok,
hopefully this is the only issue.
thanks for checking..
i was wondering for this part exactly and if the partial tangent would be faster than the fsincos and a division. here are the results i get (athlon xp 1800+, mingw-gcc-4.4.1-tdm with -O3):
Code:
executions=1e+6
"fptan;"
"fstp %1;"
+ math.h expf(x) for weight
70ms
"fsincos;"
"fxch;"
"fdivp;"
+ math.h expf(x) for weight
106ms
|
Yeah, fptan might be the way to go.. of course probably need to check it for error -- if you give it something out of range, it doesn't push two values to the stack, so you could end up with the stack in an invalid state, ugh.
Err: nm, fsincos might have this problem too, and the range is big enough anyway.
Last edited by Justin; 06-19-2010 at 09:06 AM.
|
|
|
06-19-2010, 01:59 PM
|
#9
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Edit: try the 3.62 build on landoleet, should fix (and have faster tan() on all Intel platforms)
|
|
|
06-19-2010, 04:24 PM
|
#10
|
Human being with feelings
Join Date: Apr 2008
Posts: 510
|
Quote:
Originally Posted by Justin
Edit: try the 3.62 build on landoleet, should fix (and have faster tan() on all Intel platforms)
|
thats awesome! your update rate is impressive guys.
this goes out to the osx users, please, try these js fx (with caution e.g. audio off!) from reaper 3.62.
pinknoisegen, moog24db, cherby24db, butterworth24db, presenceeq, shelvingfilter
...please report if you notice something wrong, for example - audio has a lot of gain (many decibels), frequency scales are wrong (not 20hz-20khz, inverted scales), glitches in sound etc.
----
|
|
|
06-19-2010, 10:13 PM
|
#11
|
Human being with feelings
Join Date: Nov 2009
Location: memory
Posts: 633
|
everything with those plug-ins seems normal in 3.62 (osx 10.5.8, intel)
http://gyazo.com/459480f4242d9474f5f54a0200f8d1f5.png
^ a screenshot showing them all working at once.
ty liteon and cockos !
|
|
|
07-01-2010, 08:23 PM
|
#12
|
Human being with feelings
Join Date: Nov 2006
Location: Finland
Posts: 1,528
|
Took me a while to get here... Great to see that things have moved on quite a lot!
Testing Reaper 3.64pre9:
Liteon/deesser works mostly fine, but in bandpass mode the bandwidth seems a bit goofy. At low settings (0.1 to 1.5 oct) the plugin barely attenuates anything, although treshold is at -80dB, ratio at 20, frequency at 2.8K. Gain reduction meter shows around -18dB while spectrum analyzer shows maximum of -5dB, and at 4.2K.
At higher bandwidth settings (2.5 to 3.1 oct) the frequency gets attenuated at 1.8K, and the gain reduction shows way over the -20dB scale, while analyzer shows about -10dB.
Moog24dB seems to work fine. Perhaps a slight frequency mismatch in the high pass filter, perhaps not even worth noting.
Cheby24dB works fine. Is it normal that the "Bassband ripple" adds resonance at the dialed frequency (for example 1K) as well as half that (500Hz)?
Butterworth24dB works fine. Slight resonance even when the resonance slider is at minimum, but I believe that is purposeful colouring.
Presenceeq and Shelvingfilter work perfectly.
Most importantly, no +6000dB tones! Not even past 0dB! Thanks!
__________________
______ Announcing__mrelwood plugins______
.. MacBook Pro 16" Late '19 .. Scarlett 6i6, Saffire Pro 24 DSP (+ADA8000) .. FCA610 .. EVE SC207 .. Focal: Shape 65, Alpha 65, CMS 40, Listen Pro ..
|
|
|
07-01-2010, 11:34 PM
|
#13
|
Human being with feelings
Join Date: Apr 2008
Posts: 510
|
thanks cerberus and mrelwood for checking!
there are some design flaws and also things that might be a bit "raw" in there...
Quote:
Originally Posted by mrelwood
Liteon/deesser works mostly fine, but in bandpass mode the bandwidth seems a bit goofy. At low settings (0.1 to 1.5 oct) the plugin barely attenuates anything, although treshold is at -80dB, ratio at 20, frequency at 2.8K. Gain reduction meter shows around -18dB while spectrum analyzer shows maximum of -5dB, and at 4.2K.
At higher bandwidth settings (2.5 to 3.1 oct) the frequency gets attenuated at 1.8K, and the gain reduction shows way over the -20dB scale, while analyzer shows about -10dB.
|
this is one of those things i guess :-). the meter is accurate in both hipass and bandpass mode. you see, in bandpass mode the effect splits the spectrum in 3 bands a,b and c, but since the crossover filters aren't steep enough, for lower bandwidths of the target band "b", what happens is that the band is already attenuated due to phase cancelation before the compression. so you need a lower threshold (check with "monitor=on"). i should have chosen the dynamic eq approach for this one i admit.
Quote:
Originally Posted by mrelwood
cheby, moog, butterworth
|
butterworth should have no resonance when set to 0 and also cheby is ok to have a "ripple". but the only accurate values (and 24 decibels per octave) for these filters are in the low-pass (LP) modes. HP, BP have the character of the filter but are 6 db/oct and may have extra resonance and strange shapes...
-----
Last edited by liteon; 07-02-2010 at 01:06 AM.
Reason: hp, bp
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 07:58 AM.
|