Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parHerluin Boutet Modifié depuis plus de 9 années
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)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.