Partager via


Audio pour les jeux

Découvrez comment développer et incorporer de la musique et des sons dans votre jeu DirectX, et comment traiter les signaux audio pour créer des sons dynamiques et positionnels.

Pour la programmation audio, nous vous recommandons d’utiliser la bibliothèque XAudio2 dans DirectX ou les API windows Runtime Audio Graphs . Nous utilisons XAudio2 ici. XAudio2 est une bibliothèque audio de bas niveau qui fournit un traitement et un mélange de signaux pour les jeux, et prend en charge un large éventail de formats.

Vous pouvez également implémenter des sons et une lecture musicale simples avec Microsoft Media Foundation. Microsoft Media Foundation est conçu pour la lecture de fichiers multimédias et de flux, à la fois audio et vidéo, mais peut également être utilisé dans les jeux, et est particulièrement utile pour les scènes cinématiques ou les composants non interactifs de votre jeu.

Concepts en un clin d’œil

Voici quelques concepts de programmation audio que nous utilisons dans cette section.

  • Les signaux sont l’unité de base de la programmation sonore, analogue aux pixels dans les graphiques. Les processeurs de signal numérique (DSP) qui les traitent sont comme les nuanceurs de pixels de l’audio de jeu. Ils peuvent transformer des signaux, les combiner ou les filtrer. En programmant les DSP, vous pouvez modifier les effets sonores et la musique de votre jeu avec autant de complexité que nécessaire.
  • Les voix sont les composites submixés de deux signaux ou plus. Il existe 3 types d’objets vocaux XAudio2 : source, sous-mélange et voix de mastering. Les voix sources fonctionnent sur les données audio fournies par le client. Les voix sources et de sous-mélange envoient leur sortie à une ou plusieurs voix de sous-mélange ou de mastering. Les voix de sous-mixage et de mastering mélangent l’audio de toutes les voix qui les alimentent, et fonctionnent sur le résultat. La maîtrise des voix écrit des données audio sur un appareil audio.
  • Le mélange est le processus de combinaison de plusieurs voix discrètes, telles que les effets sonores et l’audio d’arrière-plan qui sont lus dans une scène, dans un seul flux. Le sous-mélange est le processus de combinaison de plusieurs signaux discrets, tels que les sons de composant d’un bruit moteur et la création d’une voix.
  • Formats audio. Les effets sonores et musicaux peuvent être stockés dans divers formats numériques pour votre jeu. Il existe des formats non compressés, tels que WAV, et des formats compressés tels que MP3 et OGG. Plus un échantillon est compressé , généralement désigné par son débit de bits, où le taux de bits est inférieur, plus la compression est perdue , plus la fidélité est pire. La fidélité peut varier selon les schémas de compression et les taux de bits, donc faites des expériences pour trouver ce qui fonctionne le mieux pour votre jeu.
  • Taux d’échantillonnage et qualité. Les sons peuvent être échantillonné à différents taux, et les sons échantillonné à un taux inférieur ont une fidélité beaucoup plus faible. Le taux d’échantillonnage pour la qualité cd est de 44,1 Khz (44100 Hz). Si vous n’avez pas besoin d’une haute fidélité pour un son, vous pouvez choisir un taux d’échantillonnage inférieur. Des tarifs plus élevés peuvent être appropriés pour les applications audio professionnelles, mais vous n’en avez probablement pas besoin, sauf si votre jeu exige un son de fidélité professionnelle.
  • Émetteurs sonores (ou sources). Dans XAudio2, les émetteurs sonores sont des emplacements qui émettent un son, qu’il s’agit d’un simple blip d’un bruit d’arrière-plan ou d’une piste rock snarling jouée par un jukebox in-game. Vous spécifiez des émetteurs par coordonnées mondiales.
  • Écouteurs sonores. Un écouteur sonore est souvent le joueur, ou peut-être une entité IA dans un jeu plus avancé, qui traite les sons reçus d’un écouteur. Vous pouvez submixer ce son dans le flux audio pour la lecture au lecteur, ou vous pouvez l’utiliser pour effectuer une action spécifique dans le jeu, comme réveiller un garde IA marqué comme écouteur.

Considérations sur la conception

