Les soundscapes de A à Z.

Ce forum regroupe tous les tutoriaux réalisés par des membres de Mapping-Area pour Half-Life 2.

Modérateurs: Co-Admin, Modérateur, Staff

Les soundscapes de A à Z.

Messagede Neji le 18 Oct 2008, 03:09

Les soundscapes de A a Z.


Salut a tous, :lu

Je vous propose aujourd'hui un tuto complet sur les soundscapes, celui déjà présent sur le site étant non complet, je suis donc allez chipoter du côté de valve et j'ai découvert plein de truc waaah!!! dont je vais vous faire part. Ça fait très longtemps que je n'ai pas fait de tuto j'espère être assez clair :@]

_ _ _ _ _

1 - Le soundscape c'est quoi?

C'est un outil qui permet de gérer son ambiance sonore sur sa map en allant chercher les infos nécessaires dans un fichier .txt dans le dossier script de votre jeu. C'est dans ce fichier .txt, que l'on appellera "soundscape.txt", que vous allez définir les sons que vous voulez jouer dans votre map et avec tel ou tel attribut. Tel un .vmt, le soundscape.txt obéit a une syntaxe précise. :!
En effet un soudscape.txt est en fait composé de plusieurs portions (ou soundscape) que l'on appellera "entrée" et c'est cette entrée que l'on va appeler in-game pour jouer des sons. On peut facilement créer une ambiance zone par zone (pièces par pièces) et c'est donc très utile en intérieur.

=> Voici un soundscape simpliste pour vous montrer comment ils sont fait :

Code: Tout sélectionner
//(premiere entrée)

"para_generator_room" => "nom de l'entrée 1"
{
         "dsp"   "1"
         "playlooping"
         {
                "volume"       "0.75"
                "pitch"        "100"
                "wave"         "cs_paranoia/JD01.wav"
         }
    }

// (deuxième entrée)

"para_under" =>"nom de l'entrée 2"
{
         "dsp"   "1"
         "playlooping"
         {
                "volume"       "0.60"
                "pitch"        "100"
                "wave"         "cs_paranoia/JD02.wav"
         }
    }



Je vais vous expliquer ce qui compose une entrée par la suite ;) mais en gros une entrée gère un son dans ce cas la.

Mais pourquoi le soundscape?

-ça évite une flopper d'ambiant_généric et autre entités qui vont avec (logic_timer, etc...)
-ça permet de bien gérer ses ambiances surtout en intérieur.
-on peut éditer son ambiance via le soundscape.txt sans avoir à passer par hammer et à recompiler!!! (super si on trouve l'un des sons trop fort) 8)!

Mais ça ne veux pas dire pour autant mettre l'ambiant_generic a la poubelle :+_ puisque celui ci restera tres utile pour les sons "trigger" intervenant que pour des événements...

_ _ _ _ _

2 - Comment utiliser le soundscape?

Il suffit d'utiliser un "env_sounscape" (à choisir donc dans les entités points) et de le placer sur sa map. Ensuite il faut lui indiquer quel "entrée" utilisé parmi tout les soundscapes inscrit dans le "soundscape_manifest.txt" présent dans le dossier script.

Qu'est ce que ce manifest? Et bien c'est la liste des "soundscape.txt" que le jeu vas prendre en compte une fois lancé,
si vous décidez de créer votre propre "soundscape.txt", vous devez le rajouter dans la liste.

Remarque : Il ne faudra pas oublier d'inclure ce manifest dans votre .bsp sinon les autres personne n'auront pas vos soundscapes perso. Dans ce cas la il faudra inclure le manifest dans le .bsp afin qu'il soit chargé en priorité en jeu sur celui d'origine.

Remarque bis
: cet ajout est inutile si vous appelez votre soundscape comme le nom de votre map si, bien sur, il ne vous sert que pour celle ci.
(pour mon cas pour cs_paranoia le soudnscape sera "soundscapes_cs_paranoia.txt") 8-)

_ _ _ _ _

3 - L'env_soundscape
Image

