Flux audio

Introduction

Comme vous l'avez peut-être déjà lu dans Bus audio, le son est envoyé à chaque bus via un nœud AudioStreamPlayer. Il existe différents types de AudioStreamPlayers. Chacun charge un AudioStream et le lit.

Flux audio

An audio stream is an abstract object that emits sound. The sound can come from many places, but is most commonly loaded from the filesystem. Audio files can be loaded as AudioStreams and placed inside an AudioStreamPlayer. You can find information on supported formats and differences in Importer des échantillons audio.

There are other types of AudioStreams, such as AudioStreamRandomPitch. This one makes a random adjustment to the sound's pitch every time it's played back. This can be helpful for adding variation to sounds that are played back often.

AudioStreamPlayer

C'est le lecteur de flux standard non positionnel. Il peut jouer sur n'importe quel bus. Dans les configurations de son 5.1, il peut envoyer de l'audio au mixage stéréo ou aux enceintes avant.

AudioStreamPlayer2D

C'est une variante de l'AudioStreamPlayer, il émet des son pour un environnement 2d. Quand il est proche du bord gauche de l'écran, le "Panning" va vers la gauche. Quand il est proche du droit, le "Panning" le suit.

Note

Les Area2D peuvent être utilisés pour dévier le son depuis n'importe lequel des AudioStreamPlayer2D qu'elles contiennent jusqu'à certains bus spécifiques. Cela rend possible de créer des bu avec différentes réverbération ou qualité sonore pour gérer les actions qui se produisent à certains endroits spécifiques de votre monde de jeu.

../../_images/audio_stream_2d_area.png

AudioStreamPlayer3D

Il s'agit d'une variante d'AudioStreamPlayer, mais qui émet du son dans un environnement positionnel 3D. Selon l'emplacement du joueur par rapport à l'écran, il peut positionner le son en stéréo, 5.1 ou 7.1 selon la configuration audio choisie.

Similairement à un AudioStreamPlayer2D, une Area peut dévier le son vers un bus audio.

../../_images/audio_stream_3d_area.png

Contrairement à sa version 2D, l'AudioStreamPlayer a quelques options plus avancée :

Bus de réverbération

Godot permet aux flux audios 3D qui entrent dans la zone d’un nœud Area donné, d'envoyer l’audio à différents bus, en appliquant l’effet (wet) ou pas (dry). Ceci est utile quand vous avez plusieurs configurations de réverbérations pour différents type de pièces. L'effet est obtenu en activant ce type de réverbération dans la section Reverb bus des propriétés de l'Area :

../../_images/audio_stream_reverb_bus.png

Au même moment, une disposition de bus spéciale est crée où chaque Area reçoit l'information des réverbérations depuis chacune des Area. Un effet de réverbération a besoin d'être crée et configuré dans chaque bus de réverbération pour finir la mise en place de l'effet désiré :

../../_images/audio_stream_reverb_bus2.png

La section Reverb bus de l'Area a aussi un paramètre nommé Uniformity. Certains types de pièces réfléchissent plus les sons que d'autres (comme un entrepôts par exemple), donc la réverbération peut être entendu quasi-uniformément à travers la pièce, même si la source de son est très éloignée. Jouer avec ce paramètre peut simuler cet effet.

Effet Doppler

Lorsque la vitesse relative entre une source et un récepteur de son change, ceci est perçu comme une augmentation ou diminution de la fréquence du son émis. Godot peut garder la traces de ces changements de vitesse dans les nœuds AudioStreamPlayer3D et Camera. Chacun de ces nœuds ont cette propriétés qui doit être activé manuellement :

../../_images/audio_stream_doppler.png

Activez-le en le paramétrant en fonction de la façon dont les objets seront déplacés : utilisez Idle pour les objets déplacés avec _process, ou Physics pour les objets déplacés avec _physics_process. Le suivi se fera automatiquement.