1 / 24

L’Audio sur PC

L’Audio sur PC. Comparaison Numérique vs Analogique Comparaison Audio sur PC vs Hardware dédié (DSP) Rmq : beaucoup de simulitudes avec la vidéo, mais débit vidéo bcp + élevé!. Dsp: les +. + optimisé, « puissant » pour le traitement de signal

turner
Download Presentation

L’Audio sur PC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. L’Audio sur PC • Comparaison Numérique vs Analogique • Comparaison Audio sur PC vs Hardware dédié (DSP) • Rmq: beaucoup de simulitudes avec la vidéo, mais débit vidéo bcp + élevé!

  2. Dsp: les + • + optimisé, « puissant » pour le traitement de signal • + travail échantillon par éch => latence = 1 échantillon • + produit final embarqué, simple , pas cher, …

  3. DSP: les - • - Difficultés de développement (connaissance architecture, langage bas-niveau) • - Code peu réutilisable • - Entrées / sorties limitées • - Cher pour un petit développeur (pas possible à la maison!) • - Communication avec d’autres soft et avec l’utilisateur (clavier, écran,…)

  4. PC: les + • + On en a 1 chez soi! • + Langage de programmation haut-niveau • + Communication autres applications soft / utilisateur • + Code réutilisable (plugins) • + Sortie carte son: dével applications indépendantes du matériel grâce aux drivers • + Disque dur (lecture et ecriture) de fichiers, stockés sous différents formats (waves, mp3, …)

  5. PC: les - • - pas embarqué • - latence (on travaille sur des blocs d’éch.) • - OS pas temps réel

  6. Les drivers: Introduction • Qu’est-ce qu’un driver (pilote) • Présentation des drivers les plus courants • (MME) • DirectSound • ASIO • Linux: OSS et ALSA

  7. Présentation • On entend par driver un ensemble d’APIs (application programming interfaces) permettant l’accès à un composant matériel sans devoir écrire du code spécifique à ce matériel. • L’intérêt majeur d’un driver est de pouvoir utiliser un même et unique code pour tout matériel supportant ce driver.

  8. Présentation (suite) • Le terme driver est utilisé à tort car derrière les APIs, il existe un vrai driver fourni par le fabriquant du matériel mais ce terme, que nous utiliserons dans la suite, est le plus courant. • L’API accède au module du vrai driver chargé par le système au démarrage. • Certaines fonctionnalités peuvent ne pas être prises en charge par le driver

  9. Drivers les plus courants • (MME) • DirectSound • ASIO • OSS • ALSA

  10. MME • MultiMedia Extension (Windows) • Utilisé depuis Windows 3.0. Fait partie intégrante de l’O.S.

  11. DirectSound • Composant de DirectX (Windows) • Fait partie intégrante de l’O.S. Windows • Plus simple, plus efficace et de latence plus faible que MME. • Possède également des fonctions 3D

  12. ASIO • Développé par Steinberg • Audio pro, très faible latence

  13. LINUX • OSS • ALSA

  14. Comment ça marche: Direct Sound • 1 buffer pour entrée (playback) et/ou 1 buffer pour sortie (capture) • Le buffer est subdivisé en partitions • Dès que la « tête » de lecture (resp. écriture) passe d’une partition à l’autre, un événement est généré pour signaler qu’un nouveau bloc d’échantillons peut être écrit (resp. lu) • Taille du buffer et nombres de partitions paramétrable

  15. Les fonctions « callback » • Un pointeur de fonctions est donné à chaque thread • Avantage: on ne doit pas reprogrammer les fonctions exécutées dans les threads • Permet de créer des plugins

  16. Les plugins • Code compilé en shared et chargé dynamiquement • Permet de faire évoluer une application de base (host) (pour les effets, les entrées/sorties) • Plugin standard: VST

  17. Fichiers wave • Header • Échantillons entrelacés

  18. Autres formats de fichiers: • MP3, Ogg Vorbis, etc.: on peut les ajouter à une application facilement (par ex. via plugins)

  19. Présentation du travail • 1 application • Entrée/sortie steréo • 4 combinaisons entrée/sortie possible (fichier wave ou dsound) • Dsound configurable (taille buffer et nombre de partitions) pour entrée et sortie (lantence!) • Plugin de traitement

  20. Exemple de plugin: • Voir code • Compilation d’un plugin

  21. Outils à disposition • Application • Plugin exemple • Pas obligatoire: Compilateur gratuit, librairies nécessaires, Makefile

  22. Remarques pour le travail • Configuration entrée/sortie via fichier • Pas de messages d’erreur, peut donc planter si mauvaise opération • Taille bloc d’entrée doit être identique en entrée et sortie • Réglages controleur de volume • 16 bits, 44kHZ, stereo • Testé sur plusieurs pcs, mais toujours en développement (entrée sature sur un pc) • Possibilité d’une interface graphique

  23. Remarques travail (suite) • Nom du fichier plugin et du module à exporter: modifier le prefixe « bypass »(voir exemple) • Echantillons dans le plugin au format Float normalisés entre –1 et 1

  24. Vocabulaire • blocksize= nombre de frames d’une partition. • 1 Frame= 1 couple échantillon (1 échantillon par canal)

More Related