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

BLIT oscllators are a bit late #7570

Open
Andreya-Autumn opened this issue Mar 13, 2024 · 4 comments
Open

BLIT oscllators are a bit late #7570

Andreya-Autumn opened this issue Mar 13, 2024 · 4 comments
Labels
Breaking Change In order to close this issue we need to make a breaking change (no backwards compatibility) Bug Report Item submitted using the Bug Report template DSP Issues and feature requests related to sound generation in the synth Oscillator Features or additions to the oscillator section
Milestone

Comments

@Andreya-Autumn
Copy link
Collaborator

Or should that be "a blit late"? :P

Anyway:
Old vs  new?

Classic seems to start late by a varying amount somewhere between 40 and 80 samples, wavetable ditto by about 80-160 samples.

S&H Noise is interesting. With Correlation at max or min it behaves exactly like Classic. But with correlation at default it seems like it's accurate! As accurate as the MIDI block processing will let it that is. Maybe there's a clue there somehow?

@Andreya-Autumn Andreya-Autumn added DSP Issues and feature requests related to sound generation in the synth Bug Report Item submitted using the Bug Report template labels Mar 13, 2024
@Andreya-Autumn Andreya-Autumn added this to the Surge XT 1.3.2 milestone Mar 13, 2024
@Andreya-Autumn Andreya-Autumn changed the title BLIT oscllators are a bit late. BLIT oscllators are a bit late Mar 13, 2024
@mkruselj mkruselj added the Oscillator Features or additions to the oscillator section label Mar 13, 2024
@baconpaul
Copy link
Collaborator

Lemme see if I can replicate this in a regtests as a first step

baconpaul added a commit to baconpaul/surge that referenced this issue Mar 13, 2024
This regtest shows exactly the problem with BLIT oscillators
with non-retrigger behavior missing the first part of the cycle.

Addresses surge-synthesizer#7570 and will be key to finding the fix.
baconpaul added a commit that referenced this issue Mar 13, 2024
This regtest shows exactly the problem with BLIT oscillators
with non-retrigger behavior missing the first part of the cycle.

Addresses #7570 and will be key to finding the fix.
@mkruselj mkruselj modified the milestones: Surge XT 1.3.2, Surge XT 2.0 Mar 14, 2024
@mkruselj mkruselj added the Breaking Change In order to close this issue we need to make a breaking change (no backwards compatibility) label Mar 14, 2024
@blancoberg
Copy link
Contributor

I stumbled upon this bug as well. To me it looks like instead of starting on a random phase, it instead delays the signal for 0-1 cycle. So the delay varies depending on what note you are playing.
On lower notes the delay can be quite substantial

@mkruselj
Copy link
Collaborator

That's a plausible explanation!

@baconpaul
Copy link
Collaborator

Yes that’s exactly what they do and what the test above shows.

the fix to in init start them at start phase - 1 then run them up to zero but when I did that they clicked like crazy at low attacks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking Change In order to close this issue we need to make a breaking change (no backwards compatibility) Bug Report Item submitted using the Bug Report template DSP Issues and feature requests related to sound generation in the synth Oscillator Features or additions to the oscillator section
Projects
None yet
Development

No branches or pull requests

4 participants