Monkey Hi Hat displays colorful, interesting graphics, many of which are audio-reactive -- they move and change in time with whatever music is being played through your PC's speaker outputs.
As of the latest release, there are nearly 4,000 combinations of visualizations and effects, plus 17 transitiional (crossfade) effects! Great for DJs, parties and other events!
Playlists and many of the visualizations are customizable. The program and all content are 100% free, and I encourage users to contribute new visualizations (.NET programmers, see Contributor's Getting Started in the wiki).
Get the installer from the release page, then read the documentation home page for a quick step-by-step first-run walk-through. The docs range from basic usage to advanced customization.
This should run on almost any 64-bit Windows 10 or Windows 11 PC with a decent graphics card and practically any type of audio playback. (Linux support is indefinitely on hold: it works on Raspberry Pi but that GPU is underpowered, it doesn't work on WSL, and I don't have any need for or much interest in maintaining a full-blown Linux desktop.)
CPU and memory requirements are minimal, 99% of the work is on the graphics card. If your PC can run this Shadertoy example full-screen, which is a Monkey Hi Hat visualization with effects that I back-ported, you should be able to run Monkey Hi Hat just fine. No third-party drivers are required (earlier versions did require one). Overhead is so low, on my desktop PC I often run the program on a second monitor while I do other work. It's very stable and trouble-free, I have let it run 24 hours with no crashes or memory leaks.
The music reactivity responds to anything your PC is playing from any source, whether that is Spotify, Soundcloud, Pandora, an external device connected to the line-in or surround-sound jacks, MP3s, YouTube, etc. If you can hear it from your speakers, the program can "hear" it too. For on-screen track info, only the native Windows Spotify client is supported.
Please understand there is no "user interface" -- the program is designed to run full screen, and to be controlled from another PC or Android device. Remote control is optimal but not mandatory, see the Related material section at the end of this page for details. The general idea is to get it running and let it do its thing.
Here's a 2 minute look at some of the version 3 post-processing effects released around the end of 2023, and a different series of visualizers. These very small videos still have compression artifacts due to Github's file-size limit, but they will give you a good idea of what's possible. The real thing looks about a million times better (especially on a really good display like 4K OLED).
monkey-hi-hat-2023-10-21-small.mp4
This is from version 2 in the summer of 2023, which only had basic visualizations.
monkey-hi-hat-2023-09-16-small.mp4
Soon I will add a version 4 video which shows crossfade transition effects, text overlays, and even more cool visualizers and effects.
In my living room setup where we watch this most often, the computer running Monkey Hi Hat is meant to be hidden from view like all the other AV equipment, so remote control was an essential feature. There are four options:
-
Recommended: install the convenient Monkey Droid GUI
-
Command-line control is via SSH terminal connections. See the documentation Quick Start for details about setting up and using SSH. My systems are configured for this, but frankly Monkey Droid is so much easier to use, I never actually connect via SSH any more.
-
Old school: a wireless keyboard with integrated trackball or other pointer control, which is obviously handy for more than just controlling this program. The program responds to quite a few useful keystrokes. As usual, please refer to the documentation, but my keyboard is hidden off to the side of the couch, and I most commonly use just a four keyboard commands that I can readily find by touch:
Right Arrow
to skip to the next visualizationDown Arrow
to add an FX to the current visualizerW
(for WHAT?) to show the names of the current vizualizer / FXT
to show the name of the Spotify track being played
-
Although remote control is the intended usage, control from the same PC is certainly possible. Configure the program to launch in a window, start another console window to issue commands, get it showing the content you want (such as a playlist), then either issue the
--fullscreen
command or focus on the window and hit the spacebar. This is how the documentation's first-time walk-through works.
I have been asked about music reactivity for DJ usage. Have your "real" mixers, amps and speakers set up separately, then feed a line-in to any PCs connected to the displays. As long as the PC "thinks" it is outputting audio, the visualizers will work -- either leave the PC's speaker-out jacks disconnected, or mute the PC speakers externally. If you mute them from within Windows, no sound will be "seen" by the program, it really is driven by playback. If you have a pre-determined music set, you can create a playlist with manual advance (Switch
mode External
), and simply use the right-arrow to load the next viz/FX combo manually. You can even script the crossfade transitions.
Content creators should check out my Jan-2024 blog article Getting Started Tutorial. Note the article refers to the v3 install script; as of version 4 released Feb-2024, the installer is a stand-alone program that is much easier to use, and the program itself no longer requires third-party drivers and all the associated configuration hassles.
The automatically-installed shaders, playlists, effects, crossfades, accompanying configuration files, icons, and the origin of all these oddball names can be found in my Volt's Laboratory repository.
- None