Obligement - L'Amiga au maximum

Samedi 24 mai 2025 - 00:35  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Dossier : Le son sur Amiga
(Article écrit par David D. Thiel et extrait de Byte - octobre 1986)


Si les capacités de production sonore de l'Amiga dépassent les sons primitifs à ondes carrées des premiers ordinateurs personnels, la machine a encore des limites à surmonter. Faire du son avec des micro-ordinateurs est une sorte de tour de passe-passe. Par exemple, lorsqu'un micro-ordinateur produit un son de clarinette, il produit en fait une onde carrée. Le résultat ressemble à une clarinette parce que la forme d'onde d'une clarinette est proche d'une onde carrée. Mais la forme d'onde d'un piano ou d'une flûte est plus complexe et ne peut pas être créée facilement avec la plupart des micro-ordinateurs.

Les données sonores sont une description de la manière dont vous voulez pousser l'air à l'aide d'un transducteur (haut-parleur) afin que les fluctuations de la pression de l'air qui en résultent soient perçues par l'oreille comme des sons. La quantité de données impliquée dans la réalisation d'événements sonores complexes et réalistes est énorme. Prenons l'exemple du disque compact : 75 minutes d'audio haute fidélité sur un disque ou 550 Mo de données 8 bits. Cela représente environ 12 ko de données par seconde. Une telle quantité de données peut rapidement submerger les capacités d'un micro-ordinateur 8 bits.

Son généré par le matériel

Avant l'avènement des micro-ordinateurs, les bidouilleurs sur ordinateurs centraux avaient découvert que l'impression de certaines séquences de lettres sur une imprimante de ligne créait certaines tonalités. Très vite, d'énormes quantités de papier ont été utilisées pour jouer des chants de Noël.

L'ordinateur KIM-1, introduit en 1975, n'était pas équipé pour produire du son. Mais en 1976, les bidouilleurs informatiques connectaient son minuteur matériel à un bit de sortie relié à un haut-parleur. Cela simplifiait les données sonores en une forme d'onde que le matériel pouvait produire. Cette technique produit les ondes carrées que l'on trouve dans les montres numériques et les ordinateurs comme l'IBM PC. Les avantages de cette approche sont son faible coût et le minimum de logiciel et de temps de processeur dont vous avez besoin pour contrôler un son.

Avec un peu plus de matériel, vous pouvez contrôler l'amplitude de l'oscillation de la tension de bas en haut et donc l'amplitude, ou le volume, du son. La combinaison d'un générateur d'ondes carrées basé sur une minuterie et d'un matériel d'amplitude est le bloc de construction fondamental de la génération de sons basée sur le matériel que l'on trouve dans les micro-ordinateurs dont la complexité varie du Commodore VIC-20 à l'Atari 520ST. Un générateur de bits matériel pseudo-aléatoire peut être ajouté pour produire des informations sonores non périodiques, communément appelées "bruit".

Ce type d'approche matérielle présente plusieurs avantages : vous n'avez pas besoin de dépenser beaucoup pour du matériel spécialisé, peu d'intervention du processeur est nécessaire, et vous n'utiliserez pas de grandes quantités de mémoire pour stocker les données sonores. Cependant, il y a aussi des inconvénients : le son a une qualité proche de celle d'un ordinateur, vous avez un nombre fixe et limité de canaux, et vous êtes limité à une résolution grossière de l'amplitude et de la fréquence.

Une autre approche

En 1980, j'ai commencé à créer du son avec des micro-ordinateurs d'une manière différente. On m'a donné un microprocesseur 6502, 128 octets de mémoire, 4 ko de ROM, un DAC (convertisseur numérique-analogique) de 8 bits et la mission de "faire un son qui fait boing". J'ai rapidement appris une technique qui reconnaît la nature périodique du son, en utilisant des algorithmes, des tableaux de données sonores ou une combinaison des deux. Cette technique nécessite un convertisseur numérique-analogique pour le microprocesseur dont vous avez l'intention de relier la sortie (après traitement et amplification du signal) à un haut-parleur. Le nombre de bits du convertisseur numérique-analogique détermine la gamme d'amplitudes et, dans une certaine mesure, la complexité de la forme d'onde.

