La Place des Développeurs Fusion FX! Editor L'éditeur ultime pour les SFX !


Salutations,
La plupart d’entre nous, qui nous sommes essayés à la création de jeux MSX, avons été confrontés au problème de la génération de Sound FX pour illustrer et ponctuer les actions dans un jeu vidéo.
Il existe l’éditeur AYFX Edit de Shiru, très connu et devenu un quasi-standard. Ses bibliothèques .afb sont d’ailleurs largement utilisées en programmation C et ASM.
Cependant, je n’ai jamais trouvé mon compte dans cet éditeur. Je l’ai trouvé à la fois très simple mais aussi très austère. De plus, étant donné qu’il s’agit d’une application Windows, le Mac user que je suis en a toujours été frustré.
J’ai donc passé ces dernières semaines à créer un éditeur de FX inspiré de la philosophie de celui de Shiru, tout en restant compatible avec les fichiers .afb et .afx. J’ai toutefois tenté d’en faire un outil plus complet et plus agréable à utiliser, tout en assurant une compatibilité Mac, Windows et Linux.
Je vous livre donc ma dernière création, en bêta.
Je travaille encore sur la documentation, mais vous trouverez peut-être intéressant de l’essayer dès maintenant…
Principales fonctionnalités
✔ Canvas d’édition visuel sur 256 frames
✔ Édition à la souris :
✔ Clic gauche : ajouter des frames
✔ Clic droit : effacer des frames
✔ Insertion de notes avec un piano virtuel
✔ Pointeur déplaçable sur le canvas
✔ Visualisation d’ondes en temps réel
✔ Écoute des frames en live
✔ Mode “Sélection” avec Copier / Coller
✔ Interpolations automatiques sur les pistes Tone et Volume
✔ Import / Export des fichiers .afx et .afb
✔ Export du FX en .wav
✔ Import et conversion d’un .wav avec différents paramètres de conversion
✔ Écoute du FX en 50 ou 60 Hz
Vous pouvez utiliser l'outil en vous rendant ici :
Fusion FX!Editor
J'attends vos suggestions et report de bugs.
Merci à tous


Hello,
Première impression rapide : C'est très propre et ergonomique, ça semble assez complet et il y a des fonctions bien pratiques (comme pouvoir utiliser des presets de courbes appliqués sur un intervalle).
Après, quand j'ai fait les VFX de Crawlers et Room 5, je n'utilisais jamais le dessin à la main des courbes. Pour créer des effets intéressants, il faut souvent utiliser des changements de valeur brutales entre chaque frame et c'est quand même plus pratique d'entrer ces chiffres à la main et de voir toutes les valeurs comme sur un bon vieux tracker.
A noter aussi que si on utilise un replayer de musique type Arkos Tracker ou Trilo Tracker, ils ont leur propre format de VFX et des fonctionnalités pour les jouer avec la musique.
Ceci dit, en théorie, ça devrait être possible d'exporter les VFX à ces formats depuis ton outil (ou de convertir les .AFX/.AFB).
En tout cas, bravo pour ce nouvel outil !
Edité par
aoineko
Le 25/02/2025 à 09h30
Première impression rapide : C'est très propre et ergonomique, ça semble assez complet et il y a des fonctions bien pratiques (comme pouvoir utiliser des presets de courbes appliqués sur un intervalle).
Après, quand j'ai fait les VFX de Crawlers et Room 5, je n'utilisais jamais le dessin à la main des courbes. Pour créer des effets intéressants, il faut souvent utiliser des changements de valeur brutales entre chaque frame et c'est quand même plus pratique d'entrer ces chiffres à la main et de voir toutes les valeurs comme sur un bon vieux tracker.
A noter aussi que si on utilise un replayer de musique type Arkos Tracker ou Trilo Tracker, ils ont leur propre format de VFX et des fonctionnalités pour les jouer avec la musique.
Ceci dit, en théorie, ça devrait être possible d'exporter les VFX à ces formats depuis ton outil (ou de convertir les .AFX/.AFB).
En tout cas, bravo pour ce nouvel outil !

On est toujours ignorant avant de savoir.

