APPLICATIONSCREATION MUSICAL ★ CRÉATIONS MUSICALES (AMSTAR&CPC) ★

Créations Musicales (Amstar&CPC)Applications Creation Musical
Si vous commencez à connaître tous vos jeux par Cœur et que vous voulez vous lancer dans la programmation de vos propres logiciels, nous vous apportons ici la possibilité d'insérer de la musique dans vos différents programmes sans même avoir à apprendre comment la programmer.

Comme dans de nombreux programmes musicaux, après la page de présentation, les rangées du haut de votre clavier favori se transforment en clavier musical. Chaque touche enfoncée émet alors une notre particulière ; Jusqu'ici, rien de nouveau alors pourquoi se fatiguer à entrer plus de 30 kilos de Basic pour faire comme tout le monde ? Eh bien tout simplement parce que certains petits raffinements ont été apportés et il est possible de créer une «œuvre musicale» directement depuis une partition soit à l'aide des flèches de direction soit en utilisant les manettes de jeux. D'autre part, les «chefs-d'œuvre» ainsi créés peuvent être sauvegardés sur disque soit pour être rechargés ultérieurement dans CREMU-SIC. soit sous forme de lignes DATA, soit encore sous forme de sous-programmes complets qui pourront par la suite être ajoutés à un de vos programmes existants. La partie haute de l'écran montre donc le clavier musical qui n'a rien à envier aux grandes orgues de Notre-Dame (c'est sûr. Ils ne se connaissent pas). Au-dessus du clavier (multicolore s'il vous plaît), apparaissent les chiffres -1, 0 et 1 qui correspondent aux trois octaves utilisables à cet Instant. De chaque côté de ce clavier apparaissent les différents canaux, la durée élémentaire des notes et la fréquence de bruit. Ces paramètres ont été respectivement fixés à C, 50 et 0 lors de la période d'initialisation.

Sous le clavier apparaît le menu principal du programme. La ligne marquée par deux flèches Indique le choix prêt à être validé par une action sur la touche «RETURN» ou «ENTER». Le choix des différentes options se fait par l'intermédiaire des flèches de direction.

CREATION D'UN MORCEAU

Dès l'instant où ce choix a été validé, le menu disparaît pour laisser place à une portée «équipée» de sa clé de SOL ou du numéro d'octave en cours. Pendant la création, le changement d'octave se fait par l'action sur les touches «<« et «>» qui permettent de se déplacer respectivement vers le haut ou vers le bas (Amstrad reconnaît 6 octaves numérotées de -4 à +3). Si un morceau est déjà présent en mémoire, il vous est demandé si vous désirez l'effacer.