Cette approche est utilisée dans sa forme la plus simple sur l'Apple II, qui possède un convertisseur numérique-analogique à 1 bit directement contrôlé par le logiciel. Même si l'Apple II n'a que deux niveaux de sortie, vous pouvez contrôler précisément le temps entre les impulsions, ce qui permet une variété étonnante de sons, de musique, voire de parole. Cependant, pendant que le microprocesseur produit des données sonores, il a peu de temps pour faire autre chose. Une imbrication soigneuse et méticuleuse des tâches logicielles peut donner l'impression que deux choses se passent en même temps, mais cela prend du temps et n'est pas une solution généralisée.

Le Macintosh va encore plus loin dans l'approche DAC en intégrant la production sonore au traitement vidéo. Pendant que le faisceau vidéo du moniteur se déplace vers le bord gauche de l'écran à chaque ligne de balayage, le matériel sonore du Macintosh prélève un octet dans un tampon de longueur fixe et le transmet à un DAC 8 bits. Comme le microprocesseur n'a pas à entrelacer la tâche de génération du son avec d'autres tâches, il en résulte un taux de génération du son stable. Cependant, le microprocesseur doit toujours placer les données sonores dans le tampon avant le faisceau vidéo pour chaque image (60 fois par seconde).

L'approche du Macintosh en matière de son présente des inconvénients. Lorsqu'il crée un son à quatre voix, il utilise environ 50% du débit du microprocesseur. Cela n'inclut pas la mise à l'échelle de la forme d'onde pour le contrôle indépendant du volume de chaque voix. Comme les graphismes sur le Mac sont gourmands en processeur, il est difficile de créer des sons et des graphismes élaborés en même temps.

Échantillonnage

Vous pouvez également numériser directement le son d'autres sources, le stocker et le restituer par le biais du DAC. Cette technique s'appelle l'échantillonnage, et c'est celle qui offre le meilleur potentiel pour reproduire un son réaliste complexe avec un ordinateur. Une fois que vous avez échantillonné les données sonores, vous pouvez les traiter davantage pour obtenir des effets spéciaux, les couper, les mettre en boucle et les configurer pour un accès aléatoire.

Un des problèmes de l'échantillonnage est la quantité de données sonores dont vous avez besoin. Le taux d'échantillonnage du Mac, par exemple, est de 22 300 échantillons (octets de données) par seconde. Pour cette raison, l'échantillonnage a été très peu utilisé sur le Mac 128K.

