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

Auto Ducking #447

Open
qcapen opened this issue Aug 12, 2023 · 2 comments
Open

Auto Ducking #447

qcapen opened this issue Aug 12, 2023 · 2 comments

Comments

@qcapen
Copy link
Collaborator

qcapen commented Aug 12, 2023

Discussed in https://github.com/orgs/missionpinball/discussions/106

Originally posted by Laurent0722 August 12, 2023
Hi,
I'm a long time reader but first post here :)

I'm currently fine tuning my homebrew machine and i'm strugling with audio ducking...
Is threre a way to set a TRACK so it automatically duck another one ?
ie: voices and/or sfx track automatically duck music track...
I've read that we must specifie ducking parametters for each individual sound but what a job to do... !

An auto ducking feature would be so much more efficient ! don't you think ?

is there a method to achieve this kind of feature ?

Thank you for your answer.

Laurent (From France)

@qcapen qcapen transferred this issue from missionpinball/missionpinball Aug 12, 2023
@qcapen
Copy link
Collaborator Author

qcapen commented Aug 12, 2023

In audio processing terms, auto-ducking is basically sidechain compression where the signal of one audio track is used to attenuate the signal of another track (Dynamic Range Compression, ). Unlike automatic ducking in audio/video editors which can analyze prerecorded audio signals and apply the effect appropriately, the MPF-MC audio engine uses real-time processing to generate its audio signals. Since sounds are generated by an event-driven system, real-time signal processing must be used to analyze and generate an automatic ducking effect. This kind of signal processing is not trivial to implement, meaning this is not a simple feature to add to the MPF-MC and would certainly add some processing overhead.

@qcapen
Copy link
Collaborator Author

qcapen commented Aug 13, 2023

I simpler implementation could just use a common ducking envelope (set of ducking settings) and apply them to every sound played on a track when auto ducking is enabled (or perhaps set an auto ducking flag on each sound that should be ducked). This would just require setting the ducking settings on each sound instance by copying the settings from the master ducking envelope. No other changes would be necessary. This is much easier than doing realtime audio analysis and processing and would lead to similar results.

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

No branches or pull requests

1 participant