Simple8

Le manuel de DeepWave

DeepWave est l'éditeur de musique de Simple8 pour la PC Engine et la SuperGrafx. C'est un tracker : la musique s'écrit en lignes et en colonnes, une colonne par voie du son de la console. Ce qu'on entend en composant est le son de la console émulé, à l'image près, avec le lecteur qui jouera la musique dans le jeu.

La fenêtre de DeepWave avec la démo Plein gaz : la partition, le pattern, le spectre, le piano, les instruments
La démo « Plein gaz » ouverte dans DeepWave.
DeepWave, puis le projet Simple8, la librairie psg.tracker, la console
Composer, exporter un projet Simple8, compiler, jouer sur la console.

Le son de la PC Engine

Le processeur de la PC Engine, le HuC6280, a son propre générateur de son, le PSG :

La SuperGrafx a exactement le même son : une musique DeepWave est la même sur les deux.

La fenêtre

ZoneCe qu'on y fait
Barre d'outilsle titre, la vitesse (images par ligne), le volume d'écoute, l'aide ?
Partition (à gauche, en haut)l'ordre des patterns ; un clic sur une case choisit le pattern qu'elle joue
Patternsla liste des patterns : créer, dupliquer, supprimer, renommer, colorer
Case / Sélection (à gauche, en bas)l'effet de la case du curseur ; les outils d'une sélection ; pendant la lecture, les six voies
Le pattern (au centre)les notes, une colonne par voie
Visualisationla courbe, le spectre, le spectrogramme, un plasma, les six voies du PSG
Transport et clavierlire, boucler, arrêter, enregistrer (REC), le pas, les accords, le clavier MIDI ; le piano
Instruments (à droite)la liste des instruments et l'instrument choisi : forme d'onde, enveloppes, écoute
Barre d'étatles messages, la machine cible, la position du curseur, ce que le lecteur ne sait pas jouer

La barre de menus

Les fichiers, les exports, la langue et le thème sont dans la barre de menus de macOS. Le menu Édition agit sur le pattern ; dans un champ de texte (le titre, un nom), il agit sur le texte.

Le menu Fichier ouvert sur Exporter : Projet Simple8, chanson S8Tracker, WAV ; les menus Chanson et Thème
Fichier ▸ Exporter, et les menus Chanson et Configuration ▸ Thème.

La visualisation

