I have finally reached the last stage of my project. As mentioned in the previous post, it involves the creation of reactive audiovisuals. It is not an easy task as it involves a lot of creative thinking and digital signal processing knowledge.
I have created a separate project so that I could isolate audio and visualisations classes and only worry about them. The project source files can be found at https://github.com/jasetom/audio-visuals-excerpt-from-VinylAR
Firstly, I have connected audioManager and visualsManager classes using get() and set() functions. This means that I can now use audio features as parameters for my visualisations.
For example, to use an audio feature called spectralCentroid I have to call these functions in the main update() function:
I do this for all the interesting audio features mentioned in my previous post which can be found here: Adding Sounds!
Now that I can access variables in visualsManager class I can use them to manipulate preset visuals. In my last blog post, I’ve told you that I have started to work on visualisations inspired by platonic solids, however as I’ve begun development I have realised that most of those shapes will require a lot of time to develop. As well as time, the processing power on iPhone is not that great and after trying out a few of them I come to a conclusion to create different visualisations. So, that is what I’ve been doing for the past two weeks. Here are a few screenshots of the audiovisuals running on an iPhone:
Also, I have made a video recording of the current state of visuals running on iPhone:
I hope to make the visuals more aesthetically pleasing, as this is the first draft it works ok for now. I have also decided to use the ofxIOSPostGlitch addon which provides interesting glitch effects using frag shaders. The source code for this add-on is located at https://github.com/RyotaKatoh/ofxiOSPostGlitch. It is an implementation of ofxPostGlitch addon which provides great visual effects.
As the time is ticking and I’ve still got plenty of work to do I will end this week’s blog update now and get back to coding! But before I do that here is a list of things I’ve still have on my list for the upcoming month:
- Full implementation of audiovisuals;
- User testing;
- GUI improvements (using feedback from test users);
- Code refactoring;