Core Audio est une interface logiciel sur OS X et iOS servant à faire le lien entre les pilotes du matériel audio (hardware) et les applications audio.
- Le core audio permet d’optimiser la gestion du son temps-réel (faible latence requise)
- Le core audio est un peu un lien entre matériel (exemple courant : carte son) et applications (exemple : Pro Tools).
Le Core Audio peut être décomposé en plusieurs couches de programmation, contenant différents services :
(Source image : developer.apple.com)
Low-level Services = Services bas-niveau
- I/O Kit = interaction avec les pilotes (drivers).
- Audio HAL = interface indépendante en lien avec le matériel audio.
- Core MIDI = gestion des flux MIDI et appareils MIDI.
- Host Time Services = accès à l’horloge de l’ordinateur.
Mid-level Services = Services mi niveau
- Audio Converter Services = autorisent les applications à travailler aux formats audio des convertisseurs.
- Audio File Services = permet de lire et écrire des données audio sur le disque.
- Audio Unit Services et Audio Processing Graph Services = autorisent les applications à travailler avec les plug-ins de traitement du signal.
- Audio File Stream Services = permet de construire des applications streaming à travers une connexion internet.
- Core Audio Clock Services = permet de synchroniser l’audio et le MIDI lors de la conversion.
High-level Services = Services haut-niveau
- Audio Queue Services = permet d’enregistrer, de lire, de synchroniser, de répéter de l’audio. Utilise des codecs nécessaires pour l’utilisation de formats compressés.
- The AVAudioPlayer class = fournit une interface pour lire, répéter, rembobiner ou avancer rapidement de l’audio.
- Extended Audio File Services = combinent les fonctions de l’Audio File Services et de l’Audio Converter services.
- OpenAL = implémentation Core Audio de OpenAL.
Réponses