Well, I will try best not to make it as a 'I just want the code' question...
I'm recently working on a project which requires some audio signal processing from local music files (e.g. iTunes Library). The whole work includes:
- Get the PCM data of an audio file (normally from iTunes library); <--AudioQueue (?)
- Write the PCM data to a new file (it seems that Apple does not allow direct modification on music tracks); <--CoreAudio(?)
- Do some processing and modification, like filters, manipulators, etc. <-- Will be developed in C++
- Play the processed track. <--RemoteIO
The problem is, after going through some blogs and discussions:
(http://lists.apple.com/archives/coreaudio-api/2009/Aug/msg00100.html, (http://atastypixel.com/blog/using-remoteio-audio-unit/
(http://osdir.com/ml/coreaudio-api/2009-08/msg00093.html
as well as the official sample codes, I got a feeling that the CoreAudio SDK allow us to apply audio processing only on voice demos recorded from Mic.
My question is that:
- Can I get raw data from iTunes library tracks instead of Mic input?
- If the first question is 'No', is there a way to 'fool' the SDK to let it think it is getting data from Mic input, not from iTunes? (I have done some similar 'hacking' stuff in C# before XD)
- If the whole processing just doesn't work, can anyone provide some alternative ideas?
Any help will be appreciated. Thank you very much :-)
=================
P.S. Is it possible under Android? Thanks.