So how does someone create a music visualizer? I've looked on Google but I haven't really found anything that talks about the actual programming; mostly just links to plug-ins or visualizing applications.
I want to have some music visualization software playing. The software I've tried (iTunes visualization and Winamp visualization) both don't sync well to the BASS in a song. I want the lights to be flashing more to the basses in all the songs throughout the night rather than the higher frequencies. Which program can I customize to do this?
I use iTunes but I realize that I need Xcode to program for that (I'm currently deployed in Iraq and can't download that large of a file). So right now I'm just interested in learning 'the theory' behind it, like processing the frequencies and whatever else is required.
closed as too broad by Martijn Pieters♦Dec 31 '16 at 1:10
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
12 Answers
As a visualizer plays a song file, it reads the audio data in very short time slices (usually less than 20 milliseconds). The visualizer does a Fourier transform on each slice, extracting the frequency components, and updates the visual display using the frequency information.
How the visual display is updated in response to the frequency info is up to the programmer. Generally, the graphics methods have to be extremely fast and lightweight in order to update the visuals in time with the music (and not bog down the PC). In the early days (and still), visualizers often modified the color palette in Windows directly to achieve some pretty cool effects.
One characteristic of frequency-component-based visualizers is that they don't often seem to respond to the 'beats' of music (like percussion hits, for example) very well. More interesting and responsive visualizers can be written that combine the frequency-domain information with an awareness of 'spikes' in the audio that often correspond to percussion hits.
For creating BeatHarness ( http://www.beatharness.com ) I've 'simply' used an FFT to get the audiospectrum, then use some filtering and edge / onset-detectors.
About the Fast Fourier Transform :http://en.wikipedia.org/wiki/Fast_Fourier_transform
If you're accustomed to math you might want to read Paul Bourke's page :http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/dft/
(Paul Bourke is a name you want to google anyway, he has a lot of information about topics you either want to know right now or probably in the next 2 years ;))
If you want to read about beat/tempo-detection google for Masataka Goto, he's written some interesting papers about it.
Edit:
His homepage : http://staff.aist.go.jp/m.goto/Interesting read : http://staff.aist.go.jp/m.goto/PROJ/bts.html
Once you have some values for for example bass, midtones, treble and volume(left and right),it's all up to your imagination what to do with them.Display a picture, multiply the size by the bass for example - you'll get a picture that'll zoom in on the beat, etc.
Typically, you take a certain amount of the audio data, run a frequency analysis over it, and use that data to modify some graphic that's being displayed over and over. The obvious way to do the frequency analysis is with an FFT, but simple tone detection can work just as well, with a lower lower computational overhead.
So, for example, you write a routine that continually draws a series of shapes arranged in a circle. You then use the dominant frequencies to determine the color of the circles, and use the volume to set the size.
There are a variety of ways of processing the audio data, the simplest of which is just to display it as a rapidly changing waveform, and then apply some graphical effect to that. Similarly, things like the volume can be calculated (and passed as a parameter to some graphics routine) without doing a Fast Fourier Transform to get frequencies: just calculate the average amplitude of the signal.
Converting the data to the frequency domain using an FFT or otherwise allows more sophisticated effects, including things like spectrograms. It's deceptively tricky though to detect even quite 'obvious' things like the timing of drum beats or the pitch of notes directly from the FFT output
Reliable beat-detection and tone-detection are hard problems, especially in real time. I'm no expert, but this page runs through some simple example algorithms and their results.
If you're looking for a small download, fairly portable toolset to play with (and a rabid community to draw on) I would suggest Processing (http://www.processing.org), particularly http://processing.org/learning/libraries/ under ESS. That should take you down the rabbit hole. Wouldn't make an iTunes visualizer, but was used for prototyping this : http://www.barbariangroup.com/software/magnetosphere which became the default iTunes visualizer.
- Devise an algorithm to draw something interesting on the screen given a set of variables
- Devise a way to convert an audio stream into a set of variables analysing things such as beats/minute frequency different frequency ranges, tone etc.
- Plug the variables into your algorithm and watch it draw.
A simple visualization would be one that changed the colour of the screen every time the music went over a certain freq threshhold. or to just write the bpm onto the screen. or just displaying an ociliscope.
check out this wikipedia article
Like suggested by @Pragmaticyankee processing is indeed an interesting way to visualize your music. You could load your music in Ableton Live, and use an EQ to filter out the high, middle and low frequencies from your music. You could then use a VST follwoing plugin to convert audio enveloppes into MIDI CC messages, such as Gatefish by Mokafix Audio (works on windows) or PizMidi’s midiAudioToCC plugin (works on mac). You can then send these MIDI CC messages to a light-emitting hardware tool that supports MIDI, for instance percussa audiocubes. You could use a cube for every frequency you want to display, and assign a color to the cube. Have a look at this post:
We have lately added DirectSound-based audio data input routines in LightningChart data visualization library. LightningChart SDK is set of components for Visual Studio .NET (WPF and WinForms), you may find it useful.
With AudioInput component, you can get real-time waveform data samples from sound device. You can play the sound from any source, like Spotify, WinAmp, CD/DVD player, or use mic-in connector.
With SpectrumCalculator component, you can get power spectrum (FFT conversion) that is handy in many visualizations.
With LightningChartUltimate component you can visualize data in many different forms, like waveform graphs, bar graphs, heatmaps, spectrograms, 3D spectrograms, 3D lines etc. and they can be combined. All rendering takes place through Direct3D acceleration.
Our own examples in the SDK have a scientific approach, not really having much entertainment aspect, but it definitely can be used for awesome entertainment visualizations too.
We have also configurable SignalGenerator (sweeps, multi-channel configurations, sines, squares, triangles, and noise waveforms, WAV real-time streaming, and DirectX audio output components for sending wave data out from speakers or line-output.
[I'm CTO of LightningChart components, doing this stuff just because I like it :-) ]
VizKit by Heiko Wichmann seems to be a very nice cross platform (3rd party) sdk & starting point (it uses the Visualizer API Apple released a while back).
I just compiled it with Xcode and it includes a visual studio project as well. iTunes crashed once but ran fine with it after that. What I like so far: low dependencies (had to fix one framework path on my env), lots of samples (EQ, spectrum, album artwork, histograms), very clear architecture, agreeable license.
Also available on Sourceforge.
Lee Brimelow has a great video tutorial for doing this in flash. Should point you in the right direction even if you want to implement it using something other than flash.
MDN has a nice tutorial as well for making visualizations with the Web Audio API.
Go to http://developer.apple.com/library/mac/#technotes/tn/tn2016.html. It gives information on iTunes Visualizers straight from Apple, and it does mention that iTunes can give you waveform data after FFT without you doing any work.
THis link does exactly what you want, and the source code can be downloaded: I found it really helpful: http://www.raywenderlich.com/36475/how-to-make-a-music-visualizer-in-ios
Not the answer you're looking for? Browse other questions tagged visualizationitunes or ask your own question.
The program Music Visualization is designed for control lights and other techniques by DMX512. Visualization is based on data acquired from music in real time with no need of human factor intervention. The project is focused on reaching such visualization that corresponds with music produced. Compatible with DMX PIPE, LPT switch or Enttec Open DMX USB. From SOH production.
+ Exclusive patented technology LTCA
+ Application is able to control lighting technology in real time directly by music.
+ Human intervention is not necessary.
+ Nonstop synchronization of lights technology with music production.
+ Harmonize the light show even with new unknown music production.
+ Program can quickly react even to unpredicted changes in music.
+ Allows for better utilization of lighting technology.
+ Is able to control lights technology already built in.
+ It is able to control each one of tens of pieces of lighting technology individually, which no human lighting designer can do.
+ Can run nonstop and never wears down.
+ Ordinary PCs, notebooks or mini PC systems can be used, which makes it portable as well.
+ For control of the lighting technology by music any input of soundcard can be used (for example microphone, line in) or the analysis of the music can be done on the background along with playback from any media player (like Windows Media Player or WinAmp).
- DMX Music Visualization Free & Safe Download!
- DMX Music Visualization Latest Version!
- Works with All Windows versions
- Users choice!
DMX Music Visualization is a product developed by Soh Sound & Lights. This site is not directly affiliated with Soh Sound & Lights. All trademarks, registered trademarks, product names and company names or logos mentioned herein are the property of their respective owners.
All informations about programs or games on this website have been found in open sources on the Internet. All programs and games not hosted on our site. When visitor click 'Download now' button files will downloading directly from official sources(owners sites). QP Download is strongly against the piracy, we do not support any manifestation of piracy. If you think that app/game you own the copyrights is listed on our website and you want to remove it, please contact us. We are DMCA-compliant and gladly to work with you. Please find the DMCA / Removal Request below.
Please include the following information in your claim request:
- Identification of the copyrighted work that you claim has been infringed;
- An exact description of where the material about which you complain is located within the QPDownload.com;
- Your full address, phone number, and email address;
- A statement by you that you have a good-faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;
- A statement by you, made under penalty of perjury, that the above information in your notice is accurate and that you are the owner of the copyright interest involved or are authorized to act on behalf of that owner;
- Your electronic or physical signature.
You may send an email to support [at] qpdownload.com for all DMCA / Removal Requests.
You can find a lot of useful information about the different software on our QP Download Blog page.
Latest Posts:
How do I uninstall DMX Music Visualization in Windows Vista / Windows 7 / Windows 8?
- Click 'Start'
- Click on 'Control Panel'
- Under Programs click the Uninstall a Program link.
- Select 'DMX Music Visualization' and right click, then select Uninstall/Change.
- Click 'Yes' to confirm the uninstallation.
How do I uninstall DMX Music Visualization in Windows XP?
- Click 'Start'
- Click on 'Control Panel'
- Click the Add or Remove Programs icon.
- Click on 'DMX Music Visualization', then click 'Remove/Uninstall.'
- Click 'Yes' to confirm the uninstallation.
How do I uninstall DMX Music Visualization in Windows 95, 98, Me, NT, 2000?
- Click 'Start'
- Click on 'Control Panel'
- Double-click the 'Add/Remove Programs' icon.
- Select 'DMX Music Visualization' and right click, then select Uninstall/Change.
- Click 'Yes' to confirm the uninstallation.
- How much does it cost to download DMX Music Visualization?
- How do I access the free DMX Music Visualization download for PC?
- Will this DMX Music Visualization download work on Windows?
Nothing! Download DMX Music Visualization from official sites for free using QPDownload.com. Additional information about license you can found on owners sites.
It's easy! Just click the free DMX Music Visualization download button at the top left of the page. Clicking this link will start the installer to download DMX Music Visualization free for Windows.
Yes! The free DMX Music Visualization download for PC works on most current Windows operating systems.