Mise à jour juillet 2017
Si vous utilisez Unity ou un autre gros moteur doté d'un système de gestion des ressources, ne demandez pas à Ogg Vorbis à vos concepteurs sonores et à vos compositeurs. Obtenez des WAV ou des AIFF.
Unity et Unreal sont structurés pour fonctionner avec des rebonds de haute qualité, puis appliquent des paramètres de compression par plate-forme. Avoir la ressource source au format Ogg ou Mp3 signifie que vous effectuez une double compression audio et que vous introduisez des artefacts supplémentaires sans aucun avantage.
Si vous voyez que partir d'ogg ou de mp3 réduit la taille de votre build, ce n'est pas une bonne raison. Cela signifie probablement que vous effectuez une pré-exportation avec des paramètres de compression différents de ceux que vous avez appliqués dans Unity / Unreal. Y a-t-il des exceptions? Oui, mais vous ne rechercheriez pas cette réponse si vous saviez à quel moment ces exceptions étaient applicables.
Si vous pré-compressez afin de réduire la taille de votre référentiel, utilisez LFS, utilisez un système de contrôle de version centralisé ou souriez et supportez-le.
TL; DR
- Oui , MP3 320k sonne bien. MAIS . . .
- N'utilisez pas de MP3, utilisez Ogg Vorbis à 44,1 kHz, qualité 6 pour la musique. Pour les effets sonores, utilisez simplement 16 / 44.1 WAV, sauf si vous sentez que vous avez vraiment besoin de couper le gras.
- Si vous devez utiliser des fichiers MP3, tels que Flash, essayez d’utiliser 192k-256k (VBR 1 ou 2), mais vous devrez peut-être vous contenter de 128k. Ne descendez pas plus bas que 128k (VBR 6).
La vraie réponse
Les gens vont dire que MP3 320kbps est sans perte, alors que les experts diront que tout MP3 est de la merde, mais à la fin, personne n'entendra le résultat différent ... à moins d'être dans l'industrie de la musique depuis plus de 20 ans.
L’audio encodé au format MP3, quelle que soit la qualité de l’encodage, entraîne toujours des pertes. C'est un codec perceptuel, et fonctionne donc en codant les propriétés du son dans le temps en ~ 1152 morceaux sous forme compressée, à partir desquels des échantillons non compressés peuvent être extrapolés par le décodeur. Son objectif n'est pas de recréer avec précision l'audio d'origine, mais de fournir celui qui est "assez bon".
Cependant, comme vous l'avez dit, 320 kbps semble très bien. Il est généralement considéré comme aussi bon ou meilleur que la qualité d'un CD. Cependant, il n’est toujours pas possible de recréer parfaitement les échantillons originaux d’un fichier WAV non compressé codé au format MP3 à 320 kbps.
En général, Ogg Vorbis est un meilleur format que le MP3. Il est généralement admis que vous obtiendrez une meilleure qualité pour un fichier de même taille. Contrairement au format MP3, vous pouvez le lire en boucle de manière transparente. Les morceaux de 1152 échantillons que MP3 utilise pour coder l'audio laisseront souvent le silence au début et à la fin du son. Pas un si gros problème pour les effets sonores de base, mais un problème énorme pour les boucles de musique.
L'IDE Flash contourne cela lors de l'exportation .swf, il supprime le silence manuellement. Les personnes qui utilisent le streaming audio (ou le pur mxmlc) réalisent une boucle via SampleDataEvent et déposent manuellement des échantillons ou prétraitent le fichier MP3 (voir le blog de Andre Michelle et l' utilitaire CompuPhase mp3loop ).
En outre, l’utilisation d’un décodeur MP3 nécessite techniquement l’acquisition d’une licence de brevet (le brevet MP3 étant la propriété de Technicolor, Fraunhofer, etc.). De toute évidence, de nombreuses personnes ont publié des jeux gratuits utilisant le format MP3, mais il est préférable de ne pas jouer avec.
Quel serait le meilleur format pour le jeu vidéo, et quelles propriétés devraient être suffisantes (Hertz, débit, etc.), en supposant que le MP3 à 320 kbps est "lourd"?
Peut-être un exemple ou deux, comment certains titres AAA fonctionnent avec leurs sons.
Cela dépend: quelles sont vos plateformes cibles, quelles autres technologies utilisez-vous, comment distribuez-vous votre jeu et quel style voulez-vous? Je vais diviser cela en quelques catégories basées sur la plateforme, la technologie et l'esthétique.
Titres PC et console haut de gamme
Les jeux AAA recherchent une qualité de production haut de gamme. Ils enregistrent et produisent ainsi des ressources 24 bits / 48 kHz non compressées (également la norme en matière de postproduction de films). Les titres avec des ambitions légèrement inférieures à celles de Battlefield 3 pourraient être enregistrés et produits en 16 / 44.1, qui est la norme officielle pour l’audio de qualité CD.
Bien sûr, vous ne pouvez pas envoyer un groupe de 24/48 WAV non compressés avec un jeu, ce serait trop gros. Donc, en fin de compte, il doit y avoir une sorte de compression. En règle générale, s’il s’agit d’un effet sonore rapide comme un son de pistolet (comme le pistolet Portal 2 dans la réponse de Sprunth), il n’est pas inutile de le laisser comme un WAV, ce qui pourrait éventuellement réduire la fréquence d’échantillonnage en fonction de la fréquence (voir le paragraphe 1). Théorème de Nyquist , les sons composés d’un contenu basse fréquence peuvent être codés à des taux d’échantillonnage plus bas). Pour la musique, il n'y a vraiment pas moyen de contourner la compression. Ogg Vorbis en qualité CD est la solution (44,1 kHz, qualité 5-6 ou supérieure).
De plus, les jeux AAA utilisent souvent un outil intermédiaire pour la compression, soit un outil interne, soit un middleware audio tel que FMOD ou Wwise. La façon dont cela fonctionne dans FMOD et Wwise est que vous importez la plupart des choses sous forme de WAV 16 / 44.1 ou 24/48 (ou, si le son est tout contenu basse fréquence, il peut être importé avec un taux d'échantillonnage inférieur), puis donnez FMOD un facteur de compression pour chaque actif, en choisissant un encodage tel que ADPCM, MP3 ou Ogg Vorbis.
En fait, FMOD a récemment abandonné la prise en charge de l’encodage d’actifs dans les banques de sons que vous exportez depuis FMOD Designer (fichiers .fsb) au format Ogg Vorbis au profit d’un nouveau codec de Xiph appelé CELT . Ogg Vorbis peut être un peu dur pour le processeur, CELT est donc en cours de développement pour fournir une alternative. Vous pouvez charger les fichiers directement, mais ne plus les utiliser pour l’encodage à partir de l’application Designer.
À propos, voici un lien intéressant sur l'audio de Battlefield Bad Company qui entre également un peu en surround. DICE est à la pointe de la technologie audio dans les jeux. C'est donc une bonne série à étudier.
En outre, l’enjeu est lié au problème mono vs stéréo. Juste au cas où vous ne le sauriez pas, tous vos effets sonores devraient être mono, à moins que certains d'entre eux utilisent des effets de panoramique. Stereo est difficile à spatialiser dans un environnement 3D et vous pouvez effectuer un panoramique des sons dans le code pour les placer dans un environnement 2D.
Titres Légèrement Moins Hauts, Jeux indépendants
Évidemment, cela peut varier considérablement. Un rapide coup d'œil montre que Frozen Synapse utilise entièrement des fichiers Ogg Vorbis, pour les effets sonores et la musique. Dungeons of Dredmor, quant à lui, suit le schéma d’Ogg Vorbis pour la musique et de 16/44,1 WAV pour les effets sonores.
L’approche Donjons de Dredmor est préférable. Même stockés sous forme de fichiers WAV non compressés, les effets sonores sont généralement suffisamment courts pour ne pas occuper beaucoup d’espace et vous évitez de perdre beaucoup de cycles de la CPU. Vous voulez pouvoir charger rapidement un effet sonore dans la mémoire et le jouer. Si vous encodez vos effets sonores dans Ogg Vorbis, il se peut qu’un peu de retard se produise avant que le joueur n’entende votre effet sonore pour la première fois.
Jeux par navigateur, HTML5 et Flash (avec une touche de mobile)
Le son HTML5 est un gâchis. Vous devez fournir les versions ogg et MP3 de vos sons. Encodez dans la plus haute qualité possible sans que votre utilisateur ne fasse rage avec un temps de chargement long. Pour le MP3, ne descendez pas en dessous de 128k, c’est déjà assez mauvais en 128.
Flash accepte uniquement les formats MP3 16 bits / 44,1 kHz, à moins que vous ne deveniez fou et que vous n'écriviez votre propre décodeur que pour un autre format (comme le décodeur expérimental Ogg Vorbis des laboratoires Alchemy). Dans le passé, Flash avait des problèmes avec les MP3 à débit binaire variable, mais je n'ai jamais eu de problème. Le paramètre de qualité que vous choisissez pour votre jeu Flash dépend de la taille de votre fichier .swf final.
Mise à jour: Comme Tetrad l’a mentionné , les jeux mobiles doivent être considérés avec mémoire et stockage. La manière dont vous encodez votre audio pour les jeux sur mobile ressemble beaucoup à Flash. Vous souhaitez conserver une qualité optimale, mais vous devez au final respecter un budget de mémoire et de stockage. Tracker music est particulièrement utile si votre budget de stockage est limité. Dites à votre compositeur de limiter sa palette d'échantillons et vous pouvez adapter une tonne de musique supplémentaire dans le jeu.
Effets sonores et musique de type "8 bits" ou de type Chiptune
La plupart des jeux ne font que faire ce que Frozen Synapse et Dungeons of Dredmor font. Cependant, vous pouvez probablement vous en tirer en réduisant le taux d'échantillonnage et la profondeur de bits. Cela pourrait non seulement correspondre à l'esthétique que vous recherchez, mais également économiser de l'espace.
En outre, la musique de tracker stocke généralement des échantillons à des taux d'échantillonnage faibles, laissez-les simplement arriver.