Sujet original sur le forum officiel (en anglais)
http://forums.urbanterror.net/index.php ... 878.0.html
Malgrés mes efforts, il est plus souvent à jour que ce forum
iKALiZER et iKALiZER Manager
Génèse
iKALiZER est un moteur sonore distribué sous forme de librairie.
Comme tous les moteurs et toutes les librairies, il ne fait qu’exécuter des ordres comme le ferait OpenGL ou Microsoft DirectX.
Le projet originel portait le nom de code SAM. Il avait pour objectif de fournir un environnement sonore aussi réaliste que possible, mais en limitant le paramétrage au strict minimum.
Pour permettre un développement rapide et efficace, la décision fut prise d’utiliser ioQuake et ioUrbanTerror comme support.
Cela permit, grâce aux nombreux utilisateurs, d’obtenir une version stable plus rapidement et de répondre plus efficacement à leurs attentes.
Le nom définitif iKALiZER fut choisi en remplacement de son nom code.
Avec les multiples demandes des utilisateurs du logiciel ioUrbanTerror, iKALiZER s’enrichit de nouvelles fonctionnalités et devint toujours plus performant.
Parallèlement à iKALiZER, un projet de VoIP fut démarré. Les besoins n’étant pas exactement les mêmes, de nouvelles fonctions furent implémentées.
Licence
iKALiZER n’est pas une librairie ouverte, son code source est fermé et ne peut être divulgué. Pour ne pas être en contradiction avec la licence GNU/GPL, iKALiZER est développé en 2 parties : Le moteur sonore sous forme de librairie fermée (iKALiZER) et le gestionnaire (iKALiZER Manager) sous licence GNU/GPL.
Description
Le principe d’iKALiZER se résume ainsi : Le moteur du jeu analyse les différents paramètres des sources sonores, modélise les modifications selon l’environnement (mur, eau, plafond, sol…) puis envoie une liste de commandes au moteur de rendu sonore iKALiZER. Le rendu est très réaliste, mais à condition que le moteur du jeu effectue correctement la tâche de modélisation.
Hélas, ce n’est pas le cas du moteur id Tech 3 (Quake3). En effet, à l’époque du développement de ce moteur (jusqu’en 1999), l’accent a été mis sur les caractéristiques visuelles et physiques du jeu. Mais quasiment rien n’a été fait pour la partie sonore. En fait, depuis le premier Quake voire même le premier Doom, les caractéristiques sonores n’ont que très peu évoluées.
Caractéristiques
Comparativement au moteur de rendu sonore incorporé au sein du jeu, iKALiZER apporte plusieurs éléments décisifs :
- 6 modes sonores sur 2 canaux : Stéréo, Casque(1), Casque avec Holographie(5), 360 Virtual Sound(1), Dolby Pro Logic I(2) et Dolby Pro Logic II(3)
- 3 modes sonores multi-canaux : 4.0, 5.0 et 5.1(4)
- Traitement ultra rapide, interpolation et mixage de qualité sur 32 bits
- Latence de mixage réduite au minimum (quasiment imperceptible)
- Limiteur sonore (avec un gain allant jusqu’à +20dB)
- Protection contre les tampons vides (buffer underrun)
- Effet de distance dynamique et effet sous marin
- Cinema AGC (désactivé avec iKALiZER 0.21.5, mais en cours de re-développement)
- Supporte Microsoft Windows 2000 et ultérieur (version Linux en cours de développement)
(1) Ces 2 modes utilisent un filtre hybride HRTF : Délai de Bauer / ITD / IIT-ILD / Spatialisation enveloppante.
(2) Fourni les voix Avant-Gauche, Avant-Centre, Avant-Droite et Arrière sur 2 canaux via l’encodage matriciel DPL I et la transformée de Hilbert.
(3) Fourni les voix Avant-Gauche, Avant-Centre, Avant-Droite, Arrière-Gauche et Arrière-Droite sur 2 canaux via l’encodage matriciel DPL II et la transformée de Hilbert.
(4) La voix utilisée pour le caisson de grave ".1" est crée en additionnant toutes les autres voix sans utiliser de filtre passe-bas. Si le son est de mauvaise qualité en mode 5.1, le mode 5.0 peut solutionner le problème.
(5) Ce mode utilise un son holographique synthétique (disponible à partir de la version 0.20.5)
Caractéristiques avancées
- Une seule et unique allocation mémoire
- Ré-échantillonnage exceptionnel via la fenêtre d’interpolation de Lanczos
- Thread dédiée (permet d’obtenir de meilleures performances sur les processeurs dual, quad et multi core)
- Optimisation très importante de la partie Mixage des voix en SSE (compatible AthlonXP !)
Hybrid HRTF
Les 2 modes "Headphones" (casque) et "360 VirtualSound" ont été développés pour permettre une localisation des sources sonores virtuelles en utilisant seulement 2 canaux (à travers les 2 haut-parleurs).
Le mode
"Headphones" (casque) donne de bons résultats avec quasiment tous les types de casques.
Le mode
"360 VirtualSound" a été conçu pour une utilisation avec des enceintes, mais surtout pas avec un casque. L’efficacité de ce mode dépend grandement du type d’enceinte, de la distance entre elles, de l’angle, etc.
Le filtrage hybride HRTF tente de fournir un effet enveloppant aussi convaincant que possible sans trop réduire les performances.
Holographic Sound
Le mode "holographic headphones" (casque avec holographie) utilise un nombre très important de traitements internes pour tenter de reproduire aussi fidèlement que possible l’espace sonore. Ce mode nécessite beaucoup plus de puissance que l’hybrid HRTF sans pour autant garantir un résultat supérieur. En effet, le rendu final dépend grandement du casque employé et de la capacité du cerveau à être "dupé" par ce type de signal.
CinemaAGC
En cours de re-développement…
Le traitement original modifiait de façon dynamique le niveau des sons environnants afin d’obtenir une meilleure immersion. Cependant, après de nombreux tests subjectifs, le traitement a été supprimé d’iKALiZER car l’amélioration était trop faible et la puissance de traitement trop importante…
Limitations
- Sous Windows : nécessite DirectX 8 minimum
- L’effet doppler n’est pas supporté
- Un processeur SSE est obligatoire (AthlonXP, Pentium III…)