L’audio est une partie extrêmement importante de la conception et du développement de jeux. De nombreux joueurs peuvent rappeler un jeu médiocre élevé à un statut légendaire juste en raison d’une bande sonore mémorable, ou d’un excellent travail vocal et mixage sonore, ou production audio exceptionnelle globale. La musique et le son définissent la personnalité d’un jeu, et établissent le motif principal qui définit le jeu et le rend hors d’autres jeux similaires. L’effort que vous consacrez à la conception et au développement du profil audio de votre jeu vaut bien la peine.

L’audio 3D positionnel peut ajouter un niveau d’immersion au-delà de celui fourni par des graphiques 3D. Si vous développez un jeu complexe qui simule un monde, ou qui exige un style cinématique, envisagez d’utiliser des techniques audio positionnelles 3D pour vraiment dessiner le joueur dans.

Feuille de route de développement audio DirectX

Ressources conceptuelles XAudio2

XAudio2 est la bibliothèque de mixage audio pour DirectX et est principalement destinée au développement de moteurs audio hautes performances pour les jeux. Pour les développeurs de jeux qui souhaitent ajouter des effets sonores et de la musique d’arrière-plan à leurs jeux modernes, XAudio2 offre un graphique audio et un moteur de mixage avec une faible latence et la prise en charge des mémoires tampons dynamiques, de la lecture synchrone précise de l’échantillon et de la conversion de débit source implicite.

Sujet Description

Présentation de XAudio2

La rubrique fournit la liste des fonctionnalités de programmation audio prises en charge par XAudio2.

Prise en main de XAudio2

Cette rubrique fournit des informations sur les concepts clés XAudio2, les versions XAudio2 et le format audio RIFF.

Concepts courants de programmation audio

Cette rubrique fournit une vue d’ensemble des concepts audio courants avec lesquels un développeur audio doit être familiarisé.

Voix XAudio2

Cette rubrique contient une vue d’ensemble des voix XAudio2, qui sont utilisées pour submixer, utiliser et maîtriser les données audio.

Rappels XAudio2

Cette rubrique traite des rappels XAudio 2, qui sont utilisés pour empêcher les interruptions dans la lecture audio.

Graphiques audio XAudio2

Cette rubrique traite des graphiques de traitement audio XAudio2, qui prennent un ensemble de flux audio du client comme entrée, les traitent et fournissent le résultat final à un appareil audio.

Effets audio XAudio2

La rubrique traite des effets audio XAudio2, qui prennent des données audio entrantes et effectuent une opération sur les données (par exemple, un effet de réverbération) avant de le transmettre.

Streaming de données audio avec XAudio2

Cette rubrique traite du streaming audio avec XAudio2.

X3DAudio

Cette rubrique couvre X3DAudio, une API utilisée conjointement avec XAudio2 pour créer l’illusion d’un son provenant d’un point dans l’espace 3D.

Référence de programmation XAudio2

Cette section contient la référence complète pour les API XAudio2.

Ressources « how to » XAudio2

Sujet Description

Guide pratique pour initialiser XAudio2

Découvrez comment initialiser XAudio2 pour la lecture audio en créant une instance du moteur XAudio2 et en créant une voix de mastering.

Guide pratique pour charger des fichiers de données audio dans XAudio2

Découvrez comment remplir les structures requises pour lire des données audio dans XAudio2.

Guide pratique pour lire un son avec XAudio2

Découvrez comment lire des données audio précédemment chargées dans XAudio2.

Guide pratique pour utiliser des voix de sous-mixage

Découvrez comment définir des groupes de voix pour envoyer leur sortie à la même voix submixée.

Guide pratique pour utiliser des rappels vocaux sources

Découvrez comment utiliser des rappels vocaux sources XAudio2.

Guide pratique pour utiliser les rappels du moteur

Découvrez comment utiliser des rappels de moteur XAudio2.

Guide pratique pour créer un graphique de traitement audio de base

Découvrez comment créer un graphique de traitement audio, construit à partir d’une voix de mastering unique et d’une voix source unique.

Guide pratique pour ajouter ou supprimer dynamiquement des voix d’un graphe audio

Découvrez comment ajouter ou supprimer des voix de sous-mélange d’un graphique qui a été créé en suivant les étapes décrites dans How to : Build a Basic Audio Processing Graph.

Guide pratique pour créer une chaîne d’effets

Découvrez comment appliquer une chaîne d’effets à une voix pour permettre le traitement personnalisé des données audio pour cette voix.

Guide pratique pour créer un XAPO

Découvrez comment implémenter IXAPO pour créer un objet de traitement audio XAudio2 (XAPO).

Guide pratique pour ajouter la prise en charge des paramètres au moment de l’exécution à un objet XAPO

Découvrez comment ajouter la prise en charge des paramètres d’exécution à un objet XAPO en implémentant l’interface IXAPOParameters .

Guide pratique pour utiliser un XAPO dans XAudio2

Découvrez comment utiliser un effet implémenté comme XAPO dans une chaîne d’effets XAudio2.

Guide pratique pour utiliser XAPOFX dans XAudio2

Découvrez comment utiliser l’un des effets inclus dans XAPOFX dans une chaîne d’effets XAudio2.

Guide pratique pour diffuser un son à partir d’un disque

Découvrez comment diffuser en continu des données audio dans XAudio2 en créant un thread distinct pour lire une mémoire tampon audio et utiliser des rappels pour contrôler ce thread.

Guide pratique pour intégrer X3DAudio à XAudio2

Découvrez comment utiliser X3DAudio pour fournir les valeurs de volume et de hauteur pour les voix XAudio2 ainsi que les paramètres de l’effet de réverbération intégré XAudio2.

Guide pratique pour regrouper des méthodes audio en tant que jeu d’opérations

Découvrez comment utiliser des jeux d’opérations XAudio2 pour effectuer un groupe d’appels de méthode en même temps.

Débogage de glitches audio dans XAudio2

Découvrez comment définir le niveau de journalisation de débogage pour XAudio2.

Ressources Media Foundation

Media Foundation (MF) est une plateforme multimédia pour la diffusion en continu de l’audio et de la lecture vidéo. Vous pouvez utiliser les API Media Foundation pour diffuser en continu des données audio et vidéo encodées et compressées avec un large éventail d’algorithmes. Il n’est pas conçu pour les scénarios de jeu en temps réel ; Au lieu de cela, il fournit des outils puissants et une prise en charge étendue des codecs pour une capture et une présentation plus linéaires des composants audio et vidéo.

Sujet Description

À propos de Media Foundation

Cette section contient des informations générales sur les API Media Foundation et les outils disponibles pour les prendre en charge.

Media Foundation : Concepts essentiels

Cette rubrique présente certains concepts que vous devrez comprendre avant d’écrire une application Media Foundation.

Media Foundation Architecture

Cette section décrit la conception générale de Microsoft Media Foundation, ainsi que les primitives multimédias et le pipeline de traitement qu’il utilise.

Capture audio/vidéo

Cette rubrique explique comment utiliser Microsoft Media Foundation pour effectuer une capture audio et vidéo.

Lecture audio/vidéo

Cette rubrique explique comment implémenter la lecture audio/vidéo dans votre application.

Formats multimédias pris en charge dans Media Foundation

Cette rubrique répertorie les formats multimédias pris en charge par Microsoft Media Foundation en mode natif. (Les tiers peuvent prendre en charge des formats supplémentaires en écrivant des plug-ins personnalisés.)

Encodage et création de fichiers

Cette rubrique explique comment utiliser Microsoft Media Foundation pour effectuer l’encodage audio et vidéo et créer des fichiers multimédias.

Windows Media Codecs

Cette rubrique explique comment utiliser les fonctionnalités des codecs Audio et Vidéo Windows Media pour produire et consommer des flux de données compressés.

Référence de programmation de Media Foundation

Cette section contient des informations de référence pour les API Media Foundation.

Exemples de SDK Media Foundation

Cette section répertorie les exemples d’applications qui montrent comment utiliser Media Foundation.

Types de supports XAML Windows Runtime

Si vous utilisez l’interopérabilité DirectX-XAML, vous pouvez incorporer les API multimédias XAML Windows Runtime dans vos applications UWP à l’aide de DirectX avec C++ pour des scénarios de jeu plus simples.

Sujet Description

Windows.UI.Xaml.Controls.MediaElement

Élément XAML qui représente un objet qui contient l’audio, la vidéo ou les deux.

Audio, vidéo et appareil photo

Découvrez comment incorporer du contenu audio et vidéo de base dans votre application plateforme Windows universelle (UWP).

MediaElement

Découvrez comment lire un fichier multimédia stocké localement dans votre application UWP.

MediaElement

Découvrez comment diffuser en continu un fichier multimédia avec une faible latence dans votre application UWP.

Diffusion multimédia

Découvrez comment utiliser le contrat Play To pour diffuser en continu des médias à partir de votre application UWP vers un autre appareil.

Référence