Rechercher



Pourquoi BeOS pour l'audio

Vous êtes ici : Matériel / OS >BeOS
English Version...


Station de travail audio en 24 bits/96 kHz utilisant le système d'exploitation hautes performances BeOS sur machine Intel multiprocesseurs par : Michael Jurewicz - Mytek, Inc., New York, NY, USA Timothy Self - Be, Inc., Menlo Park, CA, USA

La station de travail audio (DAW - en anglais digital audio workstation) s'est rapidement imposée comme l'outil de production audio digital le plus important. Avec l'avènement de formats audio multi-canaux à haute résolution et de procédés d'échanges audio via Internet, les hautes performances et les traitements sans défauts des ordinateurs dédiés à l'audio sont devenus une nécessité. Tout en expliquant pourquoi les architectures les plus populaires actuellement ne sont pas adaptées à ces nouvelles tâches, les auteurs explorent les possibilités du nouveau système d'exploitation de Be (BeOS) - spécifiquement conçu et optimisé pour traiter l'audio et la vidéo numériques. De nouvelles fonctionnalités, inaccessibles avec les systèmes d'exploitation actuels, sont passées en revue.


Introduction

Les performances toujours croissantes des ordinateurs ont causé une migration graduelle des outils clefs de production audio d'une mise en ?uvre hardware vers le monde virtuel de l'informatique. Cette tendance va se poursuivre, propulsée par des considérations purement économiques et l'apparition de nouvelles fonctionnalités telles que l'échange de données audio en réseau. Bien que le matériel informatique soit à la hauteur de cette tâche, les systèmes d'exploitation à vocation généraliste actuels constituent le véritable goulot d'étranglement des performances. Conçus voici plus de dix ans pour des traitements généralistes, ils ne peuvent répondre à la demande croissante en termes de célérité et de taille de fichiers. Le nouveau BeOS a été conçu de A à Z pour manipuler audio et vidéo à large bande passante dans un environnement moderne multiprocesseur et multitâche. Cet article aborde seulement l'utilisation d'ordinateurs modernes grand-public (compatibles IBM et Apple) et leurs systèmes d'exploitation (Windows, MacOS, BeOS et Linux).

Bien que bon nombre de solutions spécialisées telles que les stations Silicon Graphics (SGI) procure des performances supérieures, celles-ci ne seront pas prises en compte, car leur présence dans l'environnement audio professionnel est minimale à ce jour.


DAW à base d'ordinateur personnel

La dernière décennie a été le témoin d'une montée en flèche de la popularité des DAW à base d'ordinateurs personnels (PC). Leur coût réduit, la mise à disposition de matériel informatique en grande quantité et leur grande souplesse sont les principales raisons de leur succès. Avec l'accroissement de leur puissance de calcul, ils sont voués à conquérir de vastes zones du processus de production audio, remplaçant peu à peu le matériel audio dédié. Le concepteur d'une DAW à base de PC doit peser des centaines de facteurs pouvant affecter la qualité et les performances du système complet. Tous les éléments - intégrité du signal, qualité et rapidité du traitement, fonctionnalités prévues, performances du matériel et système d'exploitation doivent être étudiés avec précaution. Ce n'est pas un, mais tous ces éléments pris dans leur ensemble qui font une DAW professionnelle. Ces facteurs sont analysés plus bas.


Architectures DAW à base d'ordinateur personnel les plus répandues

L'architecture des DAW à base d'ordinateur personnel peut se répartir en deux grandes catégories : DAW à base de processeur DSP (Digital Signal Processing - Traitement du Signal numérique) d'une part, et DAW à base de processeur-hôte d'autre part.

Stations de travail audio à base de processeurs DSP : les stations de travail audio à base de processeurs DSP utilisent du matériel DSP dédié pour le traitement de l'audio. Dans les architectures anciennes, l'intégralité des tâches liées à l'audio, y compris le stockage et la mise en réseau, étaient pris en charge par ces matériels dédiés [fig 3.1].

Figure 3.1

L'ordinateur-hôte sert d'interface utilisateur et peut aussi gérer les tâches liées au stockage de l'audio. Le logiciel de l'ordinateur-hôte communique avec les puces DSP dédiées via une API (Application Programming Interface - Interface de Programmation). Avec un PC rapide contrôlant du matériel DSP multi-processeurs, l'enregistrement et le traitement multipistes sont devenus une réalité commerciale. De tels systèmes sont en mesure de procurer des fonctionnalités similaires à celles d'un studio d'enregistrement 48 pistes de taille moyenne. Les systèmes d'exploitation actuels les plus répandus, Windows et MacOS, sont généralement suffisants pour cette tâche. Ils ne sont pas impliqués dans la chaîne de traitement de l'audio, bien que leurs limitations deviennent apparentes lorsque le nombre de pistes demandées, et donc le débit de données, augmente. Les capacités de manipulation des données et le système de fichiers orienté média de BeOS se révèlent être un avantage. [fig 3.2]

Figure 3.2

Stations de travail audio à base de processeur-hôte : les stations de travail audio à base de processeur-hôte utilisent le processeur de l'ordinateur qui les héberge pour toutes les tâches, y compris le traitement de l'audio. Leur principal avantage est leur coût relativement bas. Traiter un grand nombre de pistes audio s'avère gourmand en puissance de calcul et n'est pas correctement réalisé par Windows ou MacOS. Actuellement, il n'est pas possible pour une DAW à base de processeur-hôte d'atteindre des performances comparables à celles d'un système 48 pistes à base de DSP. Cependant, il est possible d'assembler un système totalement opérationnel pour des tâches nécessitant un plus petit nombre de pistes telles que les DAW utilisées pour le mastering des CD et des DVD-audio. Des améliorations significatives de la DAW à base de processeur-hôte peuvent être obtenues en employant le système d'exploitation BeOS. La DAW à base de processeur-hôte fait ci-dessous l'objet de plus amples développements. Une station de travail audio haute résolution, 8 pistes 24 bits/96kHz présentée plus loin dans cet article est prise à titre d'exemple.[fig 3.3]

Figure 3.3


Traitement du signal numérique

Systèmes à base de processeur-hôte contre systèmes à base de DSP : l'utilisation de puces DSP, spécialement conçues pour ces tâches, est la façon la plus efficace de réaliser des traitements audio au sein de matériel dédié. Les DSP ont vocation à être utilisés dans les grands systèmes DAW multipistes, dans lesquels de nombreuses pistes audio doivent être traitées simultanément. Les systèmes de moindre taille, tels que ceux nécessaires au mastering CD ou DVD ou pour l'édition multipiste, ne nécessitent pas de matériel dédié. Les processeurs des ordinateurs personnels d'aujourd'hui s'en tireront bien. Plus ou moins bien, en fonction du système d'exploitation utilisé et de l'efficacité du code proprement dit. La puissance de calcul d'un microprocesseur se doit d'être comparée avec celle d'une puce DSP. Bien qu'un microprocesseur soit sensiblement plus puissant, ses performances en traitement du signal sont compromises par un jeu d'instructions non optimal, par le temps prélevé par le système d'exploitation pour ses propres tâches, et par le fait que le code est presque toujours compilé - et de ce fait non optimisé. Les puces DSP sont habituellement programmées de façon efficace en utilisant un langage assembleur et leur architecture est spécialement conçue pour les besoins du traitement du signal. Des comparaisons du monde réel grossièrement estimées ont été menées par les auteurs et des résultats similaires ont par ailleurs été publiés par d'autres. Un monoprocesseur Pentium II 400 MHz et une puce DSP Motorola DSP56301 à 80MHz peuvent réaliser des traitements du signal similaires. Un Pentium III 400 MHz avec du code optimisé peut fournir 40% de plus. Un processeur PPC G3 400MHz peut fournir jusqu'à 80% de plus. Ces chiffres doivent être pris avec précaution car ils peuvent varier d'un facteur allant jusqu'à trois - en fonction de l'implémentation du processeur au cas particulier. Le choix du système d'exploitation et l'efficacité du code deviennent essentiels. Cette comparaison souligne les faiblesses du traitement sur processeur-hôte sur des machines monoprocesseur utilisant Windows ou MacOS. BeOS, Windows 2000, Windows NT, Linux et MacOS X sont aptes au traitement multiprocesseur, et de ce fait peuvent se mesurer aux systèmes DSP de petite et moyenne puissance. Une machine multiprocesseur peut offrir une puissance de traitement suffisante pour une DAW honorable, du moment que le système d'exploitation utilisé supporte le traitement multiprocesseur symétrique.

Traitement du signal numérique utilisant le processeur-hôte : Une DAW professionnelle doit fournir un degré de qualité sonore suffisant. L'audio 16 bits PCM n'est pas adéquat. L'audio 24 bits/96kHz PCM est actuellement considéré comme un standard professionnel. L'intégrité du signal requiert une résolution de traitement supérieure à celle de la source. Un traitement et un stockage en virgule flottante 32 bits fait partie intégrante des systèmes d'exploitation les plus modernes et peut donner d'excellents résultats. Le format IEEE-754 en 24E8 (mantisse sur 24 bits, exposant sur 8 bits) simplifie la programmation et fournit des résultats supérieurs à ceux obtenus par des puces DSP populaires au format 24 bits fixes, simple précision. La plage dynamique constante inhérente au signal traité en virgule flottante se traduit par une meilleure précision globale, une meilleure gestion des signaux de basse amplitude et à changements de gain multiples. Le format en virgule flottante est par ailleurs moins propice aux erreurs de programmation, couramment rencontrées dans les logiciels audio de basse qualité. Les auteurs ont proposé une résolution cible pour chaque composant de la DAW sur processeur hôte en 24 bits/96 kHz qui garantit l'intégrité du signal [fig 4.1].

Figure 4.1

Les convertisseurs A/N offrent une plage dynamique de 120dB. Leur sortie en 24 bits entier est fournie à l'ordinateur via une carte entrée/sortie numérique 24 bits. Le traitement est effectué en 32 bits virgule flottante et le stockage se fait lui aussi en 32 bits. Le signal traité fait alors l'objet d'un "dither" (voir ce terme dans le DICO ECVST) correspondant au 24 bit entier, est converti en 24 bits entier PCM et ressort via la carte entrée/sortie numérique. Certaines applications telles que le mastering, peuvent nécessiter un traitement en double précision. C'est-là une fonction standard du processeur Pentium et qui requiert approximativement le double de puissance de calcul après déduction de la charge système. En résumé, le traitement du signal numérique sur processeur-hôte est plus simple, plus rapide à mettre en ?uvre que celui sur puce DSP, qui requiert presque toujours de programmer à la main en assembleur. Le code pour processeur-hôte, souvent écrit dans des langages tels que C et C++ est facilement portable et peut préserver une très haute qualité du signal si le format 32 bits en virgule flottante est utilisé.


Choix du système d'exploitation - BeOS, une approche nouvelle Les systèmes d'exploitation qui prolifèrent actuellement -

Windows 95/98, Windows NT et MacOS furent conçus originellement voici plus d'une décennie, à une époque où l'idée que des ordinateurs personnels puissent manipuler de l'audio et de la vidéo en temps réel était de la pure science-fiction. Windows 98 est un descendant de DOS ; Windows NT des systèmes VAX conçus originellement par DEC ; MacOS trouve son origine dans le Parc de Xerox et dans Mach. Les schémas de conception obsolètes de ces systèmes sont en train de devenir un obstacle à de nouvelles avancées en termes de contraintes temps-réel. Avec ces systèmes, les seules options pour augmenter les performances reviennent à employer du matériel plus rapide en contournant tant bien que mal les problèmes. BeOS libère la puissance des ordinateurs. Vitesse, multiprocesseur, multitâche, multithread et une architecture orientée média font de BeOS la plateforme privilégiée pour les applications audio numérique. Un temps de latence faible, un cadencement adéquat, des kit API pour média, le système de fichiers et sa hiérarchie aident le programmeur à développer rapidement des logiciels audio hautes performances.

Contraintes temps-réel et de faible temps de latence : l'équipement analogique traite le son à une vitesse proche de celle de la lumière, instantanément. Temps-réel et faible latence sont les prérequis de base pour presque tout matériel d'enregistrement. L'audio numérique constitue un flot de données en temps réel et se doit d'être traité en conséquence. Le temps de latence est inhérent à tout les systèmes audio numériques et peut se décrire comme étant le temps que prend le signal pour aller de l'entrée à la sortie. Les systèmes audio à base de DSP sont presque toujours décrits comme étant des systèmes en "temps-réel fixe". Le Temps de latence est fixé et toujours garanti quelque soit la charge du système. La plupart des systèmes d'exploitation ne sont pas en mesure de fournir du "temps réel fixe", bien que ceci puisse être tenté en utilisant le noyau Linux RTkernel. Une latence raisonnablement basse, inférieure à 20 millisecondes, est nécessaire. Une latence longue est la principale raison pour laquelle Windows 98 et Windows NT ne sont pas adaptés au traitement audio. La désactivation des interruptions système conduit les temps de latence à excéder souvent 100ms sous Windows 98 et MacOS. Windows NT et MacOS X s'en tirent encore moins bien. BeOS est spécialement conçu pour du traitement à faible latence et parvient actuellement à des latences inférieures à 10ms en gérant rapidement des buffers de données de 2.7ms. Les buffers sont ajustables jusqu'à 32 frames et des latences descendant jusqu'à 6ms sont accessibles. Il est possible d'atteindre des temps de latence bas sous Windows et MacOS, mais seulement en passant par des drivers d'entrée/sortie spécifiques au matériel utilisé, qui peuvent "pirater" le système. Microsoft a proposé l'architecture WDM conçue pour le multimédia de grande consommation afin d'améliorer la latence de Windows.

Latences typiquement présentées (drivers standards/drivers spéciaux) :

  • BeOS - 10ms
  • Linux - 15ms
  • MacOS - 50ms/15ms
  • Windows 98 - 100ms/25ms
  • Windows NT - 100ms
  • MacOSX - 150ms
  • Yamaha 02R console numérique "temps réel fixe" - 20ms

Multiprocessing, multitâche, multithreading et mémoire protégée dans BeOS : les avantages d'utiliser une machine multiprocesseur comme hôte pour une plateforme DAW ont été décrits au (4.1). Une percée croissante des machines multiprocesseurs est la tendance actuelle pour les schémas de conception du matériel de l'industrie informatique. BeOS offre la capacité du multiprocessing symétrique (SMP) qui répartit la charge de traitement de façon égale sur tous les processeurs disponibles. Jusqu'à 8 processeurs peuvent être gérés. Certains systèmes d'exploitation tels que Windows NT, Windows 2000, MacOS X et Linux présentent aussi une architecture SMP. Le multitâche de BeOS permet de réaliser plusieurs tâches à la fois. Celles-ci sont traitées par ordre de priorité en cohérence avec l'orientation média du système. L'audio a la priorité la plus haute, puis vient la vidéo, puis ensuite le reste des autres tâches. Un multithreading généralisé prend des tâches de grande ampleur, telles que des applications, et les découpe en une myriade de tâches plus petites qui peuvent s'opérer en parallèle. L'utilisateur voit les performances et la capacité du système accroître sensiblement de ce fait. BeOS permet au programmeur d'écrire des applications multithread, et ainsi, des logiciels complexes tels que les DAW peuvent être hautement optimisés. La fonction de protection de la mémoire dont dispose BeOS préserve le système et les autres applications lorsque l'une d'entre elles plante, évitant d'entraîner les autres avec elle.

Kit média - Interface de Programmation standardisée dans BeOS : une API média complète et standardisée est intégrée dans BeOS. Elle est spécialement prévue pour gérer les médias temps-réel tels que l'audio numérique, le MIDI et la vidéo numérique. Elle permet un flux de données à faible temps de latence, le calcul des latences pour synchroniser des flux de données multiples, et des fonctions de timing. Le timing peut s'appuyer sur toute source telle qu'entrées/sorties numériques, MIDI ou système. Les données sont temporisées en millisecondes permettant ainsi l'édition audio à l'échantillon près pour des fréquences d'échantillonnage supérieures à 192 kHz. L'architecture du kit média fondée sur la notion de "n?ud" permet l'accès par des applications audio multiples au même matériel ou aux mêmes données. Le kit média de BeOS est l'API audio la plus évoluée de l'ensemble des systèmes d'exploitation.

Système de fichiers 64 bits multithread à journalisation de BeOS : le système de fichiers 32 bits utilisé par la plupart des systèmes d'exploitations limite la taille d'un fichier à 4 gigaoctets. Une prise audio de 15 min sur 16 pistes en 32 bits/96 kHz occupe 5,5 Go, dépassant allègrement cette limite. BeOS met en ?uvre un système de fichiers capable de gérer des fichiers de 18 milliards de Go. En outre des fonctionnalités de base de données y sont intégrées pour permettre une recherche rapide, utile à des applications telles que les librairies de sons ou les échantillonneurs. Le système permet la journalisation des transferts de fichiers interrompus, éliminant la nécessité de recommencer le transfert à partir de zéro. Une architecture plug-in existe aussi pour permettre de monter d'autre systèmes de fichiers tels que le FAT de Windows ou le HFS de MacOS. Tout système de fichier peut être ainsi adjoint à BeOS sous forme de plug-in, permettant des échanges de données aisés. BeOS gère les formats de fichiers populaires ainsi que des services de traduction. BeOS intègre le protocole TCP/IP en mode natif.

Fraîcheur des fondations du système sans poids du passé - autres fonctionnalités de BeOS : BeOS est un système d'exploitation moderne intégralement conçu à partir de zéro, spécialement comme système d'exploitation orienté média. D'autres systèmes d'exploitation, plus particulièrement MacOS et Windows, traînent derrière eux des couches de code héritées du passé qui viennent handicaper les performances du système et compliquer sensiblement le travail du programmeur. Elles favorisent les mauvaises habitudes de programmation et compromettent les performances des drivers systèmes qui doivent continuer à supporter des matériels obsolètes. BeOS n'hérite rien du passé, et est conçu pour des performances maximales. Ses drivers systèmes sont conçus pour le matériel moderne, avec pour résultat une performance globale grandement accrue. BeOS est programmé en C++ orienté objet, dans un style moderne multithread. Des applications aux fonctionnalités similaires se traduisent par du code 2 à 3 fois moins volumineux sous BeOS que sous Windows. En conséquence les applications BeOS s'exécutent jusqu'à 4 fois plus vite sur le même matériel comparé à Windows 98.


Une DAW 8 pistes 96 kHz sous BeOS sur une machine à base de 4 processeurs Pentium III

Une DAW à base de processeur-hôte efficaces et présentant de hautes performances a été assemblée en utilisant un jeu de 8 canaux de convertisseurs A/N et N/A 24 bits/96 kHz, une carte PCI d'entrée/sortie numérique véhiculant 16 canaux 24 bits/48 kHz utilisant 2 interfaces ADAT lightpipe, et un ordinateur "compatible IBM" [fig 6.1].

Figure 6.1

La partie matérielle de l'ordinateur se compose d'une carte-mère contenant 4 processeurs Pentium III 400 MHz, un disque rapide possédant une interface SCSI ultrawide sur carte PCI et les éléments standard nécessaires. Le système permet le triple-démarrage sous Windows 98, Windows NT ou BeOS. Avec des applications appropriées, 8 canaux d'audio à 24 bits/96 kHz peuvent être entrés et traités en temps réel. Un nombre sensiblement plus important de pistes peut être édité et restitué. Une méthode de multiplexage des échantillons est utilisée pour véhiculer de l'audio 24 bits/96 kHz au travers de 2 interfaces ADAT lightpipe. Les boîtiers de convertisseurs audio permettent la traduction du format depuis et vers le format standard AES/EBU et une synchronisation du système à faible jitter (NdT : jitter = décalage de la transmission d'échantillons entre deux équipements physiques reliés en numérique, conduisant à une dégradation de la qualité du signal).


En résumé

Une DAW professionnelle, hautes performances et haute résolution peut être réalisée à partir de processeurs Intel et du système d'exploitation BeOS. Cette solution est une alternative robuste et économique aux systèmes DSP de moyenne catégorie utilisés pour le mastering CD et DVD et l'édition audio multipiste. BeOS libère la puissance du matériel en supprimant un certain nombre de problèmes de performances associés aux DAW actuelles tels que l'instabilité, l'incompatibilité matérielle et de formats de fichiers, et la réactivité médiocre du système. La DAW à base de BeOS relève les défis de demain que seront la production et la distribution audio sur Internet.

Traduit et publié avec l'aimable autorisation de Michael Jurewicz (MyTecDigital) et de Timothy Self (Be Inc).

Traduit par Arnaud LE BOULANGER, le 16-10-1999

Page vue 13300 fois