Building a visualizer: Sound and signal processing
9 replies, posted
Howdy,
I want to take a stab at creating a pimp'n visualizer. To do that I need to be able to do some spectrum analyses on a given song. As I do not have any experience with signal processing, I was hoping those of you who do could point me in the right direction.
What tools/libraries should I use if I want to be able to detect pitch and tonal changes as well as volume and hopefully BPM.
I'm comfortable using any modern language.
PS: I don't expect this to be a real-time application.
Slightly off topic. But has anyone ever considered using image recognition on a visualiser, as a form of sound recognition.
[QUOTE=hcross1;46994272]Slightly off topic. But has anyone ever considered using image recognition on a visualiser, as a form of sound recognition.[/QUOTE]
what so like using the visual translation of the wave movements to recognize "HEY THATS A BASS DROP I CAN TELL BECAUSE IT LOOKS LIKE ONE"
that would be cool
[QUOTE=No Party Hats;46994303]what so like using the visual translation of the wave movements to recognize "HEY THATS A BASS DROP I CAN TELL BECAUSE IT LOOKS LIKE ONE"
that would be cool[/QUOTE]
I was once working on a project which involved a LOT of voice editing work, which involved spending hours looking at visual translations of words. Over a long period of time I was actually able to recognise basic words just from their visualisation. Computers could do this too, similar to how face recognition technology works.
[QUOTE=hcross1;46994272]Slightly off topic. But has anyone ever considered using image recognition on a visualiser, as a form of sound recognition.[/QUOTE]
You could do, but there wouldn't be any benefit over using traditional signal processing techniques (and depending on how the visualiser works there's probably be drawbacks). It's a cool idea though!
I don't know much about relevant libraries etc but if you need any general help regarding signal processing techniques feel free to pm me and I'll try to give you a hand.
OP, look at the convolution, there might lie your answer
Well believe it or not, sound files contain all the data you need. If you take the bytes of a wav file, and map them across the x-axis, the amplitude of the bytes will actually reflect the sound wave across the x-axis. I.e:[url=http://facepunch.com/showthread.php?t=1439640&p=46624543&viewfull=1#post46624543]Unless you want to display some other kind of data, I believe this is what you are looking for.[/url]
Now, I did mine a stupid way. I dumped the data into a text file and read it through that (but that's because I was doing it in basic and have no idea how reading binary files in basic works). If you did this in another language, say C++, there are standard library functions to directly read binary data that you can map as [b]SIGNED[/b] 16-bit integers (signed is very important; I forgot this)
[QUOTE=proboardslol;46995527]Well believe it or not, sound files contain all the data you need. If you take the bytes of a wav file, and map them across the x-axis, the amplitude of the bytes will actually reflect the sound wave across the x-axis. I.e:[url=http://facepunch.com/showthread.php?t=1439640&p=46624543&viewfull=1#post46624543]Unless you want to display some other kind of data, I believe this is what you are looking for.[/url]
Now, I did mine a stupid way. I dumped the data into a text file and read it through that (but that's because I was doing it in basic and have no idea how reading binary files in basic works). If you did this in another language, say C++, there are standard library functions to directly read binary data that you can map as [b]SIGNED[/b] 16-bit integers (signed is very important; I forgot this)[/QUOTE]
Ohh snap, that is almost exactly what I was looking for! This might be easier than I originally thought.
So I'm now creating a visualizer with the data that I'm pulling. Need to name this project, any ideas?
Naming things is by far the hardest part of programming.
Sorry, you need to Log In to post a reply to this thread.