La création peut se faire de trois façons différentes :

  • Création par les lignes du haut du clavier

    Chaque touche du clavier représente une note différente, les chiffres représentent les dièses (touches noires d'un piano) alors que les lettres correspondent aux notes normales (touches blanches). Si une note a été entrée par erreur, une action sur la touche « Shift » permet d'effacer la dernière note entrée. Chaque note entrée est affichée sur la portée en bas de l'écran. La durée de la note est déterminée par la durée pendant laquelle la touche est enfoncée et s'étend de la double croche à la ronde. Cette valeur peut être modifiée par le choix « Modification de la durée élémentaire » du menu « Modifie options ou musique ». Lorsque le morceau est terminé, une action sur « Enter » permet de revenir au menu principal.

    Attention : Si vous actionnez Return au lieu de Enter, vous ne reviendrez pas au menu mais vous jouerez la note correspondante (Ml).

  • Création par les flèches de direction

    Comme il est permis de ne pas connaître la musique et d'avoir malgré tout une partition, la création par clavier devient douteuse ; il est donc possible de créer un morceau en se servant simplement des flèches de direction du clavier. Chaque note sera placée sur la portée en agissant sur les flèches haute et basse alors que les touches gauche et droite agiront sur la durée. La note ainsi créée sera validée en actionnant le point décimal présent sur le clavier numérique. En cas d'erreur, appuyez sur Shift. La touche zéro de ce même clavier servira à entrer un temps mort dans la musique. Enter termine la saisie, les touches < et > changent d'octave.

  • Création parles manettes de Jeux

    Afin de ne pas rester le nez collé sur votre moniteur, et en particulier si vous ne possédez pas de prolongateur pour éloigner le clavier de son écran. Il vous est possible de remplacer les flèches de direction par votre manche à balai favori. La validation de la note se fera en actionnant un des boutons de tir.

    Le passage d'un mode de création vers un autre ne demande aucune commande mais lorsqu'une note est en cours de définition (flèches ou joystick), Il est Impératif de la valider avant de pouvoir créer une nouvelle note par le clavier de piano.

MODIFIE OPTIONS OU MUSIQUE

Cette commande envoie vers un menu composé des options suivantes :

— Modifie la musique

Les notes sont affichées une par une et attendent la validation par une action sur le point décimal. La hauteur ou la longueur de chaque note peut être modifiée avant validation. La valeur de l'octave en cours est affichée en début de portée. L'Indication de l'octave 0 se fait par le dessin de la clé de SOL.

— Change de canal

Votre cher CPC pouvant gérer 3 canaux (A, B et C) il vous est possible de changer de canal à votre guise. Le changement de canal se fait en entrant une ou plusieurs lettres (A, B, C) dans un ordre quelconque. Après validation par Return, l'affichage correspondant à gauche de l'écran est modifié en conséquence.

— Modifie ia période de bruit

Un générateur de bruit étant incorporé à votre machine, cette commande vous permet de générer son code en entrant une valeur comprise entre 1 et 31 (0 annule le bruit). Cette valeur est affichée à droite du clavier après validation.

— Modifie la durée élémentaire

SI vous avez terminé de créer un morceau et que vous le trouvez trop lent ou trop rapide, cette option vous permettra de modifier la durée de l'ensemble du morceau, La modification de la durée se fait par les flèches de direction et la validation est assurée par la touche Enter.

Cette commande permet également de modifier la durée de base choisie lors de la création au clavier ; Il est donc possible de rester plusieurs secondes sur une note sans que sa durée en soit affectée.

— Change d'octave

Durant ia création. Il vous était possible de changer d'octave courante. Cette modification ne concernait que les notes entrées après changement. Cette commande permet de déplacer tout le morceau en mémoire. Il est conseillé de revenir à l'octave 0 pour effectuer une nouvelle création. Le choix d'une octave se fait en utilisant ies flèches de direction puis en validant par Enter. SI une note se trouve hors limite suite à un changement d'octave, eile ne sera pas jouée.

— Lettres du clavier ON/OFF

Cette commande permet d'afficher ou d'effacer sur le clavier du piano les caractères à utiliser sur le clavier de l'AMSTRAD pour jouer la note correspondante. Il est évident que si vous possédez un clavier «AZERTY», l'afflcha-e sera des plus fantaisistes à moins que vous ne modifiiez en conséquence la ligne 7350 du programme Basic.

RETOUR A U MENU PRINCIPAL

A quoi ça sert ??

— Joue le morceau en mémoire

Après avoir passé de longues heures d'insomnie à créer votre symphonie, vous aurez certainement envie d'écouter votre œuvre. Essayez alors cette commande mais si le résultat vous fait trop pleurer (de modestie), une action sur une touche quelconque arrêtera presque instantanément la douce mélodie (si des enveloppes ont été créées, l'arrêt peut intervenir après plusieurs minutes).

— Modifie l'enveloppe de volume et de tonalité

Afin de modifier considérablement le son produit par chaque note. Il vous est possible de créer une enveloppe de volume et une enveloppe de tonalité. Pour de plus amples renseignements concernant ces possibilités offertes par votre CPC, nous vous Invitons à vous reporter à votre manuel d'utilisation. Le nombre de segments ainsi que le nombre d'étapes, les variations et les durées par étapes sont demandés. Le fait d'entrer «Q»à la question «Nombre de segments (5 maximum)» annule l'enveloppe créée précédemment et reconnecte les enveloppes par défaut. En ce qui concerne l'enveloppe de volume, un des cinq segments peut être affecté à la durée de la note. L'enveloppe de tonalité peut être répétitive ou non.

ACCES AU DISQUE

Tout comme le menu de modification des options, cette commande vous propose un nouveau sous-menu :

— Sauvegarde sur disque

Cette option permet de sauvegarder sur disque le morceau présent en mémoire. Cette sauvegarde ne préserve pas les enveloppes créées ni les changements d'octave ; elle ne conserve que la valeur et la durée des notes. Le nom du programme à sauvegarder vous est demandé ; Il prendra automatiquement .MUS comme extension. Si vous n'entrez aucun nom, le programme vous renvoie automatiquement au menu principal.

— Lecture sur disque

Fonctionnant de la même manière que la commande précédente, ce choix vous permettra de recharger un programme sauvé avec l'extension .MUS en mémoire et de le Jouer à nouveau.

— Sauvegarde sous forme de DATA

Afin de pouvoir utiliser le morceau créé par CREMUSIC comme données pour un autre programme Basic, cette commande vous permet de générer automatiquement sur disque un programme Basic contenant des lignes DATA.
Différentes questions vous seront posées :

Nom du fichier :
Prendra obligatoirement .BAS comme extension

Transforme la durée (O/N) ? :
Chaque note pouvant avoir une durée différente des autres. Il est généralement utile de répondre O à cette question sinon toutes les notes auront la même durée.

Numéro de la première ligne DATA :
Comme tout programme Basic possède des numéros de lignes. Il faut bien les créer à un moment quelconque.

Pas entre deux lignes DATA :
Pour la même raison que dans le cas précédent- La valeur par défaut est 10 mais il faut s'assurer que la numérotation des lignes ne dépassera en aucun cas la limite autorisée par Amstrad (65535).

Création des lignes en hexa (O/N) :
Suivant le programme utilisant les lignes DATA, il est possible de créer les lignes en hexadécimal ou en décimal. Le choix hexa permet de faciliter la visualisation des données puisque les valeurs des notes sont écrites sur quatre caractères et la durée sur deux caractères seulement.

— Sauve lignes DATA + Programme

Le fonctionnement de cette option est semblable à la commande ci-dessus mais la création se fait obligatoirement en décimal. D'autre part, dans l'option précédente, seules les données étaient transformées alors que cette fois-ci, le sous-programme complet est créé sur disque avec ses différentes commandes et variables (RESTORE. ENV, ENT.SOUND, RETURN...).
Il est possible d'insérer ce sous-programme dans un programme Basic existant en utilisant simplement la commande MERGE de votre CPC mais en faisant simplement attention à la numérotation des lignes de façon à ne rien écraser du programme existant.

— Fin d'utilisation

SI vous aimez la brutalité, vous pouvez tout simplement éteindre votre cher CPC mais si vous êtes du genre calme, cette commande vous permettra de quitter le programme en toute tranquillité.

DESCRIPTION DU PROGRAMME

Le programme écrit en Basic est prévu pour fonctionner sur CPC 6128. En théorie, il doit tourner sans problème sur un 664 mais, du fait des accès disque, demande certaines modifications pour tourner sur un 464 équipé de cassettes. Dès le début, les variables sont définies comme étant des variables entières par défaut. Il est à noter qu'un point d'exclamation placé aussitôt après le nom d'une variable permet d'assigner une valeur réelle à cette variable (c'est le cas de NUMDATA !).

Durant ta phase d'initialisation, une page de présentation proche de la page de fonctionnement est affichée. Pendant ce temps, les différents tableaux sont remplis et le langage machine est chargé. Le programme en langage machine permet d'accélérer le fonctionnement de la détection des touches durant le jeu par clavier,
Afin de limiter le nombre de calculs en cours d ' utilisation et de ne pas ralentir l'exécution, de nombreuses données sont mémorisées sous forme de tableaux au cours de cette période d'initialisation.

— Utilisation des différents tableaux

  • Menu$(19) contient les textes des différents menus.
  • Part (15) contient la description des paramètres lors de la création d'enveloppes de tonalité.
  • Parv(15) contient la description des paramètres lors de la création d'enveloppes de volume.
  • Sym(8) est utilisé au cours de la redéfinition des caractères (lignes 7660 à 7860). Ces caractères servent à afficher les différentes notes ainsi que leur durée.
  • Periode(96) contient les valeurs des différentes périodes musicales pouvant être jouées sur votre CPC (voir le manuel de l'utilisateur chapitre 7, 5ème partie).
  • Freq(26, 1) contient les abscisses et les ordonnées correspondant à la position de chaque note sur le clavier du piano de façon à voir ce que l'on joue.
  • Musique(800,2) contient la valeur des notes mémorisées ainsi que leur durée et le numéro d'octave, Le programme occupant plus de 30 kilos de mémoire, le nombre de notes jouables a du être limité à cette valeur sinon les accès disque deviennent impossibles.
  • Porfée(26,1) contient la position de chaque note sur la portée ainsi que l'existence ou l'inexistence d'un signe dièse.

— Fonctionnement des menus

Les trois menus fonctionnent de façon identique. Les textes à affichei se trouvent dans le tableau menu. Il suffit donc d'utiliser une boucle FOR... NEXT pour afficher les différentes options proposées. Le choix pointé est signalé par deux flèches et par une couleur différente des autres choix. Seules les touches flèche haute et flèche basse permettent de déplacer la barre de choix. La validation d'un choix se fait par une action sur la touche ENTER. Au lancement du programme, c'est la première barre du menu qui est proposée. Ce choix par défaut peutêtTe changé en modifiant la ligne 150 pour le premier menu. Par mesure de sécurité, le menu «Accès au disque» se positionne sur le deuxième choix (lecture sur disque) pour ne pas risquer en cas de validation trop rapide d'effacer un fichier existant. Tous les accès aux différents choix se font par des Instructions ON... GOSUB.
L'ensemble du programme étant relativement structuré, les GOTO n'ont été utilisés que pour effectuer des sauts réduits à l'Intérieur de sous-programmes. I! est donc relativement simple d'apporter quelques modifications au programme dans la limite des octets disponibles.

— Sous-programme Assembleur

Comme annoncé précédemment, le sous-programme écrit en langage machine permet d'accélérer la saisie des notes Jouées au clavier. Ce petit sous-programme, situé à l'adresse &A045 effectue, après initialisation de ses paramètres, un saut à l'adresse &BB1E qui teste si une touche est pressée. Avant d'appeler ce sous-programme interne, Il faut entrer le numéro de la touche à tester dans le registre A du microprocesseur, Tous les numéros des touches autorisées sont stockés à partir de l'adresse &A000. Cette routine teste également les actions sur la manette de jeu et peut très bien être utilisée dans d'autres logiciels. Son fonctionnement est proche de l'instruction INKEY du Basic.

Jean-Marie SCAYA, AMSTAR&CPC

★ EDITEUR: AMSTAR&CPC
★ ANNÉE: 1989
★ CONFIG: 64K (664/6128)
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Jean-Marie SCAYA

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Creations  Musicales    (Amstar-CPC)    LISTING    FRENCHDATE: 2018-03-19
DL: 251
TYPE: PDF
SiZE: 2179Ko
NOTE: 9 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Musicsoft (Amstrad Magazine)
» Applications » Rob Baxter - Music 3
» Applications » Duette
» Applications » RSX Speech Generator (Popular Computing Weekly)
» Applications » Fingerpicking (CPC Amstrad International)
» Applications » RSX Envelope Lister Utility (Amstrad Computer User)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 153 millisecondes et consultée 1865 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.