Revenons a nos moutons, :grumf on a donc placé notre env_soundscape dans notre map (on remarque au passage qu'il en existe plusieurs sortes mais pour l'instant on reste sur celui de base)

Voici les propriétés de "l'env_soundscape" :

A - Name : Nom de l’entité.

B - Parent : Si vous voulez parenter le soundscape a une autre entité.

C - Start Disabled : Si vous voulez que le soundscape soit activé ou nom au début de la map.

D - radius : C'est la portée de l'env_soundscape (et non du soundscape lui meme!!) mais mais... et bien figurez vous que cette entité fonctionne comme un trigger et quand on entrera dans le radius de celui ci et bien il sera activé. A l'inverse, si on sors de cette portée, le sounscape utilisé ne s'arrêtera pas mais continuera jusqu'à ce qu'on croise la route d'un autre sounscape. En gros pour une maison, pour l'ambiance d'intérieur, il faudra un env_soundscape a l'entrée mais si on ressort, pour passer dans l'ambiance extérieure il faudra un autre env_soundscape.
il ne faut donc pas mettre ces env_soundscpae n'importe ou et bien gérer pour ne par ce retrouver avec une ambiance complètement fausse et faites bien attention que deux radius de deux soundscapes ne se touchent pas. :read

A tester : D'apres valve, une valeur -1 permettrait de faire jouer le soundscape du moment qui soit dans notre champs de vision.

E - soundscape : C'est le nom de l'entrée que l'on veut utiliser parmi toutes celle présentes dans tout les soundscape.txt listés dans le manifest.txt (un large choix donc)
(ex : "para_under")


F - position 0-7 : On va voir ça un peu plus tard mais c'est pour gérer les sons fixes.


C'est bien maintenant on sait appeler un soundscape, maintenant on va voir quoi mettre dedans :p

_ _ _ _ _

4 - Le soundscape.txt et ses subtilités :

On sais que le .txt est composé de plusieurs soundscapes, maintenant va falloir décortiquer ceux-ci :
Code: Tout sélectionner
"para_under" (nom du soundscape)
{
         "dsp"   "1"
         "playlooping"
         {
                "volume"       "0.60"
                "pitch"        "100"
                "wave"         "cs_paranoia/JD02.wav"
         }
         "playrandom"
         {
               "time"         "0.1,1.5"
               "volume"       "0.5,1"
               "pitch"          "100"
               "rndwave"
                    {
                            "wave"   "Cs_paranoia/rats.wav"
                    }
               }

    }


"dsp" - c'est l'effet que vous allez donner au son que l'entrée vas jouer.

voici la liste des effets :

Code: Tout sélectionner
0 : "Normal (off)"
1 : "Generic" (gère l'écho en fonction de l'environnement)
2 : "Metal Small"
3 : "Metal Medium"
4 : "Metal Large"
5 : "Tunnel Small"
6 : "Tunnel Medium"
7 : "Tunnel Large"
8 : "Chamber Small"
9 : "Chamber Medium"
10: "Chamber Large"
11: "Bright Small"
12: "Bright Medium"
13: "Bright Large"
14: "Water 1"
15: "Water 2"
16: "Water 3"
17: "Concrete Small"
18: "Concrete Medium"
19: "Concrete Large"
20: "Big 1"
21: "Big 2"
22: "Big 3"
23: "Cavern Small"
24: "Cavern Medium"
25: "Cavern Large"
26: "Weirdo 1"
27: "Weirdo 2"
28: "Weirdo 3"


(Bon si vous êtes habitué a ça tant mieux :^^ )


"playlooping" - C'est la manière de jouer un son, ici playlooping, le son ou les son présents dans la boucle suivante sont joués en boucle (il faut que votre son soit loop par contre)

