2010-07-07 10 views
1

J'essaie de lire un fichier .caf sous forme de tableau de valeurs flottantes afin d'effectuer une FFT et d'extraire des données de hauteur. Le fichier .caf est enregistré en tant que LinearPCM à l'aide de la classe AVRecorder. Comment vais-je faire cela dans le monde? En lisant la structure des fichiers .caf, je comprends qu'il s'agit d'un en-tête de fichier qui devra être ignoré, ainsi que de nombreux en-têtes pour des «morceaux» individuels de données audio. Est-il possible de déterminer où se trouvent les en-têtes? Les fichiers audio enregistrés ne dureront que quelques secondes, ils ne devraient donc pas contenir plus d'un morceau, mais je n'arrive pas à trouver une référence pour la structure .caf qui va dans plus de détails que l'Apple Reference Library.Lecture de Core Audio en tant que tableau de flottants

Répondre

1

Vous voulez utiliser l'API Audio File Extended

http://developer.apple.com/iphone/library/documentation/MusicAudio/Reference/ExtendedAudioFileServicesReference/Reference/reference.html#//apple_ref/c/func/ExtAudioFileRead

Cela fera vraiment facilement. Il n'y a aucune raison d'essayer d'analyser le fichier manuellement.

+0

Utilisez ExtAudioFile pour lire le fichier et obtenir les données d'exemple. Les données PCM linéaires peuvent être dans un nombre quelconque de formats flottants ou entiers, vous devrez donc convertir la représentation en virgule flottante dont vous avez besoin. – lucius

+0

Vous pouvez également utiliser AUGraph avec un rendu hors ligne et un noeud convertisseur. –