I am working on creating a DJ mix app for Iphone in which a user can select two audio files and can select parts of the audio files to create a new audio files.
I was going through some libraries for audio mixing, I was going though Extended Audio Services libraries in Iphone SDK, since its a new field for me..(as it is an academic project) can anyone tell..me how to start with my application, like which libraries can be helpful and..how the application should work like...whether a user should first mark the audio file listen to it and then stop it at checkpoint and add the audio file to the new audio files ..This is what I was thinking of doing it...is my approach right??..
I would be very much thankful to your guidance.
There is a WWDC video called Audio Development for iPhone OS available if you are a registered apple developer on developer.apple.com.
Some of the frameworks used for this sort of thing are AudioToolbox AudioUnit and AVFoundation. AudioUnit is shown in this video as being specifically for mixing. I am no expert but hopefully this gets you headed in the right direction!
Related
I am working for Music app in that one of the feature is recording user voice and playback the same. So far all things are in control. Yesterday I got a thought and straight away I started Googling, the idea is adding artist names and album image to my recorded audio using AVAudioRecorder, But there is not much success in it.
I also seen AV Foundation Audio Settings Constants to set the AVAudioRecorder settings, failed in this also.
You probably can use an existing audio tagging library, so after creating the file, you can use it to add the required data. I did a quick search and found this libraries:
SonatinaTag: It was made for OSX but it may work for iOS (The project state that has very few external requirements). Not sure if support writing.
TagLib-ObjC: A wrapper for the popular TagLib. Seems to be in development.
TagLib: TagLib, I know is just pure C pain, but maybe is not that hard to use.
Good luck!
I am working on developing an iPhone app to play music. Am using AudioQueue services to play the audio files. App plays all media files correctly, but the app fails to play audiobooks, which I think is because they are different media format (.m4b) from other media items in my library (mp3).
I am sure I need to change how am initializing the audioqueue or AVAssetReaderTrackOutput to play media with different file format but am not sure how.
Can anyone point me to right direction.
Thanks in advance
I have figured it out, the issue was not because of the media format. The Audiobook I was trying to play in my app was DRM protected, so the was unable to play it.
Thanks
I have an app in the App Store, which contains some video and audio in Spanish. Now I want to create a French version and maybe an English one too.
I know how to do it by Localization preferences, but I wanted to know if there is any way to do this as 3 separate binaries, because the Spanish version is already quite heavy (170MB) due to its audio and video files.
Thanks
You could create 3 versions on your app and make each available only on the AppStores of countries that speak that version's language, sure.
Could you try to separate audio and video?
Assuming that the video is not language specific, you may keep ONE copy of the video and have the audio track for each language separately. Of course, you have to do some programming to play audio and video synchronously.
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 :-)
Thanks.
Just found something really cool yesterday.
From iPhone Media Library to PCM Samples in Dozens of Confounding, Potentially Lossy Steps
(http://www.subfurther.com/blog/?p=1103
And also a class library by MIT:
TSLibraryImport: Objective-C class + sample code for importing files from user's iPod Library in iOS4.
(http://bitbucket.org/artgillespie/tslibraryimport/changeset/a81838f8c78a
Hope they help!
Cheers,
Manca
1) No. Apple does not allow direct access to PCM data of songs. Otherwise you could create music-sharing apps, which is not in Apple's interests.
2) No. Hacking and getting approved is impossible due to Apple's code approval mechanism.
3) The only alternative I could think of is that you have to do the processing part on PC/Mac and then transfer it to the iPhone. Or you would have to store the files in your own applications folder - you should be able to load and process these via CoreAudio.
I know this thread is old but... did this work for you, Manca? And did this app get approved?
EDIT: just discovered the AVAssetReader class, introduced since iOS 4.1, should help
Can iphone mix two sound files or build custom equalizer?
I have studied for weeks about this problem,
and it seems unable to use iphone-sdk to mix two or more sound files or to build custom equalizer.
Is anyone have the experience to do this?
Yes you can. AVAudioPlayer can play multiple sounds and you can control the volume for each. Or you can use Audio Units and have more control over the audio data.
aurioTouch is a good sample app for what you are thinking of.
For simple playback of sound files you can use the AVAudioPlayer class introduced in the 2.2 SDK. It provides playback and volume controls for playing any audio file. As far as I am aware, there are no restrictions on the number of sound files you can play on the iPhone. The only restriction on playing sound files is that you may only play one AAC or MP3 compressed file at a time, the rest of the files must be either uncompressed or in the IMA4 format.
If your needs are more low-level (If you need to do DSP) you might want to look at AudioQueue Services or AudioUnits - two Mac OS X audio processing APIs that are also available on the iPhone.