-
Notifications
You must be signed in to change notification settings - Fork 0
Autonomous audio plugin company simulation #2
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
base: main
Are you sure you want to change the base?
Autonomous audio plugin company simulation #2
Conversation
Co-authored-by: rhodin.ludvig <rhodin.ludvig@gmail.com>
|
Cursor Agent can help with this pull request. Just |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on November 12
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| .with_smoother(SmoothingStyle::Linear(50.0)) | ||
| .with_unit(" x") | ||
| .with_value_to_string(formatters::v2s_f32_rounded(1)) | ||
| .with_string_to_value(formatters::s2v_f32_gain_to_db()), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Incorrect Formatter for Speed Parameter
The eel_speed parameter, a linear speed multiplier (0.1-2.0x), incorrectly uses formatters::s2v_f32_gain_to_db() for string-to-value conversion. This formatter is designed for dB-to-gain conversion, leading to incorrect parsing of user input and automation values for speed.
|
|
||
| // Copy processed samples back | ||
| for (sample, &processed) in channel_samples.iter_mut().zip(output.iter()) { | ||
| *sample = processed; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| if self.params.reset.value() { | ||
| self.reset(); | ||
| return ProcessStatus::Normal; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| // Mix original and processed | ||
| let processed = spectrum[self.position]; | ||
| output[i] = sample * (1.0 - mix) + processed * mix; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Spectral Processing Without FFT
The SpectralProcessor::process method passes a time-domain audio buffer directly to eel_engine.process_spectrum. The eel_engine then applies frequency-domain algorithms to this time-domain data without performing any FFT analysis. This means the "spectral" processing does not genuinely operate in the frequency domain, leading to incorrect audio effects.
Implement the 'Spectral Eel Simulator' audio plugin to complete Cycle 1 of the Autonomous Orchestra protocol and demonstrate autonomous product delivery.