Because I always focus on the audio compatibility of a tool, so I explored the addson of OpenFrameworks a little, which might help my Bravura Project to figure out a way to process audio signal better. After searching for suitable audio library for iOS development, I founded OpenFrameworks is compatible with FMOD and take FMOD as its audio port, then I want to spend more time on FMOD other than OpenAL or PortAudio.
FMOD not only provide a tool for designer, but also open up the source of library for audio programmer who working for the audio mixing, realtime rendering in game based or other entertainment oriented projects. The main products provided by FMOD are :
1. FMOD Studio—-an audio content creation tool for games, with a focus on a ‘Pro Audio’ approach.
2. The FMOD Ex Programmer’s API and Designer —-a world-leading library and toolkit for the creation and playback of interactive audio.
So I am going to dig into FMOD Ex API in the rest of this semester. THis is a super powerful and cross-platform audio library and toolkit, it provides API for Windows, Windows Phone, Mac OX, iOS, Android…because we are using the iOS as and OF is Mac OX based, so I just downloaded the iOS API.
In the IOS API package, they provided api, documentation, examples which are really helpful for FMOD beginners, and tools. Find a “pitchdetection” example and open it in the Xcode, and config the iphone device for testing, then run the program on ios, the screenshot is like:
Digging into the codes a little, the logic of this program can be summed up as in every 0.05 seconds, device detect the audio wave from microphone, and through FFT analysis, return the main function a major frequency of the current sound wave, then through the “frequency–note” mapping, return the interface with both the detected frequency and discrete note char.