I have written an iOS app that allows you to play back music on your iPhone/iPad at slower/faster speeds but at the origin an pitch (for practicing playing music, dancing, etc).
The app reads raw PCM data from the songs stored on the device no problem, using AVAssetReader and AVAssetReaderTrackOutput. But, this fails when trying to load raw PCM data from songs stored in iCloud. Does anyone know if this is possible? As far as I know, Apple have not published an API for doing this, and the APIs used for reading raw PCM from songs stored on the device do not work with iCloud items.
Some of my users have requested playback of songs stored in iTunes, so any help would be greatly appreciated.
Related
I'm aiming to create an audio-visualisation app for iOS. I need to somehow tap into the current audio output from another app (such as Apple's music app, or Spotify) and get the amplitude of the signal for each sample of the music. I will then perform an FFT algorithm on the data to convert it to the frequency-domain and display the data visually.
Is it possible to read this data from the audio output of other apps? If so, what do I need to use to extract this data?
No. The iOS security sandbox will prevent the reading of any audio samples from other apps via any public API (unless the playing app was coded to explicitly export audio data via inter-app audio or other similar interface).
I'm in the process of building an app that uses the IPod Library Access API, so that I can play songs from iTunes in the app. However I also need to access the audio data of whatever song is playing, like how a music visualizer would.
So far, looking through the Audio Session documentation and the Core Audio documentation, I haven't found any officially supported means of achieving this. As I understand it, it would require accessing audio data from another audio session, as in the iPod access api, technically iTunes is playing in the background as I understand it and thus has a different audio session.
So basically how can you access audio data from another audio session? Specifically getting the audio data of songs played through the iPod Access API?
See the AudioTapProcessor iOS Sample sample app in Apple's iOS Developer Library (sign on required), for the use of the AVFoundation MTAudioProcessingTap API.
AIM: I am trying to integrate my iPhone app with a bluetooth device that can play music and display some visualisation (yet to choose bluetooth hardware). There are three things that puzzles me:
I have seen some sample programs that generate visualisation data based on averagePowerForChannel using AVAudioPlayer. Is it possible to extract such information for a music stored in iPhone filesystem without actually (or before) playing the music? Since iPhone apps cannot execute in background infinitely, extracting this data realtime may not advised?
Once I create this "visualisation" data for an mp3, can how can I send the data to my bluetooth device? I know we can sent custom data only via BLE. Is there a possibility that I can send music data and visualisation data to the bluetooth device at the same time?(or sent visualisation data for a few seconds first and then start streaming the music) - This advice will help me to choose a proper hardware, provided iPhone supports this!
If I cannot sent music data and visualisation data at the same time over bluetooth, I am planning to extract visualisation data first from the mp3(how?), send it over to be stored in the bluetooth device and then display accordingly, in sync with the music data received in real time. Is this possible?
I need to store and constantly update thousands of audio clips and for use with an iOS app. I also need to store metadata with each audio clip. Based on user inputs I need to query the database that the clips are held in and download several clips to a temporary folder in the app so they can be played.
It doesn't seem that a service like Parse can store large audio files.
What would be the best approach for something like this?
I want to make a blackberry app. which will store audio and video files,those are played by BB device (play list) and other information related to those songs (as artist name, album name) on the server.
i succeed to access all audio and video songs that are on BB device, but dont know how to access only those songs ,which are played. And i got those songs only as byte array, how could i get information about those songs?
Does blackberry have any special api for this?
This page in a guide about working with multimedia on the BB may help you. If not, surely something in the guide will answer your question.