Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chorus I+II mod rate appears wrong #2

Closed
jpcima opened this issue Oct 12, 2019 · 8 comments
Closed

Chorus I+II mod rate appears wrong #2

jpcima opened this issue Oct 12, 2019 · 8 comments

Comments

@jpcima
Copy link

jpcima commented Oct 12, 2019

Hi, the LFO rating at 15.175 Hz seems very suspicious.
We are making a Juno chorus and we have used your sound samples as a reference.

It has current source available and there is experimentation in our repository.

This is a rapid analysis of your 1+2 saw sample, and we deduce a completely different mod rate.
Prior to this analysis, I have deduced from a ear a similar rate, and the ~15 Hz value seemed to absurdly fast to be believable.

Link to analysis:
jpcima/rc-effect-playground#2 (comment)

@pendragon-andyh
Copy link
Owner

Thanks for highlighting this. I did some more measurements of this recently when I was working on JunoX. After upgrading my analyser software it looks like 9.24Hz.

For reference: The earlier Juno-6's Service Notes helpfully labels its frequencies as 0.4Hz, 0.67Hz and 8.06Hz (page 13).

@jpcima
Copy link
Author

jpcima commented Jun 9, 2020

Thank you for rechecking. If I may ask, how have you deduced such a rate?
My previous experimental result gave 9.75, based on a sound sample of this repo. (cf link in OP)
So our measures seem in disagreement. Back then, I have used this program for analysing.
https://github.com/jpcima/rc-effect-playground/blob/master/tools/analyze.py

cc @SpotlightKid

@AlpesMachines
Copy link

in the service manual ... page 7.
T = 1 sec or 1,2 sec or 2 sec
http://manuals.fdiskc.com/flat/Roland%20Juno-60%20Service%20Notes%20(%20HI-RES%20).pdf

@pendragon-andyh
Copy link
Owner

@AlpesMachines - That page is right at the back of my PDF of the service notes. The "2 sec" (0.5Hz) and "1.2 sec" (0.83Hz) values approximately match up to my observations. The I+II value is way-off. In reality this is definitely somewhere between 9Hz and 10Hz (which is the reason that @jpcima raised this issue). Maybe the notes intended to say "0.1".

@pendragon-andyh
Copy link
Owner

@jpcima - Most of my analysis has been done using Sonic Visualizer - so they are very approximate. The nature of the "Chorus I+II" makes it quite difficult to measure visually.

I took a look at your Python script ... looks like your approach is very accurate. I revisited Sonic Visualizer again, and found that the "Peak Frequency Spectrum" pane can be re-scaled to give better visualization of this waveform. It clearly shows 34 cycles take approximately 3.49 seconds. This equates to about 9.74Hz. So if you don't mind then I will update the page to show 9.75Hz and give you credit.

Interestingly, I can see a slight variation of the delays between the left and right channels. It feels like about 0.0001s difference. This kind-of makes sense because the original analog electronics (pointed-to by @AlpesMachines) uses an LFO signal that is very approximately 1.6v peak-to-peak - and the nature of all-things-analog means this could quite easily by +0.85 to -0.75 for one of the channels. Maybe that is something that you could measure accurately if you have some spare time.

Also I can see that the delayed signal appears to have been low-pass-filtered slightly, and there seems to be some element of non-linearity in there also (maybe that can be emulated with some TanH saturation).

The chorus effect on my JunoX synth project is feeling a bit weedy - so I will continue to analyse this further.

@SpotlightKid
Copy link

Also I can see that the delayed signal appears to have been low-pass-filtered slightly, and there seems to be some element of non-linearity in there also

This is the effect of using bucket-brigade-devices to implement the delay (2 MN3009 chips on the Juno-60).

@jpcima
Copy link
Author

jpcima commented Jun 10, 2020

So if you don't mind then I will update the page to show 9.75Hz and give you credit.

I don't mind sure, it's no need to ask me :)

Interestingly, I can see a slight variation of the delays between the left and right channels. It feels like about 0.0001s difference.

You would appear to be correct! I just ran the analysis again to give this a check, and did a manual fit of the parameter on gnuplot for each channel.

Left: o=0.032; f=9.75; d1=3.22e-3; d2=3.56e-3;
J60Left

Right: o=0.032; f=9.75; d1=3.28e-3; d2=3.65e-3;
J60Right

Which makes left channel 3.22 to 3.56 ms variation, right 3.28 to 3.65 ms.

Also I can see that the delayed signal appears to have been low-pass-filtered slightly, and there seems to be some element of non-linearity in there also (maybe that can be emulated with some TanH saturation).

As @SpotlightKid pointed out, this may be an effect of the delay based on BBD. It uses LPF for antialiasing steps in and out.
In our repo I have implemented the algorithm of a DAFX publication that has supposedly an accurate emulation of the filtered BBD used in Juno60. If that's of any use in your synth, feel free to reuse this.

@jpcima
Copy link
Author

jpcima commented Jun 10, 2020

For I and II, delay range may be approximated to
Left: 1.54 to 5.15 ms
Right: 1.51 to 5.40 ms

This one is a more rough approximation than the previous, for a variety of reasons, so don't sue me for it. :)
Regardless, it follows the shape moderately well, except that the triangle is observed to be slightly asymmetric in up and down half-periods.

a plot below (disregard glitch of the peak analyzer..)
Capture du 2020-06-10 19-22-17

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants