Une des grandes forces d'AMOS par rapport aux autres langages BASIC, c'est sa maîtrise des capacités sonores stupéfiantes de l'Amiga. Mais tout l'objectif d'AMOS est de vous permettre d'accéder facilement et rapidement à toutes les fonctionnalités de l'Amiga, là où il fallait auparavant des centaines de lignes de code.
L'Amiga peut capturer et lire des sons numérisés très facilement, ce qui signifie que l'on peut produire de la musique stéréo de haute qualité en utilisant uniquement la génération sonore interne. Il existe quelques sons préintégrés comme :
Rem * Basic Sounds.AMOS * Rem Shoot Wait Key Boom Wait Key Bell Wait Key
Le chipset sonore peut être utilisé, et les échantillons peuvent être placés dans une banque à utiliser dans vos programmes. De plus, AMOS peut lire de la musique, comme les fichiers ABK que vous trouvez sur vos disquettes de démonstration.
AMOS peut lire un morceau de musique aussi facilement que la plupart des BASIC affichent "Hello World". Il suffit de taper :
Music 1
Et le premier morceau de musique stocké dans la banque musicale se met à jouer, jusqu'à ce que vous tapiez :
Music Stop
Pour arrêter la musique en cours, ou plus radicalement :
Music Off
C'est facile, une fois que la musique est dans l'Amiga, bien sûr. En général, cela signifie qu'une série d'échantillons sont stockés dans la mémoire de l'ordinateur, et qu'un petit morceau de code indique à quels moments jouer les sons et à quelle hauteur. La méthode habituelle pour cela est d'utiliser un programme tracker comme Soundtracker, Noisetracker, Protracker ou le brillant MED.
Tous ces programmes peuvent être utilisés avec AMOS. Une fois le morceau composé, vous pouvez le convertir en fichier ABK et l'utiliser sans problème. Il est aussi possible de le charger directement avec les commandes TRACK LOAD
.
Charge un morceau dans la banque musicale. En général on utilise :
Track Load "df0:mod.music",3
Ce qui charge un module mod.music
dans la banque 3.
Lit le morceau chargé dans la banque musicale (généralement la banque 3). Par exemple :
Track Play 14
Permet de jouer le morceau stocké ailleurs que dans la banque par défaut.
Arrête le morceau actuel. (Oui, il s'arrête dans ses "tracks", ho ho.)
Les différents trackers sont pour la plupart du domaine public, sauf certaines versions de MED qui sont en licenseware (vous payez un petit prix et l'auteur reçoit une redevance). Un tracker propose généralement un éditeur de motifs (pattern editor) semblable à ceux des boîtes à rythmes modernes, où le clavier de l'Amiga devient un clavier musical. Les sons utilisés sont en grande partie des échantillons (samples), souvent issus de synthétiseurs très chers !
La création musicale se fait par motifs de 64 battements. Une fois les motifs de couplet, refrain, intro, etc. composés, vous les chaînez pour produire une musique complète. Voici un exemple de séquence :
Ce système est très efficace car on entre chaque motif une seule fois.
Une fois votre musique composée avec un tracker, vous pouvez la convertir en format ABK pour l'utiliser dans AMOS. Les disquettes AMOS incluent plusieurs convertisseurs compatibles avec Soundtracker, Noisetracker, Protracker, MED, etc.
Attention, certains fichiers ne sont pas correctement lus après conversion, à cause de variations de format entre les versions des trackers. Le meilleur choix reste Protracker 2.5 ou 3.0 et MED 3.2.
Music Engine de Paul Townsend (Technical Fred Software) est un utilitaire populaire de la bibliothèque Deja Vu. Il permet de lire des musiques sans les convertir au format AMOS. Il sert d'interface entre AMOS et le CLI, et fonctionne en appelant les lecteurs depuis Workbench.
Il reconnaît automatiquement les formats : MED, OctaMED, Soundtracker, Sonix, AMOS. En mode manuel, vous sélectionnez vous-même le type de fichier. Si le type est incorrect, la musique ne sera pas lue, voire crashera l'ordinateur.
Un bouton Help permet d'obtenir une aide contextuelle. Des manuels complets sont fournis sur disque. Music Engine est assez puissant pour exécuter d'autres programmes, permettant une forme de multitâche depuis AMOS !
Disquette : LPD79 - Contact :
Technical Fred Software
117 Hilton Lane, Walkden, Worsley, Manchester, M28 5TB
Tél/Fax : 061-703 7842
Vous pouvez bien sûr utiliser des échantillons PD, mais le mieux est de créer vos propres sons. Il suffit d?un micro, d?un logiciel de sampling, et d?un sampler compatible Amiga.
Parmi les meilleurs :
Pour enregistrer un son, vous branchez un micro ou une source externe (cassette, vidéo, etc.) et capturez l?audio. (Attention aux droits d?auteur !) Le son apparaît sous forme d?onde. Vous pouvez éditer l?échantillon et le sauvegarder pour l?utiliser dans AMOS.
Utiliser des sons échantillonnés dans AMOS est facile, et ressemble à l'utilisation de fichiers image IFF. Vous pouvez les charger depuis le disque ou les utiliser depuis une banque. Il vous faut un programme AMOS appelé Sam Maker, qui permet de charger des échantillons et de les réunir dans une banque en mémoire. J'utilise celui fourni avec Easy AMOS, que je trouve le plus simple et le plus stable, mais vous pouvez aussi utiliser celui fourni avec AMOS. C'est à vous de choisir.
L'inconvénient de charger des échantillons depuis le disque, c'est que vous devez utiliser BLOAD
et spécifier les emplacements en mémoire, ce qui est un peu technique et gourmand en mémoire. Il est préférable de les stocker dans une banque, prêts à être accédés à tout moment de votre programme, et chargés instantanément.
Une fois vos échantillons dans une banque, vous pouvez les lire à n'importe quelle vitesse, ce qui modifie la durée et donc la hauteur du son. Vous pouvez avoir des discours, des extraits musicaux, ou même des notes individuelles d?un instrument que vous pourrez jouer à différentes hauteurs via un tracker.
Comme je l'ai dit, jouer des échantillons en AMOS est facile. Utilisez la commande :
Sam Play V,S,F
Les voix utilisées sont définies par le bit dans V
, comme ceci :
L'Amiga possède quatre voix, réparties en stéréo : les voix 0 et 3 jouent sur le canal gauche, les voix 1 et 2 sur le canal droit. Pour simuler un panoramique stéréo, il suffit d'envoyer le même son sur les deux canaux et d'ajuster le volume sur chacun. Un son plus fort dans l?oreille droite semblera venir de la droite. Voici un exemple :
Rem * Stereo Panning.AMOS * Rem Screen Open 0,640,320,16,Hires Hide : Curs Off : Paper 0 : Cls 0 Load "AMOS_Data:samples/samp1es.abk" Sam Loop On Volume %10,0 : Volume %1,50 X=1 Locate ,5 : Pen 4 : Centre "This is a sample of Stereo Panning..." Locate ,7 : Centre "Notice how the sound moves from left to right." Do Sam Play %11,3 PANIT Loop Procedure PANIT P1=0 : P2=50 Repeat Volume %10,P1 : Volume %1,P2 Wait 25 Inc P1 : Dec P2 Until P1=50 End Proc
La procédure PANIT
fait varier le volume d'un canal à l'autre pour faire se déplacer le son. Vous pouvez même créer un deuxième son qui se déplace dans l'autre sens si vous le souhaitez !
Les échantillons sont la méthode la plus populaire, mais l'Amiga contient aussi un excellent générateur de son (synthétiseur). Utilisez SET WAVE
ou WAVE
pour définir un son, puis PLAY
pour le jouer :
Rem * Power Sound.AMOS * Rem Screen Open 1,640,200,16,Hires Paper 0 : Pen 4 : Cls 0 : Curs Off : Hide Wave 0 To 15 Locate ,0 NOISE Wait 50 Locate ,2 : Centre " Welcome to AMOS Power Programming" : Bell Wait 50 Locate 0,4 NOISE Procedure NOISE For L=79 To 0 Step -1 Play 96-(20+(L/2)),0 Print "*"; Next L End Proc Wait Key
La commande SET WAVE
permet de créer des sons personnalisés. Les numéros de son commencent à 2, car 0 (bruit) et 1 (sinus pur) sont pré-définis. Voici un exemple où l'on crée une onde avec SIN
:
Rem * Setwave.AMOS * Rem Hide : Curs Off : Cls 0 Pen 4 : Paper 0 Locate 0,0 : Print "This is the wave you are hearing..." S$="" : Degree For S=0 To 255 V=Int((Sin(S)/2+Sin(S*2+45)/4)*128)+127 S$=S$+Chr$(V) Plot S,V Next S Set Wave 2,S$ Wave 2 To 15 For N=0 To 10 : Play N,10 : Next N Print "...and now a bit higher!" For N=20 To 30 : Play N,10 : Next N Print "Ahh sweet music!" Wait Key
Si vous pouvez dessiner une onde sur l?écran avec PLOT
, vous pouvez la transformer en onde sonore pour l?Amiga. Essayez de créer une onde carrée ou une onde triangulaire de type "dent de scie".
L'onde de bruit peut être utilisée pour créer un effet d'explosion, mais comme la plupart des sons percussifs, elle est sans mélodie mais possède un certain rythme. Essayez ce kit de batterie à base de bruit :
Rem * Drumset.AMOS * Rem Flash Off : Curs Off : Cls 0 Pen 4 : Paper 0 Centre "Play the drums by pressing keys..." Noise To 15 Volume 15,63 : Mvolume 32 Set Envel 0,0 To 1,63 Set Envel 0,1 To 10,0 Do Locate ,2 : Centre "I particularly like the function keys" Repeat : A$=Inkey$ : Until A$<>"" Exit If A$=Chr$(13) S=Scancode If S>0 And S<95 Then Play S100,S,0 Loop
La fonction Scancode
retourne la valeur de la touche pressée et transmet cette valeur à la fonction PLAY
. Évidemment, si vous êtes malin, vous pourriez concevoir non seulement un échantillon différent pour chaque touche au lieu d'un son interne, mais aussi faire en sorte que chaque pression de touche enregistre le rythme dans un fichier que vous pourriez rejouer. C'est une boîte à rythme à faire soi-même !
Les possibilités de production sonore sur l'Amiga sont plus grandes que sur n'importe quelle autre machine. En utilisant des échantillons, vous pouvez créer une musique au rendu professionnel même si vous ne l'êtes pas. Procurez-vous un programme tracker et un échantillonneur, et découvrez ce que la dimension sonore peut apporter à vos programmes.
MED et OctaMED sont disponibles chez :
Amiganuts United,