=> Petiti tuto sur goldwave pour créer un son loop : ICI
=> Petiti tuto sur le magnéto de windows pour créer un son loop : LA
Code: Tout sélectionner
      "playlooping"
         {
                "volume"       "0.60"
                "pitch"        "100"
                "wave"         "cs_paranoia/JD02.wav"

Dans cette boucle :

"volume" - Le volume du son joué
"pitch" - Le pitch sert a faire varier le son, la valeur 100 est la valeur normale, une valeur élevé et le son sera rapide et aigu, une valeur plus basse et il sera lent et grave.
"wave" - Le chemin d'acces au son (ne pas oublier le suffixe .wav)

Note : les soundscape gèrent aussi le format .mp3, dans ce cas la :
"mp3" "Cs_paranoia/slot_bullet.mp3" (clin d'oeuil clin d'oeil)

dans une entrée on peu mettre plusieurs configs (ex : 1 playlooping et 1 playrandom)

"playrandom" - "ici playrandom" permet de jouer des sons aléatoirement. :^^

Code: Tout sélectionner
"playrandom"
         {
               "time"         "0.1,1.5"
               "volume"       "0.5,1"
               "pitch"          "100"
               "rndwave"
                    {
                            "wave"   "Cs_paranoia/rats.wav"
                    }
               }


Dans cette boucle :

"time" - C'est le temps séparant deux sons joué aléatoirement, ici les sons seront joué toute les "entre 0.1 et 1.5 secondes." :O-O
"volume" - Le volume aléatoire des sons joués, il seront joués ici entre 0.1 et 1.5.
"rndwave" - Un boucle qui regroupe les différents sons à jouer aléatoirement.

note : pas encore testé avec des .mp3. :><:


Une dernière config, le "playsoundscape"

Code: Tout sélectionner
"para_under" (nom du soundscape)
{
         "dsp"   "1"
         "playlooping"
         {
                "volume"       "0.60"
                "pitch"        "100"
                "wave"         "cs_paranoia/JD02.wav"
         }
         "playsoundscape"
         {
                "name"      "para_floor1"
           "volume"        "0.5"
               }

    }


Cela permet de jouer un soundscape dans le soundscape :ninja pas si idiot que ça.


"name" - le nom de l'entrée appelé.
"volume" - permet de modifier "proportionnellement" le volume de tout les sons jouer a partir de ce soundscape, ici 0.5, en fait le volume des sons sera diminué de 50%

Ceci est très pratique quand oon a un extérieur et une ambiance intérieur où on voudrait quand meme bien entendre ce qui se passe dehors :) mais moins fort (normal y'a des murs)

_ _ _ _ _

5 - Les positions :

Vous me direz c'est bien beau mais on a que des ambiance globale la dessus. Mais on va y remédier en utilisant les positions. :P On vas pour cela travailler avec l'env_soundscape, le soundscape.txt et des info_target.

Mission : placer dans la zone de votre soundscape un son de générateur, il sera entendu que lorsqu'on ce trouve dans ce soundscape mais sera fixe au générateur (bien pour insonoriser les murs :-° ), voila la marche asuivre :

1 - Placer un info_target sur votre générateur, lui donner un nom (ex : para_gene)

2 - Dans les propriété de l'env_soundscape de la zone, regardez les positions, il est possible de placer 8 positions pour 1 env_soudnscape; Entrez le nom de votre info_target dans une des positions (on va prendre 0 pour commencer :P ), Voila ce que l'on doit obtenir (image prise sur le net, il y a ici trois positions :D^ )

(Image

3 - Dans votre soundscape.txt on va modifier l'entrée en question et lui rajouter quelques lignes.

En playlooping

Code: Tout sélectionner
"para_generator_room"
         "dsp"   "1"
         "playlooping"
         {
                "volume"       "0.75"
                "pitch"        "100"
                "wave"         "cs_paranoia/JD01.wav"
                "position"  "0"
                "attenuation" "0.7"

         }
}


"position" va définir quel son se jouera a cette position et donc concorde avec celle mise dans l'env_soundscape
"atténuation" va jouer sur la porter de ce son a partir de son origine, elle ne fonctionnera que si une position est utilisée, a l'inverse, "position" peux s'en passer.

En playrandom

Code: Tout sélectionner
"para_generator_room"
         "dsp"   "1"
         "playrandom"
         {
                "volume"       "0.75"
                "pitch"        "100"
                "position"  "random"
                "attenuation" "0.3,0.8"
                "rndwave"
            {
                "wave" "cs_paranoia/monster01.wav"
                "wave" "cs_paranoia/monster02.wav"
                "wave" "cs_paranoia/monster03.wav"
            }
         }
}


