MSX Village forum

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

ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5596

Le 24/02/2025 à 20h49
Fusion_AYFX_Interface

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 :) Edité par ericb59 Le 08/03/2025 à 14h57


banniere-ericb59e
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2996

Le 25/02/2025 à 08h42
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 ! :top Edité par aoineko Le 25/02/2025 à 09h30


On est toujours ignorant avant de savoir.
Github    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5596

Le 25/02/2025 à 09h10
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)


banniere-ericb59e
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2996

Le 25/02/2025 à 09h40
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).

PanelInstrumentEditor_DecreasingSound

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.


J'ai vu ça aussi. C'est effectivement très pratique. :top

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.
Github    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5596

Le 25/02/2025 à 10h44
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 :p . 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 ?


banniere-ericb59e
Site web    
popolon Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 28/07/2010 à 22h07

Messages: 405

Le 25/02/2025 à 11h05
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 :
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

Mais non il n'y a pas de contradiction je taquine :lol
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
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5596

Le 25/02/2025 à 13h09
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...


banniere-ericb59e
Site web    
popolon Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 28/07/2010 à 22h07

Messages: 405

Le 25/02/2025 à 13h55
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


tout, tout, tout, vous saurez tout sur la zizi...que
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5596

Le 25/02/2025 à 15h18
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


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


banniere-ericb59e
Site web    
popolon Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 28/07/2010 à 22h07

Messages: 405

Le 25/02/2025 à 15h40
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) :)


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

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
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5596

Le 25/02/2025 à 20h52
J'ai pris en compte tes suggestions popolon :)


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




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.
wav-controls



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... :oups


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


banniere-ericb59e
Site web    
popolon Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 28/07/2010 à 22h07

Messages: 405

Le 25/02/2025 à 21h49
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 :top
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
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5596

Le 25/02/2025 à 21h55
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 ?


banniere-ericb59e
Site web    
popolon Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 28/07/2010 à 22h07

Messages: 405

Le 25/02/2025 à 22h03
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


tout, tout, tout, vous saurez tout sur la zizi...que
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2996

Le 25/02/2025 à 22h49
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


On est toujours ignorant avant de savoir.
Github    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie