Comments (2)
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.
from mpf-mc.
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.
from mpf-mc.
Related Issues (20)
- Recursion in mpfmc/uix/widget.py#L960 (0.52.x) leading to crashing mc_demo HOT 2
- widget_styles don't support bitmap_font HOT 1
- Revert wheels on Mac HOT 1
- Test playlists
- Look into supporting the Kivy Inspector HOT 3
- Add support for loop points to sounds HOT 1
- Install error Python 3.8 / Cython 0.29.10 HOT 3
- Slide definition cannot mix widgets from different areas
- Windows gives errors about missing procedures in gstreamer HOT 3
- Sound ducking release too abrupt when stopping a sound HOT 1
- Bitmap fonts sometimes clip first character on left edge HOT 4
- MPF-MC audio fails on Windows HOT 13
- macOS install not using brew installed libraries HOT 5
- New Cython files for Python 3.10, 3.11 & v0.57? HOT 4
- MPF-MC 0.57 slide_player not registering events HOT 1
- Audio error in 0.57.devXX. HOT 4
- Pillow, attribute getsize HOT 2
- outline_color bug or something else? HOT 2
- color-DMD effect size, image and font scaling issue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mpf-mc.