L'échantillonnage présente également le problème particulier d'essayer de produire un son réaliste en pompant des chiffres dans un convertisseur numérique-analogique. Il peut en résulter une distorsion du crénelage audio, ou des "saccades sonores" (l'équivalent sonore des lignes décalées que vous obtenez lorsque vous dessinez des lignes angulaires ou courbes sur un écran matriciel). Vous pouvez obtenir de fausses harmoniques si vous utilisez une période d'échantillonnage trop lente pour reproduire le son d'une fréquence donnée.

L'Amiga

Le Commodore Amiga offre une approche améliorée du son, assistée par le matériel et les convertisseurs numériques. Il possède plus de quatre fois plus de matériel sonore que le Mac. Chaque canal est composé d'un DAC de 8 bits avec 5 bits de contrôle d'amplitude, et le microprocesseur peut envoyer des données sonores à chaque DAC indépendamment.

L'Amiga possède un filtre passe-bas qui coupe la plupart des sorties dont les fréquences sont supérieures à 7 kHz. Cela permet d'éliminer la distorsion de crénelage qui se produit au-dessus de 7 kHz lors de l'échantillonnage à 28 800 échantillons par seconde. Bien qu'il ne soit pas de haute fidélité, le son est bon pour un ordinateur personnel. La période d'échantillonnage utilisable en termes de filtre est de 14 000 à 28 800 échantillons par seconde. Cette plage peut être utilisée pour une octave de notes de musique reproduites fidèlement jusqu'à 7 kHz. En pratique, le taux d'échantillonnage peut être aussi bas que 7000 échantillons par seconde pour certaines applications où l'espace des données de forme d'onde est limité.

La philosophie de conception matérielle de l'Amiga consiste à laisser le processeur libre autant que possible. Le matériel d'accès direct à la mémoire (DMA) pour la génération de sons respecte cette règle. L'Amiga utilise quatre canaux DMA à période variable. Vous pouvez faire varier le taux d'échantillonnage de 28 800 échantillons par seconde à un échantillon toutes les deux secondes. Ces échantillons peuvent se trouver n'importe où dans un espace d'adressage de 512 ko et peuvent être aussi courts que deux octets ou aussi longs que 256 ko. La sortie de chaque canal DMA est traitée par un filtre passe-bas qui devient effectif à 4 kHz et coupe les fréquences sonores supérieures à 7 kHz.

Pour générer du son sur l'Amiga, vous devez charger les registres matériels DMA avec l'emplacement de départ des données sonores, leur longueur et la période d'échantillonnage. Lorsqu'il est activé, l'Amiga génère du son jusqu'à ce qu'il arrive à la fin des données sonores ; ensuite, il réinitialise l'emplacement et la longueur et répète le processus jusqu'à ce qu'il soit désactivé. Cela libère le processeur de la majorité du travail généralement associé à l'échantillonnage audio.

Le matériel DMA récupère chaque octet du tampon sonore de manière séquentielle. Comme chaque octet de la table d'ondes est extrait, la longueur de la table d'ondes détermine la fréquence fondamentale la plus élevée que le canal peut jouer. Par exemple, pour jouer l'octave musicale de la note La (à 440 kHz) à la note Sol (à 830 kHz) sans la distorsion de crénelage, la longueur de la forme d'onde doit être de 16 octets. Ce n'est pas une grande résolution pour décrire une forme d'onde complexe. La longueur de la forme d'onde pour l'octave suivante ne peut être que de 8 octets, et ainsi de suite. Par conséquent, la reproduction de la gamme de sons de la moitié supérieure du clavier du piano est sujette à certains compromis.

Le matériel audio DMA a également la capacité de joindre les données des formes d'onde de manière transparente. Lorsque le matériel DMA audio lit ses registres, il les copie dans des registres internes et une interruption se produit. À ce moment-là, vous pouvez modifier le pointeur et la longueur des données, de sorte que lorsque le DMA recommence le processus, il peut accéder à un nouveau morceau différent de données échantillonnées. Cela a de nombreuses ramifications intéressantes. Vous pouvez simuler le son d'un instrument de musique en échantillonnant son attaque et en l'associant à sa forme d'onde. Cela permet de gagner beaucoup d'espace et ouvre un tout nouveau monde d'instruments hybrides.

De plus, l'Amiga possède les premières sorties stéréo standard gauche et droite de l'histoire des ordinateurs personnels. Les quatre canaux du matériel d'échantillonnage piloté par DMA sortent par le filtre passe-bas et sont acheminés par des connecteurs stéréo à assignation fixe pour la connexion à un équipement audio externe. En utilisant deux canaux complémentaires, vous pouvez positionner le son dans l'espace gauche-droite avec le logiciel. Évidemment, il y a un compromis à faire entre le nombre de canaux discrets souhaités et la propagation stéréo, mais c'est très amusant d'associer des sons d'explosion à leurs contreparties visuelles. Si vous utilisez un moniteur monaural, la fixation d'un connecteur en Y permet d'entendre les quatre canaux.

Le matériel audio de l'Amiga a également la capacité de moduler la période et/ou le volume d'un canal par la sortie d'un autre canal. Vous désactivez la sortie audio du canal modulateur et utilisez ensuite ses données pour modifier la fréquence et/ou l'amplitude du canal modulé. Utilisée dans sa forme la plus simple, cette fonction permet de soulager le processeur pour des effets tels que le trémolo (modulation d'amplitude) et le vibrato (modulation de fréquence).

Synthèse sonore logicielle

En 1973, le Dr Lohn Chowning a publié un article dans le journal de l'Audio Engineering Society intitulé "The Synthesis of Complex Audio Spectra by Means of Frequency Modulation". Ce modèle FM de synthèse sonore est devenu la base de plusieurs instruments de musique professionnels, dont le Yamaha DX-7. Si vous utilisez des canaux pour moduler d'autres canaux, l'Amiga peut réaliser une variété de modèles de synthèse proposés par le Dr Chowning. Bien que ce mode utilise toutes les ressources sonores de l'Amiga, il peut créer une voix très complexe qui rivalise avec celles des synthétiseurs matériels dédiés.

Il existe un logiciel important pour soutenir l'utilisation du matériel sonore dans l'environnement multitâche de l'Amiga. Puisque de nombreuses tâches peuvent s'exécuter simultanément, chacune supposant qu'elle "possède" la machine, il doit y avoir un moyen d'arbitrer qui obtient le matériel sonore. La gestion logicielle audio sur l'Amiga suit le même modèle de périphérique établi pour tous les périphériques du système.

L'Amiga alloue des canaux audio virtuels sur une base prioritaire et gère toutes les caractéristiques matérielles mentionnées ci-dessus. Il prend également en charge le traitement des interruptions pour le découpage des formes d'onde avec une file d'attente qui stocke les demandes de son pour un canal particulier jusqu'à ce qu'il puisse les traiter. Bien que le périphérique audio soit flexible, il est complexe à utiliser. Pour certains types de synthèse sonore, l'accès direct aux registres du matériel est plus efficace pour le processeur.

Une innovation sonore sur Amiga est la gestion de la synthèse vocale en tant que périphérique standard. Sans matériel supplémentaire, le périphérique logique de narration (narrator.device) réalise une simulation compréhensible de la voix humaine. Le programme SoftVoice, qui est le coeur du périphérique narrator.device, fournit tous les éléments pour la génération phonétique de la parole. De plus, il existe un programme texte-tophonème appelé TVanslator que vous pouvez utiliser pour créer des chaînes phonétiques à entrer dans le narrator.device. Les seuls coûts liés à l'utilisation de la parole dans le cadre de l'interface homme-machine sont un peu de mémoire et du temps processeur.

Limites des ressources

Il est important de se rappeler que le son est une donnée pour un ordinateur. C'est la clé de l'utilisation de l'Amiga pour produire du son. Vous devez faire des compromis importants en matière d'espace et d'utilisation du processeur. Malheureusement, Commodore a commercialisé l'Amiga comme une machine avec 256 ko de mémoire. Une table d'onde pour six octaves d'un bon son de cordes prend 32 ko. Si vous vouliez avoir six instruments différents disponibles pour un accès aléatoire dans un programme de musique, et si votre programme nécessitait 70 ko, les données de la forme d'onde et le programme ensemble auraient besoin de 262 ko ; en d'autres termes, ils ne tiendraient pas.

D'après mon expérience des logiciels récréatifs, les ressources allouées à la production de sons représentent généralement un huitième du total. Dans le monde des jeux vidéo en coopération de Reactor et Q*Bert, le programme sonore nécessitait une EPROM de 4 ko contre 32 ko pour l'ordinateur de jeu. Dans un programme sur Commodore 64, 3 ko à 6 ko étaient réservés en mémoire pour le son. Si ce rapport se vérifie, alors la mémoire disponible pour les échantillons sonores et le système sonore sur l'Amiga est de 32 ko sur ses 256 ko. Ces chiffres ne prennent pas en compte la nature multitâche de l'Amiga qui fait de la mémoire disponible un concept indéfini. Le fait est que la quantité de mémoire disponible pour le système sonore constitue la limite de ce que vous pouvez faire avec le son et l'Amiga.

Pour surmonter les limitations d'espace, vous pouvez utiliser le 68000 de l'Amiga pour créer des données sonores "à la volée" ; cette approche échange l'espace contre la vitesse et n'est généralement pas acceptable à moins que vous ne prévoyiez de dédier la machine à la production sonore. La partie vraiment excitante du système sonore de l'Amiga est son approche basée sur le logiciel assisté par le matériel. Un DAC est au son ce qu'un plan de bits est au graphisme. Une approche logicielle est ouverte. Dans les limites du processeur et de la mémoire, vous pouvez faire tout ce que vous êtes assez intelligent pour concevoir.

L'auteur de cet article

David D. Thiei est vice-président de la recherche et du développement de Free-Radical Software (1323 South Yale Ave., Arlington Heights. IL 60005). Il est un musicien devenu programmeur qui a fait un travail considérable de programmation sonore pour les jeux vidéo domestiques et sur bornes d'arcade.


[Retour en haut] / [Retour aux articles]