La bande entre le pattern et le piano montre le son qui sort. Les icônes à sa droite choisissent la vue : la courbe (l'oscilloscope), le spectre, le spectrogramme, un plasma qui suit l'énergie et les basses, les six voies du PSG ; la dernière la replie.

Le spectre
Le spectre.
Le plasma
Le plasma.
Les six voies du PSG
Les six voies du PSG : le volume de chacune, et la hauteur de sa note.

Les problèmes

Le bouton en bas à droite dit si la chanson est jouable par son lecteur (« ✓ jouable par DeepWave »). Sinon, il compte les problèmes ; un clic les liste : une note trop grave, un effet que S8Tracker ne connaît pas, une chanson trop grosse pour une bank de 8 Ko…

Un premier morceau

  1. Fichier ▸ Nouveau : choisir la machine, PC Engine ou SuperGrafx, puis Créer.
  2. Chanson ▸ Convertir pour le lecteur DeepWave : pour avoir les effets, les enveloppes et plusieurs échantillons.
  3. Choisir un instrument à droite ; Écouter le fait entendre.
  4. Allumer REC (le rond, rouge quand il est allumé, ou ⌘E). Sans REC, on joue sans rien écrire.
  5. Jouer quelques notes au clavier de l'ordinateur. Chaque note s'écrit, puis le curseur descend du pas.
  6. ⟳ (⌘L) joue le pattern en boucle. Avec REC, ce qu'on joue pendant la boucle s'écrit à la ligne qui joue : l'enregistrement en temps réel.
  7. Changer de voie (Tab) et d'instrument pour la basse, puis la batterie : un instrument de bruit place le curseur sur la voie 4 tout seul.
  8. Fichier ▸ Enregistrer (⌘S) : un projet .dwp.
La fenêtre Nouveau projet : PC Engine, SuperGrafx, et les machines à venir
Nouveau projet : la machine cible.

Les machines grisées (Commodore 64, NES, Mega Drive, Amiga, Amstrad CPC) montrent où DeepWave pourra aller : elles n'ont pas encore de lecteur.

Jouer et écrire les notes

La barre du transport et le piano : REC allumé en rouge, les accords, le MIDI ; trois touches allumées
Le transport et le piano : REC allumé, un accord tenu (do, mi♭, sol).

Le clavier de l'ordinateur

Il joue comme un piano, selon la place des touches, le même geste en AZERTY et en QWERTY :

RangéeAZERTYQWERTYNotes
du basW S X D C V G B H N J ,Z S X D C V G B H N J Mune octave, de do à si
du hautA é Z " E R ( T - Y è U I ç O à PQ 2 W 3 E R 5 T 6 Y 7 U I 9 O 0 Pl'octave au-dessus

[ et ], ou les flèches au-dessus du piano, changent d'octave.

Le piano, la souris, le clavier MIDI

La polyphonie et les accords

Chaque note tenue prend une voie libre qui sait jouer l'instrument, en partant de celle du curseur : plusieurs touches ensemble font un accord, sur plusieurs voies. Quand il n'y a plus de voie libre, la note la plus ancienne cède la sienne. Les accords (⌘K) font jouer 2 ou 3 notes à une seule touche : majeur, mineur, sus4, diminué, augmenté, quinte, tierce, octave.

Une case, et les notes spéciales

Une case : la note C-4, l'instrument 03, l'effet 4·44
ÉcritToucheEffet
=== arrêt1coupe la note net
^^^ relâchela touche à gauche du 1, ou <l'instrument joue la fin de son enveloppe et s'éteint à sa façon

Elles sont aussi dans le menu du clic droit sur une case.

REC et le pas

Les patterns et la partition

Trois patterns colorés, et la partition qui les enchaîne et reboucle

Un pattern est un morceau de musique de 64 lignes sur les 6 voies : un couplet, un refrain, un pont. On peut les renommer et leur donner une couleur, qui se retrouve dans la partition. La partition est la suite des patterns à jouer ; un même pattern peut y revenir autant de fois qu'on veut.

Les instruments

TypeCe qu'il joue
Forme d'ondeune onde de 32 valeurs, à la hauteur de la note ; toutes les voies
Bruitle bruit du PSG, la note règle sa couleur ; voies 4 et 5
Échantillon, hauteur fixeun son enregistré, joué à sa fréquence (batterie, voix)
Échantillon joué à la notele son accéléré ou ralenti selon la note (une basse)

La forme d'onde

On la dessine à la souris, ou on part d'une forme prédéfinie : sinus, triangle, dent de scie montante ou descendante, carré (sa largeur se règle), hasard.

Le panneau des instruments : la liste, la forme d'onde, l'enveloppe de volume et ses potentiomètres
Un instrument : son onde, son enveloppe de volume.

Les enveloppes

Une enveloppe de volume : l'attaque, la boucle de tenue, la relâche

Une enveloppe donne une valeur par image (1/60 de seconde) pendant que la note joue. Il y en a cinq : Volume, Arpège (demi-tons ajoutés), Hauteur (vibrato, chute), Onde (change l'onde au fil de la note) et Balance. Trois potentiomètres les règlent : Images (la longueur), Boucle et Relâche. Des modèles tout faits : percussion, tenue, trémolo, arpèges, vibrato, chute, ping-pong.

Avec le lecteur S8Tracker, l'instrument a trois réglages, dessinés en courbe : volume, déclin, maintien.

La bibliothèque et l'atelier d'échantillons

+ Ajouter propose un instrument neuf, ou un instrument de la bibliothèque : ceux de DeepWave (une trentaine, à copier) et les vôtres (Ranger dans ma bibliothèque). Chaque instrument s'écoute avant d'être pris. L'atelier d'échantillons ouvre un son (WAV, AIFF, MP3, AAC, FLAC, OGG…), le coupe, l'inverse, ajoute des fondus, le convertit en 5 bits, et prévient quand il est trop gros pour la console.

Les effets

Les effets sont ceux du lecteur DeepWave, avec les lettres de ProTracker. Un effet ne dure qu'une ligne : un vibrato ou un glissé qui dure s'écrit sur chaque ligne.

CodeEffet
0xyarpège : la note, +x, +y demi-tons, une image chacune
1xx / 2xxglissé vers le haut / le bas
3xxportamento vers la note de la case
4xyvibrato : vitesse x, amplitude y
8xybalance : gauche x, droite y
Axyvolume qui glisse : +x/8 ou −y/8 par image
Bxxaprès cette ligne, la case xx de la partition
Cxxvolume de la voie (00 à 1F)
Dxxaprès cette ligne, la case suivante, à la ligne xx
ECx / EDxnote coupée / retardée de x images
Fxxvitesse : images par ligne

Les poser

  • Au clavier : le curseur sur la colonne de l'effet, taper d'un trait C20. Après le dernier chiffre, le curseur descend et revient sur la lettre.
  • Au clic droit sur une case : la liste des effets. L'effet choisi prend une valeur de départ, et le curseur va sur sa valeur.
  • Dans le panneau de gauche : les effets en boutons, leurs valeurs aux potentiomètres, une phrase qui dit ce que fait l'effet.
L'éditeur de case : un vibrato et ses potentiomètres
L'éditeur de la case : un vibrato.
Le menu du clic droit sur une case, et sur une sélection
Le clic droit : sur une case, et dans une sélection.

Les sauts

Un pattern avec des effets ; un D10 sur la voie 2, sa flèche jusqu'à la ligne 10 et le trait de rupture
Un D10 en ligne 1C : le trait de la rupture, et la flèche jusqu'à la ligne 10, où le pattern suivant commencera.

Bxx et Dxx changent le chemin de la lecture : un trait sous la ligne marque la rupture. Après un Bxx, les lignes suivantes ne sont jamais jouées : elles sont estompées.

Les effets sur plusieurs lignes

Sélectionner des lignes (glisser à la souris, ou Maj + flèches) ouvre l'outil de sélection, dans le panneau de gauche et au clic droit :

  • Transposer d'une octave ou d'un demi-ton ; changer l'instrument des notes ;
  • Volume : fondus d'entrée et de sortie, monte puis descend, baisser ou monter ;
  • Vibrato, glissés, portamento sur toute la période ;
  • Prolonger l'effet de la première ligne, interpoler de la première à la dernière ;
  • une valeur de début et de fin, en ligne droite ou en aller-retour ;
  • la courbe : une barre par ligne, qu'on dessine à la souris (volume, glissés, portamento, amplitude du vibrato, balance). Elle s'écrit dans le pattern pendant le tracé ; un ⌘Z l'annule.
L'outil de sélection : transposer, instrument, fondus, la courbe du volume dessinée en arche
24 lignes sélectionnées : le volume en arche, dans la courbe.

Pendant la lecture

Le panneau de gauche montre alors les six voies : la note de la ligne qui joue et le dernier effet de chaque voie, allumé quand il est sur la ligne qui joue. À l'arrêt, on retrouve l'éditeur de la case.

Pendant la lecture : les six voies, leur note et leur effet
Les six voies pendant la lecture.

Éditer le pattern

GesteRésultat
clic, glisserle curseur ; une sélection (plusieurs lignes, plusieurs voies)
en-tête d'une voie, numéro de lignetoute la voie, toute la ligne
⌘C ⌘X ⌘Vcopier, couper, coller au curseur (aussi au clic droit)
⌘Atout le pattern
Suppreffacer la case, la sélection, ou le champ du curseur
⌘↑ ⌘↓ (Maj)transposer d'un demi-ton (d'une octave)
⌘Z ⇧⌘Zannuler, rétablir

Verrouiller une voie : le cadenas de son en-tête. Une voie verrouillée est hachurée : rien ne s'y écrit (notes, collage, effets) et le clavier n'y joue pas. Pour composer en REC sans toucher à la batterie ou à la basse.

Les trois lecteurs

LecteurPourCe qu'il sait
DeepWave (psg.tracker)les nouveaux jeuxeffets, enveloppes, plusieurs échantillons, 32 instruments
S8Trackerles projets S8Tracker existants9 instruments (volume, déclin, maintien), un échantillon sur la voie 5, pas d'effet
Forêt SGXla musique de Forêt SGX V2une voie par instrument (nappe, flûte, clochette), le vent

Chanson ▸ Convertir pour le lecteur DeepWave garde les notes et change les instruments en enveloppes. Chanson ▸ Revenir au lecteur S8Tracker perd les effets (DeepWave le dit avant). ⌘Z annule une conversion.

Exporter vers Simple8

Fichier ▸ Exporter ▸ Projet Simple8… écrit un dossier prêt à compiler : main.s8p, la chanson (music/<nom>.dws), ses échantillons et le projet DeepWave. Le programme joue la musique avec la librairie psg.tracker, pour la machine du projet :

architecture nec.pce;
addlib psg.tracker;

unit {
    const int id_song = addResource("music/plein_gaz.dws");

    initContext() {
        tracker.play(id_song);
    }

    main() {
        while (1) {
            // une fois par image, hors de l'interruption
            tracker.update();
        }
    }
}
java -jar LitleCompilator.jar main.s8p     # puis asm/main.pce

Le programme exporté attend l'image avant chaque tracker.update(). Les autres exports : Chanson S8Tracker ou Unité Forêt SGX pour ces lecteurs, et WAV (60 secondes du son émulé).

Langues, thèmes, fichiers récents

DeepWave dans le thème clair Papier
Le thème clair « Papier ».
DeepWave dans le thème gris Ardoise
Le thème gris « Ardoise ».

Les démos

Le dossier DeepWave/projets contient des chansons à ouvrir, écouter et démonter :

FichierGenreCe qu'on y apprend
plein_gaz.dwpshoot'em upaccords en arpège d'image (037), basse en doubles croches, lead et son écho
printemps_vivaldi.dwpclassiquele Printemps de Vivaldi arrangé : écho piano, tierces, oiseaux en trilles, orage
prelude_bach.dwpclassiquele Prélude en do de Bach : arpège, notes tenues, écho décalé
riff_acier.dwprockquintes saturées, notes étouffées, solo avec portamento
boule_facettes.dwpdiscobasse en octaves, charleston ouvert, cordes piquées
neons_froids.dwpnew wavebasse en séquence, nappes désaccordées, toms
horizon.dwpmusique de filmcordes qui enflent, cor, harpe, timbales
vague_profonde.dwpjeuune basse échantillonnée jouée à la note
ether.dwpélectroniqueséquence, nappes, lead qui glisse, vent

Raccourcis

ToucheAction
Espace / Entrée / Échapjouer depuis le curseur / la chanson / arrêter
⌘L · ⌘E · ⌘Kle pattern en boucle · REC · accords
[ ] · - =octave · instrument précédent / suivant
Flèches, Tab, Pg↑ Pg↓, Début, Finse déplacer ; Maj + flèches : sélectionner
⌘C ⌘X ⌘V ⌘Acopier, couper, coller, tout sélectionner
⌘↑ ⌘↓ (Maj)transposer
⌘Z ⇧⌘Zannuler, rétablir
⌘N ⌘O ⌘S ⇧⌘Snouveau, ouvrir, enregistrer, enregistrer sous

Conseils pour un jeu

Pour aller plus loin : la librairie psg.tracker et le format des fichiers sont décrits dans la documentation du dépôt (docs/cibles/pce/libs/psg/psg.tracker.md, docs/outils/DEEPWAVE_FORMAT.md).