dzannotti / junox

An emulator of a Roland Juno 60
https://dzannotti.github.io/junox/
GNU General Public License v3.0
23 stars 6 forks source link

Improve chorus #20

Closed dzannotti closed 5 years ago

dzannotti commented 5 years ago

This should implement the correct delays (wet/dry can still be adjusted) improves on performance and relies on a single buffer, also removes all chorus feedback

pendragon-andyh commented 5 years ago

Looks good. Next step would be to change getSample to take float index instead of int. You can then interpolate a more accurate result.

dzannotti commented 5 years ago

great idea!

pendragon-andyh commented 5 years ago

https://github.com/pendragon-andyh/Juno60/tree/master/Chorus shows chorus does have a 3rd mode. 14 Hz with less delay depth. Also for this mode is mono (left and right delay are same instead of opposite).

dzannotti commented 5 years ago

Yeah i did see that, but on the Juno 60 manual no patches seem to have both enabled so i wasn't fussed about implementing it (for now I would ideally get the original patches as close as possible, before considering juno 106 features)

pendragon-andyh commented 5 years ago

I want to be able to change parameters in real-time ... Without clicks and pops. May need to smooth transition between settings (e.g moving between no-chorus an chorus 1, or from chorus 1 to chorus 3.

pendragon-andyh commented 5 years ago

Chorus 3 is on Juno 60 & but not very documented (all recording in my Juno 60 repo are from actual 60).

dzannotti commented 5 years ago

I want to be able to change parameters in real-time ... Without clicks and pops. May need to smooth transition between settings (e.g moving between no-chorus an chorus 1, or from chorus 1 to chorus 3.

I agree on this, i am not sure where the current pops and clicks are currently coming from (as i committed yesterday a patch which should have solved the envelope interpolation). My current suspect is the filter reaching nyquist