5 ms·
Real-Time Music Visualization on the iPhone GPU
- mpalmer 9y agoThis looks interesting but it's pretty hard to judge the quality of real time audio visualization with no audio.
- bottled_poe 9y agoI wrote a very similar prototype a while ago. Here's a video - https://www.youtube.com/watch?v=oYZEDSzX7MU&feature=youtu.be https://www.youtube.com/watch?v=oYZEDSzX7MU&feature=youtu.be I didn't realise at the time, but the X axis is not in logarithmic scale, so most of the audible frequencies are bunched on the left hand side.
- stiGGG 9y agoNice, do you share the code?
- rlods 9y agoyou're right, thank you for the feedback, we'll try to add video samples with royalty free audio content.
- taylodl 9y agoI'd be interested in seeing the power load of these visualizations - are they a battery drainer?
- birslip 9y agoThere is definitely an impact on the battery. The FFT part is well optimised (thanks to the Accelerate framework). What is costly is mainly the shader... and it really depends on the shader. A very simple shader is usually less than 5% of the GPU usage (according the Xcode Instruments, and on a recent iPhone). However if you do a lot in your shader it's going to be much more costly.
- rocky1138 9y agoAt first I was thinking "this isn't a big deal, Atari Jaguar CD did this back in 1995 on way less hardware," but then I realised it was a hackathon project and now I'm really impressed at how far they got in that short frame of time!
- pmlnr 9y agoI miss Winamp effects as well.
- parkersweb 9y agoYeah - we need a Geiss port :) http://www.geisswerks.com/geiss/ http://www.geisswerks.com/geiss/
- thedjinn 9y agoPretty boring if it's just FFT based. I'd love to see music visualizations make use of more sophisticated musical feature detection, like polyphonic note recognition or tempo/rhythm analysis.
- acoye 9y agoHey, I'm Adrian. I did the 'More colors' shader. Given the nature of the project, a hackathon, sticking to the last computed FFTs and a notion of time was all we need to play with nice shader effects. I'm currently playing with tensorflow on my spare time. I'd like to use a neural net to find interesting features of a track and inputting this to a shader. That's what I would do if I had another go at it.
- stillkicking 9y agoCool work, but note that a 1024 point FFT isn't really sufficient to visualize music. At 44.1kHz, the lowest frequency you can resolve is 43Hz. Anything below that will be folded into your DC component. Your bass response is mostly going to be overall volume, rather than beat.
- thedjinn 9y agoMost music is mixed not to have any useful spectral information below that frequency anyway. And if you want beat then a better thing you can do is look at the half-wave rectified difference between the sums of two FFT frames (with optional lowpass). This results in an onset graph that is the basis for a lot of real-time beat detection algorithms.