ContribCliquez ici pour proposer des corrections ou des compléments pour cette page.
fichiers .SND

Specifications des Fichiers Son (.snd)

 
Dernière mise à jour Octobre 30, 2018

 

 

Le fichier.snd est un fichier texte - les fins de ligne Unix ou Windows sont légales, les lignes vides sont autorisées après l'en-tête, et le jeu de caractères doit être UTF-8.

L'en-tête du fichier doit être

A
1000
ACF_SOUNDS

Contrairement à d'autres formats de fichiers texte X-Plane, le fichier.snd nécessite des directives BEGIN et END appariées pour les sous-sections principales. Avoir une directive BEGIN sans sa directive END correspondante est une erreur.

Traduit avec www.DeepL.com/Translator

 

 


Liaison entre Datarefs et Conditions

 

Les évennements basés sur les Dataref utilisent un langage logique simple, de la forme

<dataref> <opérateur> <valeur>
par exemple : "sim/flightmodel2/engine/N1_percent[0] >= 12.5"

La condition est évaluée comme vraie ou fausse suivant l'état de la valeur (voir la liste ci-dessous). Les conditions sont évaluées à chaque image avec la valeur dataref actuelle et peuvent ensuite déclencher des événements FMOD.

Contrairement aux datarefs normales, vous pouvez préfixer une dataref avec "DELTA=" ou "ABS_DELTA=". Si vous faites cela, la valeur dans la condition n'est pas la dataref elle-même, mais son taux de changement (par seconde). ABS_DELTA applique une valeur absolue.

Par exemple, la condition

DELTA=sim/flightmodel2/engine/N1_percent[0] > 10

Serait vraie si N1 croît à un taux supérieur à 10 par seconde. En utilisant ABS_DELTA, la condition serait également vraie lorsque N1 tomberait de plus de 10 par seconde.

DELTA et ABS_DELTA peuvent être utilisés pour jouer des sons lorsqu'un taux de changement est détecté dans une dataref, même si le sim ne fournit pas directement un taux de changement dataref. Par exemple : les volets, la position réelle des volets est fournie par X-Plane mais leur vitesse de déplacement ne l'est pas. Pour jouer correctement le son d'un moteur de volet, DELTA est nécessaire.

(Il serait erroné de jouer le son en se basant sur la commande d'ouverture des volets : si le système électrique est en panne, les volets peuvent ne pas bouger même lorsque la commande est enfoncée. Ainsi, le mouvement réel des volets devrait être le déclencheur du son, et non la commande.)

 


Constantes Utilisées dans le Format de Fichier

 

Là où les références de données peuvent être comparées, les opérateurs de comparaison valides sont :

    < (moins de)
    <= (inférieur ou égal)
    == (égalité)
    != (n'est pas égal)
    >= (supérieur ou égal)
    > (supérieur à)

Les parites valides pour se rattacher à des avions sont :

    moteur - le son est attaché au moteur - l'index fait référence au numéro du moteur.
    pneu - le son est attaché à un pneu - l'index fait référence au numéro de train où est le pneu.
    cockpit - le son est à peu près devant le pilote.

 

 


Directives Generales

 

Ces directives doivent apparaître au début du fichier.

REQUIRES_BANK <nom de la banque>
Cette ligne permet à X-Plane de charger la banque spécifiée dans le dossier FMOD. Ceci est nécessaire pour toute banque que vous souhaitez utiliser pour cet ACF autre que la banque maître.

DISABLE_LEGACY_ALERT_SOUNDS
Nouveau sur X-Plane 11.30, ajouter ceci au fichier SND empêchera X-Plane d'émettre les sons d'alerte d'un avion existant.

 

 


Directives d'Attachement des Sons

 

Chaque bloc d'attache du son définit un seul "son" attaché sur l'avion. Vous devez utiliser une paire jumelée avec "BEGIN_SOUND_ATTACHMENT" et "END_SOUND_ATTACHMENT".

Dans ce bloc, vous devez avoir :
    - Exactement un "EVENT_NAME" ou "SNAPSHOT_NAME" pour spécifier l'objet FMODà  jouer.
    - Exactement un "VEH_XYZ" ou "VEH_PART" pour spécifier l'emplacement de l'objet FMOD dans l'espace.
    - Au moins une des méthodes de déclenchement (par exemple EVENT_xxx) pour que l'objet FMOD soit joué. Ceci peut être omis, mais alors l'événement FMOD ne sera jamais joué.

Note : alors que tous les déclencheurs de dataref (début, fin, attente) peuvent être combinés, une seule commande de déclenchement peut être utilisée, et elle ne peut être combinée avec aucun déclencheur dataref.

"BEGIN_SOUND_ATTACHMENT"
Ceci débute la définition d'un nouveau son attaché. Toutes les propriétés d'attache du son doivent être spécifiées après cette directive et avant la directive "END_SOUND_ATTACHMENT" correspondante.

"END_SOUND_ATTACHMENT"
Définit la fin d'un attachement sonore donné. Chaque pièce jointe sonore doit être "terminée" avant qu'il ne se passe toute autre chose dans le fichier, et avant que le fichier ne se termine.

"EVENT_NAME <fmod string name>"
Ceci définit un événement FMOD (par le nom de sa chaîne) que joue cette pièce jointe.

"SNAPSHOT_NAME <fmod string name>"
Ceci définit un instantané FMOD (par le nom de sa chaîne) que cet attachement joue. Les instantanés modifient le mixage pendant qu'ils sont "joués" et cessent de prendre effet lorsqu'ils sont arrêtés.

"VEH_XYZ <x> <y> <z>"
Ceci définit l'emplacement de votre événement par rapport à des axes X,Y,Z en mètres, par rapport au CG par défaut de l'avion ; X est à droite, Y est en haut, Z est en arrière.

"VEH_PART <part_enum> <part_idx>"
Ceci attache votre son à une partie spécifique de l'avion ; lorsque l'avion peut avoir plusieurs parties (par exemple des moteurs), un index basé sur zéro est utilisé.

"EVENT_ALLOWED_FOR_AI"
Si cette directive existe, le son est utilisé lorsque votre avion est piloté par l'IA comme utilisateur ; si elle est omise, le son est pour l'avion de l'utilisateur seulement. Ne liez pas les bruits internes du poste de pilotage (comme des bruits d'interrupteurs) sur l'avion AI.

"PARAM_DREF_IDX <dref_idx>"
Pour les paramètres sonores qui utilisent des caractères génériques pour les index, par exemple sim/flightmodel2/engines/N1_percent[*], cela indique quel index utiliser pour ce son attaché. Cela vous permet d'attribuer un seul événement pour tous les moteurs et de faire varier l'indice pour obtenir une correspondance correcte du son avec les paramètres de son moteur particulier dans un avion multimoteur.

"EVENT_START_COND <dref> <op> <value>"
Ceci provoque le démarrage de la lecture de l'événement lorsque les données de la dataref correspondent aux valeurs spécifiées.

"EVENT_END_COND <dref> <op> <value>"
Ceci provoque l'arrêt de la lecture de l'événement lorsque la condition devient vraie.

"EVENT_ALWAYS"
Ceci fait que l'événement est toujours joué. La lecture d'événements coûte du CPU même si l'événement ne produit pas de son, donc utilisez-le uniquement si vous avez vraiment besoin que l'événement soit toujours en cours de lecture. Un exemple d'événement toujours en cours de lecture pourrait être un événement de mixage qui ajuste constamment votre mixage en réponse à des  données de datarefs.

Pour les sons qui s'arrêtent vraiment (par exemple, le bruit du moteur), utilisez les conditions d'événement pour arrêter complètement l'événement (ou lui permettre de terminer le jeu avec une attente) une fois que cela est approprié.

"CUE_TRIGGER_COND <dref> <op> <value>"
Ceci définit les conditions dans lesquelles la "file d'attente" est envoyée à FMOD pour l'événement donné, sur la base de l'équation d'une dataref.

"EVENT_CMND_DOWN <cmnd>"
Ceci provoque la lecture de l'événement lorsqu'une commande est appuyée. Comme vous ne pouvez utiliser qu'un seul déclencheur de commande par événement, cela signifie qu'il s'agit d'un son à terminaison automatique, comme un interrupteur cliqué vers le bas par exemple.

"EVENT_CMND_UP <cmnd>"
Ceci fait jouer l'événement lorsqu'une commande est relâchée. Comme vous ne pouvez utiliser qu'un seul déclencheur de commande par événement, ceci est destiné à un son à terminaison automatique comme un clic de commutateur lorsqu'il est relâché.

"EVENT_CMND_HOLD_STOP <cmnd>"
Ceci provoque le démarrage de l'événement lorsque la commande est appuyée et l'arrêt lorsque la commande est relâchée. Par exemple, l'événement est lu pendant la durée pendant laquelle la commande est appuyée.

"EVENT_CMND_HOLD_CUE <cmnd>"
Ceci provoque le démarrage de l'événement lorsque l'on appuie sur la commande, et sa mise en attente lorsque la commande est relâchée ; l'intention est que l'événement sonore puisse boucler pendant la durée de la commande et ensuite indiquer une partie finale lorsque la commande est relâchée, puis s'arrêter.

"EVENT_AUTO_END_FROM_START_COND"
Nouveau sur X-Plane 11.30. Ajouté à un événement sonore, le son s'arrêtera dès que TOUTES les conditions de démarrage de Dataref ne sont plus vraies.

 

 


Definition des Espaces de Son

 

X-Plane prend en charge jusqu'à 64 "espaces sonores" tridimensionnels définis dans et à proximité de votre avion. L'intention est de marquer les régions internes de votre avion afin que X-Plane puisse fournir des données indiquant l'emplacement de la caméra à des fins de mixage.

Chaque espace sonore contient une ou plusieurs primitives de volume ; l'espace sonore est l'union de l'espace couvert par ces volumes. Les volumes disjoints et chevauchants sont autorisés. Lorsqu'une profondeur de mélange douce est utilisée, elle est basée sur la limite mathématique de l'union du volume limite.

"BEGIN_SOUND_SPACE"
Ceci commence par la définition d'un espace sonore. Les espaces sonores doivent être terminés par "END_SOUND_SPACE" avant qu'un autre ne puisse être lancé ou qu'un événement puisse être ajouté, et les espaces sonores ne peuvent pas être imbriqués dans des pièces jointes sonores.

"END_SOUND_SPACE"
Ceci termine un espace sonore existant.

"SOUND_INDEX <index>"
C'est une directive obligatoire (une fois à l'intérieur de chaque espace sonore) qui définit l'index (0-63) de l'espace sonore dans X-Plane ; elle est utilisée pour "spécifier" des taux de pénétration pour cet espace sonore.

"BLEND_DEPTH <distance meters>"
Ceci définit une région de transition douce commençant à la limite mathématique du volume et du déplacement vers l'intérieur ; la dataref de ratio intérieur va de 0 au bord mathématique du volume à 1,0 à "distance mètres" à l'intérieur.

"SPHERE <center x> <center y> <center z> <radius>"
Ceci ajoute une sphère à l'espace sonore, définie par l'emplacement et le rayon en mètres, référencée par rapport au CG de l'avion.

AABB <minx> <miny> <minz> <maxx> <maxy> <maxz>
Ceci ajoute une boite délimité alignée sur un axe (en coordonnées de l'avion, c'est-à-dire +X = droite, +Y = haut, +Z = arrière) en mètres autour du CG de l'avion.