On peux choisir "playrandom" si on veux mettre une position aléatoire ( "position" "random" ) et si on veux une aténuation aléatoire ( "attenuation" "0.3,0.8" )

En playsoundscape

et oui c'est possible aussi :+_ on peut jouer un soundscape localement.

Code: Tout sélectionner
"para_generator_room"
         "dsp"   "1"
         "playsoundscape"
         {
                "volume"       "0.75"
                "name" "para_generator_room"

                "positionoverride" "1"
                "ambientpositionoverride" "1" //!\\ soit l'une, soit l'autre


            }
         }


"positionoverride" cette syntaxe fonctionne comme la position d'un "playlooping" ou "playrandom", c'est juste pour faire chier le nom :p, le soundscape va être entièrement joué sur cette position.
"ambientpositionoverride" La, la différence c'est que le soundscape va prendre en compte les positions de l'entrée appelée et les transmettre a cette position (dur dur a cette heure ci de trouver une autre formulation :P )

Voila vous pouvez bien configurer vos soundscapes maintenant 8-)

_ _ _ _ _

6 - Les autres env_soundscape

Il existe en fait deux variantes de l'env_soundscape, le proxi et le triggerable :

L'env_soundscape_proxi : Il fonctionne de la meme manière sauf qu'il ma copier un env_soundscape normal.

Dans ces propriétés on ne trouvera pas de position mais on trouvera la ligne "MainSoundscapeName" qui doit accueillir le nom d'un evn_soundscape déjà existent. A quoi ça sert? Ben tout simplement a simplifier le travail car si une zone possède 5 sorties avec pour chacune leurs env_soundscape avec chacun leurs 8 positions ben on s'en sort plus :hiver au lieu de ça, on aura un env_soundscape avec ses 8 positions et 4 proxis qui le copierons (optimisation, optimisation...)

L'env_soundscape_triggerable :
Lui aussi fonctionne de la même manière que l'env_soudnscape normal mais il va fonctionner avec un "trigger_soundscape".

En gros si vous ne supportez pas le systeme de radius, placez un brush entité "trigger_soundscape" pour vous simplifier la vie (ou pas :^^ ) et ici hors de question d'utiliser les inputs/outputs puisqu'il suffit de tapper le nom du soundscape dans le champ "soundscape" du trigger et hop! (merci valve).

_ _ _ _ _

Voila tuto terminé mais pas forcément fini, je suis sur d'etre passé a coté de quelque chose (des fautes aussi..) :devil N'hésitez pas a dire si vous voyez des ambiguïtés ou des choses qui ne vont pas du tout.

Neji

Image
Avatar de l’utilisateur
Neji
Co-Admin
Co-Admin
 
Messages: 4419
Inscription: 10 Nov 2006, 15:27
Localisation: Namur (Be) / Rennes (Fr)

Re: Les soundscapes de A à Z.

Messagede Kane le 18 Oct 2008, 03:11

merci Neji c'est super utile :gg
Avatar de l’utilisateur
Kane
Idéaliste
 
Messages: 415
Inscription: 17 Oct 2007, 13:40
Localisation: Namur (BE)

Re: Les soundscapes de A à Z.

Messagede Bendix8 le 18 Oct 2008, 09:26

Malheureusement, je n'ai rien appris mais j'aurai préféré apprendre cela ici au lieu de faire chier mon monde sur WLM. :D
Tu devrais rapidement faire une petite FAQ des erreurs que l'on peut obtenir dans la console pour savoir si le Soundscape fonctionneet ce genre de choses.
Good Work. ;)
Image
Avatar de l’utilisateur
Bendix8
VIP
VIP
 
Messages: 1712
Inscription: 18 Jan 2006, 16:38
Localisation: Saint-Malo

Re: Les soundscapes de A à Z.

Messagede Neji le 18 Oct 2008, 13:28

C'est que je n'ai jamais eu d'erreur :D mais je vais tester tout ça et rajouter des choses si nécessaire. merci :)
Avatar de l’utilisateur
Neji
Co-Admin
Co-Admin
 
Messages: 4419
Inscription: 10 Nov 2006, 15:27
Localisation: Namur (Be) / Rennes (Fr)

Re: Les soundscapes de A à Z.

Messagede Neji le 18 Oct 2008, 17:21

NykO a d'ailleurs fait un tuto la dessus avec goldwave, j'ai une autre technique bidouille que je vais expliquer aussi. :^^

Je rajoute sur le dsp "oublié" :D^
Avatar de l’utilisateur
Neji
Co-Admin
Co-Admin
 
Messages: 4419
Inscription: 10 Nov 2006, 15:27
Localisation: Namur (Be) / Rennes (Fr)

Re: Les soundscapes de A à Z.

Messagede moroes le 19 Oct 2008, 19:24

Bien joué Neji ;)
Level Designer @ Ubisoft Paris
My LinkedIn ProfileMy portfolioI hate mountains - L4D
Avatar de l’utilisateur
moroes
VIP
VIP
 
Messages: 4754
Inscription: 26 Aoû 2003, 14:58
Localisation: Paris

Re: Les soundscapes de A à Z.

Messagede nicolas le 19 Oct 2008, 19:55

neji il doit être devenu dj :), bin oué, il nous sort que des tutos sur les sons en ce moment ^^
Avatar de l’utilisateur
nicolas
Créateur
 
Messages: 782
Inscription: 20 Nov 2007, 16:08
Localisation: Saint-Donat (Drôme)

Re: Les soundscapes de A à Z.

Messagede Neji le 05 Fév 2009, 03:32

Correction d'une erreur de syntaxe : il s'agit de playsoundscape pour gérer les positions de soundscape alors qu'il était inscrit playrandom :D^
Avatar de l’utilisateur
Neji
Co-Admin
Co-Admin
 
Messages: 4419
Inscription: 10 Nov 2006, 15:27
Localisation: Namur (Be) / Rennes (Fr)

Re: Les soundscapes de A à Z.

Messagede bioca le 06 Avr 2009, 09:56

:><:
Dernière édition par bioca le 06 Avr 2009, 09:59, édité 1 fois.
bioca
Clandestin
 
Messages: 5
Inscription: 06 Avr 2009, 09:25

Re: Les soundscapes de A à Z.

Messagede bioca le 06 Avr 2009, 09:58

Salut à tous,

Bon désolé de faire le boulet mais j'ai pas tout compris à vrai dire.

J'aimerai mettre un de mes sons sur ma Map.
il se trouve ici C:\Program Files\Steam\SteamApps\moncompte\counter-strike source\cstrike\sound\aaaaaaa
s'apel 123-01.wav


J'ai fais les deux possibilitées qui me donnent ça:

première avec soudscapes

il faut créer un dossier SCRIPTS dans C:\Program Files\Steam\SteamApps\nomducompte\counter-strike source\cstrike
Et ensuite mettre un fichier .txt appelé SOUNDSCAPES ou l'on met selon ses désires les codes des scripts que tu as mis plus haut. :D

Aprés je lis le tuto, et je vois soundscapes manifeste...oua, purée, il sort d'ou lui. lol :D jme suis rendu compte que c'était un .TXT qui était là C:\Program Files\Steam\SteamApps\counter-strikesourceshared.gcf (et dans ce ZIP, counterstrike/scripts).

bon ok et là tu dis ça: Qu'est ce que ce manifest? Et bien c'est la liste des "soundscape.txt" que le jeu vas prendre en compte une fois lancé,
si vous décidez de créer votre propre "soundscape.txt", vous devez le rajouter dans la liste.