Merci pour ce retour Aoineko.
Tu peux mettre les valeurs à la mano si tu veux.
Déplace le curseur ( à la souris ou au clavier , touches droite et gauche)
Dans les champs d'édition sous la
dernière courbe tu peux entrer chaque valeur à la main.
Quand tu passes en mode "Sélection"
un + et un - apparaissent sur les étiquettes volume et Tone. Qui permettent d'élever ou descendre tout ou partie dès valeurs.
( le flag X , permet de n'augmenter ou diminuer que les frames qui ont une valeur > 0)
Tu peux mettre les valeurs à la mano si tu veux.
Déplace le curseur ( à la souris ou au clavier , touches droite et gauche)
Dans les champs d'édition sous la
dernière courbe tu peux entrer chaque valeur à la main.
Quand tu passes en mode "Sélection"
un + et un - apparaissent sur les étiquettes volume et Tone. Qui permettent d'élever ou descendre tout ou partie dès valeurs.
( le flag X , permet de n'augmenter ou diminuer que les frames qui ont une valeur > 0)

ericb59 :
Tu peux mettre les valeurs à la mano si tu veux.
Oui j'ai vu, mais pour le moment c'est moins pratique qu'un tracker classique car on ne voit pas la valeur numérique de chaque frame. Et je n'ai pas réussi à naviguer facilement d'une frame à l'autre (mais ça, ça se règle facilement).

ericb59 :
Quand tu passes en mode "Sélection"
un + et un - apparaissent sur les étiquettes volume et Tone. Qui permettent d'élever ou descendre tout ou partie dès valeurs.
un + et un - apparaissent sur les étiquettes volume et Tone. Qui permettent d'élever ou descendre tout ou partie dès valeurs.
J'ai vu ça aussi. C'est effectivement très pratique.

EDIT :
J'ai oublié de préciser, mais j'avais un bug quand j'éditais une courbe la souris : en laissant appuyer et en déplaçant la souris latéralement, certaines frames étaient zappées et n'avaient pas de valeur. Edité par aoineko Le 25/02/2025 à 09h53
On est toujours ignorant avant de savoir.

Je ne sais pas si c'est un bug que tu décris, mais effectivement si tu déplaces la souris trop vite ça va zapper des frames.
Je ne suis pas certain de pouvoir faire autrement car le canvas n'est pas une zone continue.
Pour les ajouts à la main, oui ben c'est pas un tracker
. j'ai voulu une interface qui reste compacte, tout est histoire de compromis.
Pourquoi tu dis que tu n'as pas réussi à naviguer facilement d'une frame à l'autre ?
Je ne suis pas certain de pouvoir faire autrement car le canvas n'est pas une zone continue.
Pour les ajouts à la main, oui ben c'est pas un tracker

Pourquoi tu dis que tu n'as pas réussi à naviguer facilement d'une frame à l'autre ?

Sur le plan ergonomique :
- vu que tu a choisi d'utiliser une timeline horizontale à la différence de shiru, le zoom in/out de 5px/4px est vraiment trop limité, il faudrait 3 icones avec zoom out/zoom reset/zoom in, et plusieurs niveaux de zoom à chaque click
- les bulles d'info d'activation/désactivation d'une fonction me soule en s'affichant à chaque fois, peut on les désactiver ?
- le piano est plus limité que celui de shiru qui permet de rentrer plusieurs steps avec la même note, dommage
Sur le plan fonctionnel :
Mais non il n'y a pas de contradiction je taquine
Du coup pour le programmeur MSXien de base, plutot que du conteneur wav de windows, ne peut on pas exporter les données brutes pour les intégrer dans notre programme (comme le .CSV de shiru) ou au moins exporter en PCM ? Edité par popolon Le 25/02/2025 à 11h10
- vu que tu a choisi d'utiliser une timeline horizontale à la différence de shiru, le zoom in/out de 5px/4px est vraiment trop limité, il faudrait 3 icones avec zoom out/zoom reset/zoom in, et plusieurs niveaux de zoom à chaque click
- les bulles d'info d'activation/désactivation d'une fonction me soule en s'affichant à chaque fois, peut on les désactiver ?
- le piano est plus limité que celui de shiru qui permet de rentrer plusieurs steps avec la même note, dommage
Sur le plan fonctionnel :
Citation :
De plus, étant donné qu’il s’agit d’une application Windows, le Mac user que je suis en a toujours été frustré.
Citation :
✔ Export du FX en .wav
✔ Import et conversion d’un .wav avec différents paramètres de conversion
✔ Import et conversion d’un .wav avec différents paramètres de conversion
Mais non il n'y a pas de contradiction je taquine

Du coup pour le programmeur MSXien de base, plutot que du conteneur wav de windows, ne peut on pas exporter les données brutes pour les intégrer dans notre programme (comme le .CSV de shiru) ou au moins exporter en PCM ? Edité par popolon Le 25/02/2025 à 11h10
tout, tout, tout, vous saurez tout sur la zizi...que

Merci de tes suggestions popolon.
Il n'y a pas de contradiction, le wav existe depuis 1991c'est un standard pas dédié à Windows
L'export Wav se fait brut, donc c'est du PCM.
Tu veux sans doute un export en PCM 8 bits ?
Je ne sais pas ce qu'est le format .csv de shiru. Peux tu m'en dire plus ?
Je vais regarder ce que propose Shiru avec son piano virtuel...
Il n'y a pas de contradiction, le wav existe depuis 1991c'est un standard pas dédié à Windows

L'export Wav se fait brut, donc c'est du PCM.
Tu veux sans doute un export en PCM 8 bits ?
Je ne sais pas ce qu'est le format .csv de shiru. Peux tu m'en dire plus ?
Je vais regarder ce que propose Shiru avec son piano virtuel...

En fait le WAV n'est pas un format de fichier mais un conteneur de fichier audio crée par Microsoft pour windows en 91
Sous Mac, l'équivalent c'est l'AIFF
oui l’intérêt serait d'exporter en PCM 8 bits pour être utilisable directement sur MSX sans passer par le conteneur wav
pour le .CSV c'est la liste des données hexadecimales (séparées par des virgules) issues des réglages de chaque frames.
on peut ensuite les parser pour les intégrer dans son programme
Sous Mac, l'équivalent c'est l'AIFF

oui l’intérêt serait d'exporter en PCM 8 bits pour être utilisable directement sur MSX sans passer par le conteneur wav
pour le .CSV c'est la liste des données hexadecimales (séparées par des virgules) issues des réglages de chaque frames.
on peut ensuite les parser pour les intégrer dans son programme
tout, tout, tout, vous saurez tout sur la zizi...que

popolon :
pour le .CSV c'est la liste des données hexadecimales (séparées par des virgules) issues des réglages de chaque frames.
on peut ensuite les parser pour les intégrer dans son programme
pour le .CSV c'est la liste des données hexadecimales (séparées par des virgules) issues des réglages de chaque frames.
on peut ensuite les parser pour les intégrer dans son programme
ha ok. Alors ça je l'ai mis.
c'est le premier bouton dans la section Import/Export
Et tu peux parser des données identiques dans le champ import Fx (sur la barre de menu de gauche)

Je peux ajouter l'export PCM 8bits.
C'est sans entête binaire pour le MSX je crois ? ou bien il faut une entête ?
Quel échantillonnage utiliser 11kHz ? ou bien laisser le choix à l'utilisateur ? Edité par ericb59 Le 25/02/2025 à 15h23

ericb59 :
ha ok. Alors ça je l'ai mis.
c'est le premier bouton dans la section Import/Export
Et tu peux parser des données identiques dans le champ import Fx (sur la barre de menu de gauche)
ha ok. Alors ça je l'ai mis.
c'est le premier bouton dans la section Import/Export
Et tu peux parser des données identiques dans le champ import Fx (sur la barre de menu de gauche)

Exact, je l'avais vu en plus hier soir quand j'ai testé vite fait

Pour le PCM sans entête, 8 bits non signé 11Khz c'est pas mal
tout, tout, tout, vous saurez tout sur la zizi...que

J'ai pris en compte tes suggestions popolon 
J'ai amélioré de design du Piano virtuel, et ajouté les options Step et Fill

J'ai changé le titre de la zone de paramètres pour l'import Wav, et ajouté un paramètre d'export .wav et .pcm (8-bits sans entête)
et aussi un choix de l'échantillonnage en 44, 22, 11 et 8 kHz qui sont appliqués pour l'export du fichier .wav ou .pcm, mais aussi à l'écoute dans l'interface.

Et aussi, ajouté plus de niveaux de zoom du canvas d'édition jusque 8 pixels par frame. Il suffit de cliquer plusieurs fois sur le bouton de Zoom +
un bouton Zoom -, apparait ensuite pour faire Zoom Out.
PS : J'ai pas testé les fichiers .pcm
Mais je pense qu'ils sont bons...
Edité par ericb59 Le 26/02/2025 à 09h51

J'ai amélioré de design du Piano virtuel, et ajouté les options Step et Fill

J'ai changé le titre de la zone de paramètres pour l'import Wav, et ajouté un paramètre d'export .wav et .pcm (8-bits sans entête)
et aussi un choix de l'échantillonnage en 44, 22, 11 et 8 kHz qui sont appliqués pour l'export du fichier .wav ou .pcm, mais aussi à l'écoute dans l'interface.

Et aussi, ajouté plus de niveaux de zoom du canvas d'édition jusque 8 pixels par frame. Il suffit de cliquer plusieurs fois sur le bouton de Zoom +
un bouton Zoom -, apparait ensuite pour faire Zoom Out.
PS : J'ai pas testé les fichiers .pcm
Mais je pense qu'ils sont bons...

Edité par ericb59 Le 26/02/2025 à 09h51

l'écoute et l'export PCM 8Khz fonctionne bien, y'a plus qu'a le transformer en ADPCM 4 bits pour l'utiliser sur le Music Module 
zoom OK, piano OK
bug sur les curseurs de la section wav controls, je peux pas les bouger
pour l'export par le presse papier, j'aurai préféré en hexa (notamment pour la fréquence tone en little endian) mais c'est déjà cool
Edité par popolon Le 25/02/2025 à 21h52

zoom OK, piano OK
bug sur les curseurs de la section wav controls, je peux pas les bouger
pour l'export par le presse papier, j'aurai préféré en hexa (notamment pour la fréquence tone en little endian) mais c'est déjà cool
Edité par popolon Le 25/02/2025 à 21h52
tout, tout, tout, vous saurez tout sur la zizi...que

ha j'ai sans doute fait une erreur dans la configuration des sliders. je regarderai demain.
C'est quoi l'adpcm 4 K ?
tu peux me le définir ?
C'est quoi l'adpcm 4 K ?
tu peux me le définir ?

dur de définir mais la plupart des samples utilisés sur les puces FM Yamaha sont compressés avec un algorithme ADPCM 4 bits à partir du PCM 8 bits
en gros c'est une compression prédictive basée sur la quantification
le procédé est expliqué ici dans le manuel du YM2608 (traduit du Japonais...)
YM2608-44.pdf
ou la dans le manuel du Y8950
Y8950 Application Manual-5.pdf
il y a un utilitaire de conversion pour MSX ici :
https://www.msx.org/downloads/wav%E2%86%92pcmadpcm-converter-wvp Edité par popolon Le 25/02/2025 à 23h54
en gros c'est une compression prédictive basée sur la quantification
le procédé est expliqué ici dans le manuel du YM2608 (traduit du Japonais...)
YM2608-44.pdf
ou la dans le manuel du Y8950
Y8950 Application Manual-5.pdf
il y a un utilitaire de conversion pour MSX ici :
https://www.msx.org/downloads/wav%E2%86%92pcmadpcm-converter-wvp Edité par popolon Le 25/02/2025 à 23h54
tout, tout, tout, vous saurez tout sur la zizi...que

La différence entre le PCM et l'ADPCM, c'est que le 1er code des valeurs globales indépendantes les unes des autres, alors que le 2e code uniquement les écarts entre les valeurs successives.
Par exemple, cette suite de valeur PCM : 128, 150, 92, 32
Sera codé en ADPCM : +128, +22, -58, -60
Vu que le signal d'un son varie normalement peu d'un temps au suivant, on peut coder les écarts sur des plus petit chiffre.
L'ADPCM 4-bit permet de écart entre -8 et +7.
Si l'écart est trop grand pour être codé en 4-bit, il y a une perte de qualité.
La qualité dépend beaucoup du type de son codé ; certains passent bien, d'autre très mal. Edité par aoineko Le 25/02/2025 à 22h50
Par exemple, cette suite de valeur PCM : 128, 150, 92, 32
Sera codé en ADPCM : +128, +22, -58, -60
Vu que le signal d'un son varie normalement peu d'un temps au suivant, on peut coder les écarts sur des plus petit chiffre.
L'ADPCM 4-bit permet de écart entre -8 et +7.
Si l'écart est trop grand pour être codé en 4-bit, il y a une perte de qualité.
La qualité dépend beaucoup du type de son codé ; certains passent bien, d'autre très mal. Edité par aoineko Le 25/02/2025 à 22h50
On est toujours ignorant avant de savoir.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie