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.
Le son de la PC Engine
Le processeur de la PC Engine, le HuC6280, a son propre générateur de son, le PSG :
- 6 voies, chacune joue une forme d'onde de 32 valeurs de 5 bits, qu'on dessine soi-même ;
- les voies 4 et 5 savent aussi jouer du bruit : batterie, vent, explosions ;
- chaque voie peut jouer un échantillon, un son enregistré en 5 bits (le mode DDA) ; le lecteur DeepWave en mêle plusieurs à la fois, au rythme d'un timer ;
- chaque voie a son volume (0 à 31) et sa balance gauche et droite.
La SuperGrafx a exactement le même son : une musique DeepWave est la même sur les deux.
La fenêtre
| Zone | Ce qu'on y fait |
|---|---|
| Barre d'outils | le 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 |
| Patterns | la 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 |
| Visualisation | la courbe, le spectre, le spectrogramme, un plasma, les six voies du PSG |
| Transport et clavier | lire, 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'état | les 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.
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.

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
- Fichier ▸ Nouveau : choisir la machine, PC Engine ou SuperGrafx, puis Créer.
- Chanson ▸ Convertir pour le lecteur DeepWave : pour avoir les effets, les enveloppes et plusieurs échantillons.
- Choisir un instrument à droite ; Écouter le fait entendre.
- Allumer REC (le rond, rouge quand il est allumé, ou ⌘E). Sans REC, on joue sans rien écrire.
- Jouer quelques notes au clavier de l'ordinateur. Chaque note s'écrit, puis le curseur descend du pas.
- ⟳ (⌘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.
- 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.
- Fichier ▸ Enregistrer (⌘S) : un projet
.dwp.

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

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ée | AZERTY | QWERTY | Notes |
|---|---|---|---|
| du bas | W S X D C V G B H N J , | Z S X D C V G B H N J M | une octave, de do à si |
| du haut | A é Z " E R ( T - Y è U I ç O à P | Q 2 W 3 E R 5 T 6 Y 7 U I 9 O 0 P | l'octave au-dessus |
[ et ], ou les flèches au-dessus du piano, changent d'octave.
Le piano, la souris, le clavier MIDI
- Le piano à l'écran : cliquer joue, glisser enchaîne les notes.
- Un clavier MIDI se choisit dans la liste à côté de la prise MIDI. Il est retenu, et reconnecté dès qu'il est branché. Le do central (MIDI 60) est le
C-4de DeepWave.
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
| Écrit | Touche | Effet |
|---|---|---|
=== arrêt | 1 | coupe la note net |
^^^ relâche | la 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
- REC éteint : on joue sans rien écrire. Les champs instrument et effet se tapent quand même, le clic droit marche toujours.
- REC allumé : les notes s'écrivent au curseur, ou à la ligne qui joue pendant la lecture.
- Le pas, à côté de REC : les lignes dont le curseur descend après chaque note.
Les patterns et la partition
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.
- Un clic sur une case de la partition ouvre la liste des patterns : on y choisit celui qu'elle joue.
- Les icônes ajoutent, retirent ou déplacent les cases.
- La boucle (↺) : quand la chanson arrive au bout, elle repart à cette case. L'introduction ne se joue qu'une fois, le reste tourne : c'est ce qu'il faut pour un jeu.
Les instruments
| Type | Ce qu'il joue |
|---|---|
| Forme d'onde | une onde de 32 valeurs, à la hauteur de la note ; toutes les voies |
| Bruit | le bruit du PSG, la note règle sa couleur ; voies 4 et 5 |
| Échantillon, hauteur fixe | un son enregistré, joué à sa fréquence (batterie, voix) |
| Échantillon joué à la note | le 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.

Les enveloppes
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.
| Code | Effet |
|---|---|
| 0xy | arpège : la note, +x, +y demi-tons, une image chacune |
| 1xx / 2xx | glissé vers le haut / le bas |
| 3xx | portamento vers la note de la case |
| 4xy | vibrato : vitesse x, amplitude y |
| 8xy | balance : gauche x, droite y |
| Axy | volume qui glisse : +x/8 ou −y/8 par image |
| Bxx | après cette ligne, la case xx de la partition |
| Cxx | volume de la voie (00 à 1F) |
| Dxx | après cette ligne, la case suivante, à la ligne xx |
| ECx / EDx | note coupée / retardée de x images |
| Fxx | vitesse : 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.

Les sauts
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.

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.

Éditer le pattern
| Geste | Résultat |
|---|---|
| clic, glisser | le curseur ; une sélection (plusieurs lignes, plusieurs voies) |
| en-tête d'une voie, numéro de ligne | toute la voie, toute la ligne |
| ⌘C ⌘X ⌘V | copier, couper, coller au curseur (aussi au clic droit) |
| ⌘A | tout le pattern |
| Suppr | effacer la case, la sélection, ou le champ du curseur |
| ⌘↑ ⌘↓ (Maj) | transposer d'un demi-ton (d'une octave) |
| ⌘Z ⇧⌘Z | annuler, 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
| Lecteur | Pour | Ce qu'il sait |
|---|---|---|
DeepWave (psg.tracker) | les nouveaux jeux | effets, enveloppes, plusieurs échantillons, 32 instruments |
| S8Tracker | les projets S8Tracker existants | 9 instruments (volume, déclin, maintien), un échantillon sur la voie 5, pas d'effet |
| Forêt SGX | la musique de Forêt SGX V2 | une 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
- Configuration ▸ Langue : français, anglais, italien, allemand, espagnol, portugais, norvégien.
- Configuration ▸ Thème : 8 thèmes sombres, 8 clairs, 8 gris moyens, chacun avec sa vignette.
- Fichier ▸ Ouvrir récent : les dix derniers fichiers.
Les démos
Le dossier DeepWave/projets contient des chansons à ouvrir, écouter et démonter :
| Fichier | Genre | Ce qu'on y apprend |
|---|---|---|
plein_gaz.dwp | shoot'em up | accords en arpège d'image (037), basse en doubles croches, lead et son écho |
printemps_vivaldi.dwp | classique | le Printemps de Vivaldi arrangé : écho piano, tierces, oiseaux en trilles, orage |
prelude_bach.dwp | classique | le Prélude en do de Bach : arpège, notes tenues, écho décalé |
riff_acier.dwp | rock | quintes saturées, notes étouffées, solo avec portamento |
boule_facettes.dwp | disco | basse en octaves, charleston ouvert, cordes piquées |
neons_froids.dwp | new wave | basse en séquence, nappes désaccordées, toms |
horizon.dwp | musique de film | cordes qui enflent, cor, harpe, timbales |
vague_profonde.dwp | jeu | une basse échantillonnée jouée à la note |
ether.dwp | électronique | séquence, nappes, lead qui glisse, vent |
Raccourcis
| Touche | Action |
|---|---|
| Espace / Entrée / Échap | jouer depuis le curseur / la chanson / arrêter |
| ⌘L · ⌘E · ⌘K | le pattern en boucle · REC · accords |
[ ] · - = | octave · instrument précédent / suivant |
| Flèches, Tab, Pg↑ Pg↓, Début, Fin | se déplacer ; Maj + flèches : sélectionner |
| ⌘C ⌘X ⌘V ⌘A | copier, couper, coller, tout sélectionner |
| ⌘↑ ⌘↓ (Maj) | transposer |
| ⌘Z ⇧⌘Z | annuler, rétablir |
| ⌘N ⌘O ⌘S ⇧⌘S | nouveau, ouvrir, enregistrer, enregistrer sous |
Conseils pour un jeu
- Le temps de calcul :
tracker.update()prend 5 à 7 % d'une image en moyenne. Le timer des échantillons coûte ce que coûtent les échantillons : quelques pour cent pour une batterie, de l'ordre de 10 % pour une basse échantillonnée en continu, rien sans échantillon. - La mémoire : une forme d'onde fait 32 octets ; une seconde d'échantillon à 6991 Hz près de 7 000. Préférez des sons courts et des boucles.
- Les voies : laissez une voie libre pour les bruitages du jeu, souvent la voie 5.
- La boucle : après l'introduction, pour que la musique tourne sans fin.
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).