Hum :) voilà, je bloque complètement... :(



Deplus j'ai mis le env_soundspaces et je m'aperçois qu'il n'y a pas de choix dans le menu soudscapes...NOTHING. (pas de listes déroulantes).
Image

la dessus jme suis dis, allé ce n'est pas grave, allons voir du côté des ambient généric. et la :( des choses bizarres ^^.
si je mets play everywere, j'entends mon son, et si je décoches, plus iren :D lol, à devenir fou ^^

J'espère que vous avez compris :><:
bioca
Clandestin
 
Messages: 5
Inscription: 06 Avr 2009, 09:25

Re: Les soundscapes de A à Z.

Messagede Neji le 06 Avr 2009, 13:42

Si tu veux créer un soundscape.txt pour une seule map, le manifest ne sert a pas grand chose puisqu'il permet de dire au jeu quel soundscape.txt il va prendre en compte en jeu (utile si tu utilise plusieurs soundscape.txt dans une map ou un soundcape.txt dans plusieurs map)

Donc si ta map s'appelle de_dust2000, ton soundscape.txt s'appellera : "soundscape_cs_dust2000.txt" et tu le mes dans ton dossier script :)

Pour ce qu'il faut mettre dans l'onglet soundscape de l'entité, ce n'est pas le nom du script (soundscape_de_dust200) mais le nom d'une des boucles qui le compose :

///Une boucle :

"para_generator_room" <== nom de la boucle
{
"dsp" "1"
"playlooping"
{
"volume" "0.75"
"pitch" "100"
"wave" "cs_paranoia/JD01.wav"
}
}

///Une autre boucle :

"para_under" <== nom de la boucle
{
"dsp" "1"
"playlooping"
{
"volume" "0.60"
"pitch" "100"
"wave" "cs_paranoia/JD02.wav"
}
}




Pour l'ambient, c'est un son loop ou pas que tu utilise? fait attention au flag play everywhere.
Avatar de l’utilisateur
Neji
Co-Admin
Co-Admin
 
Messages: 4419
Inscription: 10 Nov 2006, 15:27
Localisation: Namur (Be) / Rennes (Fr)

Re: Les soundscapes de A à Z.

Messagede bioca le 06 Avr 2009, 22:04

merci de ta réponse neji.

Alors si j'ai compris je mettrais ....

soundscapes_katinmap.txt et ddans il y aura

"123-01"
{
"dsp" "1"
"playlooping"
{
"volume" "0.75"
"pitch" "100"
"wave" "C:\Program Files\Steam\SteamApps\moncompte\counter-strike source\cstrike\sound\aaaaaaa\123-01.wav"
}
}


et au fait oué, c'est une boucle.
bioca
Clandestin
 
Messages: 5
Inscription: 06 Avr 2009, 09:25

Re: Les soundscapes de A à Z.

Messagede bioca le 07 Avr 2009, 10:59

Ah attends, jviens de réussir avec l'ambient_généric, qui est plus facile à mon gout. Reste à savoir si pakrat le compilera bien ..mouhaha , mais ca c'est une autre histoire :D

Sinon j'allais oublier, bravo pour le tuto, GG :^^
bioca
Clandestin
 
Messages: 5
Inscription: 06 Avr 2009, 09:25

Re: Les soundscapes de A à Z.

Messagede Neji le 09 Avr 2009, 21:30

Okay merci! Donc sinon pour le soundscpae c'ets cela sauf pour le chemin du son, il doit partir du dossier sound et non de c:


"123-01"
{
"dsp" "1"
"playlooping"
{
"volume" "0.75"
"pitch" "100"
"wave" "aaaaaaa\123-01.wav"
}
}


et dans l'env tu ecris, 123-01
Avatar de l’utilisateur
Neji
Co-Admin
Co-Admin
 
Messages: 4419
Inscription: 10 Nov 2006, 15:27
Localisation: Namur (Be) / Rennes (Fr)

Re: Les soundscapes de A à Z.

Messagede bioca le 12 Avr 2009, 10:28

dak, jte test ça. :^^
bioca
Clandestin
 
Messages: 5
Inscription: 06 Avr 2009, 09:25

Suivante

Retourner vers Cours & astuces

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité