In our last post, we explored how Fourier transforms can be used in Mathematica to make a frequency filter for audio files. That post was primarily concerned with implementing the appropriate transforms (and, of course, paying homage to the amazing talent of Macklemore and Ryan Lewis). The accompanying interactive tool had an extremely cumbersome interface. Here is a slightly better attempt, featuring a more widely known piece of music.
Mathematica has a number of built-in control interfaces, including sliders, checkboxes, and pop-up menus. These control types are easily used through the handy
Manipulate function. There is no reason to restrict yourself to these control types, though. Using the
DynamicModule function, you can specify any object to be interactive and dynamically updated.
DynamicModule function helpfully organizes a set of local dynamic objects. Within this function, different dynamic variables can be specified by enclosing them in the appropriately named
Dynamic function. Placing the
Dynamic function in the correct place can be a little tricky. For example, when graphics are generated,
Dynamic must enclose the graphic object, not just the variables or parameters that create it.
If you are a new Mathematica user who has experimented with
Manipulate, it might be time to broaden your horizons and give
DynamicModule a try!
And did I mention you should buy The Heist?