Sound Engine

Aus Crysis-HQ.com Wiki

Wechseln zu: Navigation, Suche

Auch der Sound wird in Crysis neue Maßstäbe setzen.

Crysis verwendet für den Sound eine modifizierte Version der fmod4 Ex Engine. Die Vorgänger-Version dieser Engine kam bereits in FarCry zum Einsatz. Die genaueren Modifikationen, die extra für Crytek an der Soundengine vorgenommen wurden sind leider nicht bekannt, aber selbst die Standard-Features der Engine können schon überzeugen.


Features fmod 4 Ex Engine (Übersetzung und formatierung folgt)

Inhaltsverzeichnis

[bearbeiten] Virtuelle Kanäle

Virtuelle Kanäle erlauben es auf begrenzter Hardware tausende Kanäle abzuspielen. Dabei werden die einzelnen Stimmen je nach ihrer 3-dimensionalen Entfernung und nach deren Priorität ein- und ausgeblendet und die Gesamtstimmenanzahl so deutlich verringert.

[bearbeiten] Plug-in System

Neue Dateiformate, Ausgabemodi und Kodierer können einfach durch hinzufügen entsprechender DLLs durch den User, eingebunden werden. VST und Winamp DSP Plugins sind auch enthalten.


[bearbeiten] Digitale CD-Wiedergabe

Die digitale CDDA Wiedergabe erlaubt es DSP-Effekte, Spektrumanalysen, Tonaufnahmen und vieles mehr durchzuführen, als ob es sich dabei um eine ganz normale PCM-Datei handeln würde.


[bearbeiten] Simultane Verwendung von mehreren Soundkarten

In der FMOD3 Engine war es bisher nur möglich eine einzelne Soundkarte zur gleichen Zeit zu verwenden, sodass man für jede weitere Soundkarte eine neue Instanz der fmod.dll eröffnen musste. In der FMOD4 Engine sind nun mehrfache Ausgaben mit nur einer FMOD-Instanz möglich.


[bearbeiten] Mehrfach Lautsprecherunterstützung

FMOD besitzt einen vollständigen Mehrkanal-Mixer, der selbst 2D-Sounds in eine 5.1 oder 7.1 Umgebung mixen kann. Dabei können die Kanäle beliebig vertauscht und anderen Kanälen zugewiesen werden. Der linke und rechts Kanal eines Stereosignals kann so zum Beispiel auf der linken und rechten hinteren Box ausgegeben werden. Dies erreicht FMOD durch eine Verteilermatrix, die selbst eine prozentuale oder fraktionale Verteilung der Kanäle ermöglicht. Dadurch ist es möglich die Kanäle nicht nur festen Ausgabekanälen zuzuweisen sondern frei auf alle Ausgabekanäle zu verteilen.

Über ASIO ist es FMOD Ex nun auch möglich volle Multikanalausgaben mit bis zu 16 Kanälen auszugeben.

[bearbeiten] Mehrkanalsound Unterstützung

Mehrkanal Wav, Ogg und FSB Dateien werden untersützt, welche zum Beispiel für eine 5.1 Musikausgabe verwendet werden kann.


[bearbeiten] Aufzeichnungen mit niedrigen Latenzzeiten

FMOD Ex ermöglicht es Aufnahmen mit extrem niedrigen Latenzzeiten durchzuführen und zu bearbeiten, was durch eine vollkommen neue Aufzeichnungsengine möglich ist. Mit ASIO kann die Aufnahme->DSP->Wiedergabe Latenz in Bereichen von 1-3ms liegen! Dies ist optimal für die Echtzeitverarbeitungen und Wiedergabe von aufgenommenen Audiosignalen.


[bearbeiten] Erweiterte Internet-Features

Internet audio streaming: FMOD Ex beinhaltet eigene Internet Audio-Streaming Funktionen, die SHOUTcast, Icecast und http streaming Signale flüssig wiedergeben können.

Download-Möglichkeiten: Eine positiver Nebeneffekt des modularen Dateiaufbaus der FMOS-Engine ist, dass Netzwerkdateien und sogar statische Samples immer frisch aus dem Internet heruntergeladen werden können. Es ist sogar möglich mit der FMOD API einen eigenständigen Datei-Downloader zu schreiben. Voice Chat Fähigkeiten werden in Zukunft auch Einzug in die Engine halten. In Echtzeit übers Internet geführte Server/Client Voice Chats werden unterstützt werden und Kompessionsmethoden wie SPEEX werden ebenfalls unterstützt um den Bandbreiten-Bedarf so gring wie möglich zu halten.


[bearbeiten] Dateiformat-Unterstützung

FMOD unterstützt eine Vielzahl von Audioformaten:


  • AIFF - (Audio Interchange File Format)
  • ASF - (Advanced Streaming Format)
  • ASX - (Playlist Format)
  • DLS - (DownLoadable Sound Format)
  • FLAC - (Lossless Compression Codec)
  • FSB - (FMOD Sample Bank Format)
  • IT - (Impulse Tracker Sequenced Mod Format)
  • M3U - (Playlist Format)
  • MID - (MIDI Format)
  • MOD - (Sequenced Mod Format)
  • MP2 - (MPEG I/II Layer 2)
  • MP3 - (MPEG I/II Layer 3, inklusive :VBRUnterstützung)
  • OGG - (Ogg Vorbis Format)
  • PLS - (Playlist Format)
  • RAW - (Raw File Format)
  • S3M - (ScreamTracker 3 Sequenced Mod Format)
  • VAG - (PS2 / PSP Format)
  • WAV - (Microsoft Wave Format inklusive PCM, MP3 und :*IMA ADPCM Kompression).
  • WAX - (Playlist Format)
  • WMA - (Windows Media Audio Format)
  • XM - (FastTracker 2 Sequenced Format)
  • XMA - (Xbox 360 only)


Dateiformat Plugins werden auch unterstützt, sodass die Dateiunterstützung praktisch grenzenlos ist. Bemerkung: AAC ist nicht in FMOD Ex enthalten, da die einzige Codequelle unter der GPL steht und FMOD Ex keinen GPL geschützten Code enthält. Der AAC Support lässt sich aber leicht durch den User per Plugin nachrüsten.


[bearbeiten] Wav Writer output

All output can be written to a wav file, and with encoder plug-ins, it can even be encoded in real-time to MP3 or other file formats!

[bearbeiten] Sample accurate seeking and looping

Most systems seek to a compression block boundary such as mp3 which decodes in blocks of 1152 samples at a time. FMOD Ex supports sample accurate seeking and decoding. For example you could seek to sample offset 1,000,000 exactly, and extract 1 sample of audio. This accuracy is good for DJ type programs that need to sync streams properly.

[bearbeiten] Enhanced streaming engine

A new low latency stream decoder that spreads the decode burden over time instead of doing it in chunks (cpu spikes!) is included. This means smoother frame-rates in game.

[bearbeiten] Enhanced sample format support

24bit, 32bit integer and 32bit IEEE float sample support is included. Alongside standard mono/stereo sample support, now multi-channel sample support is included! Wav, ogg and user created sounds are examples of sound formats that support multi-channel sound.

[bearbeiten] Advanced mixing engine

Enhanced output channel support Most systems only allow mixing to mono or stereo output. FMOD Ex allows mixing to any number of output channels, for example 6 channel output (with panning) to allow for 5.1 or Dolby digital output in real-time for 3d sound! Stereo and 5.1 are optimized as a special case fast-path for extra speed. Full DSP data flow network based mixing engine. New mixing routines with separate resample/mix/effects stages. This is a node based multiple input/output DSP engine which is extremely flexible and allows submixing, splitting and advanced speaker location and selection. High quality mixing All mixing is floating point with full 32bit interpolation. Resampling modes supported are o No interpolation o Linear interpolation o Cubic interpolation o 5 point spline interpolation! All resampling is done with true 32bit precision using a 32bit fractional, it is not downscaled or compromised in any way. Matrix Panning Sounds can have their input channels mapped to any output channel through a simple 2D matrix. For example the left and right parts of a stereo sound can be positioned anywhere in a 5.1 speaker array, in any combination, in one speaker, or all speakers. It is totally flexible. Volume ramping Linear volume ramps between pan/volume changes are included as standard. This removes clicks in sound that changes pan or volume frequently.

[bearbeiten] 3D Sound enhancements

Rolloff models. Logarithmic, linear, or custom rolloff models supported (per voice). Geometry API. A revolutionary step up in audio realism is supported with FMOD Ex’s custom geometry engine. This allows polygon scenes to be added to FMOD so that it can automatically calculate obstruction/occlusion as the user moves around the world. Multiple listener support. Multiple 3d listeners for split screen support are supported. Sound cone support. Sound cones are supported to give sounds direction. Stereo / multichannel sound support. Stereo samples or even multichannel samples can be positioned in 3D, with their component channels (ie left/right parts of a stereo sound) positioned in 3D space, configurable by the user.

[bearbeiten] User delay on sound playback

A new 'setDelay' function is available so a sound can be specified to start after a certain period of time (samples or ms) - can be called between init and start on a channel

[bearbeiten] MIDI Support

FMOD Ex includes its own software midi playback, so that midi playback works cross platform. Patch sets / DLS banks have to currently be provided with the song, or FMOD Ex will take advantage of any found in the operating system.

[bearbeiten] Stitching / sentencing

Seamless stitching. For sounds allows one sound to end then another starts immediately afterwards without gaps. This is great for commentary or interactive music.

[bearbeiten] Built in software based special effects

FMOD Ex hosts a whole suite of special effects surpassing any system available considering it will work on every platform FMOD supports. Here are some of the effects that are supported by default. More can be added through plug-ins.

Oscillators - sine, square, saw up, saw down, triangle and noise wave oscillators. 2 Low-pass with resonance filters. High-pass with resonance. 2 Echo filters. Flange. Distortion. Normalizer. Parametric EQ. Real-time pitch shifter (changes pitch not playback speed) Chorus. Reverb.

[bearbeiten] Channel groups, and submixing

[bearbeiten] Channel groups

Multiple channel groups can be created and channels assigned to these groups. From there a variety of commands can be issued on a group such as volume, mute, frequency, pause and more. Master volume can be controlled through the use of a channel group, and multiple channel groups can be used for multiple master volume assignments, which is very useful for things like relative volume of GUI sounds vs. in game sounds for example, or music vs. special effects volume. This allows greater flexibility in controlling audio levels.

[bearbeiten] Submixing

Submixing allows effects to be placed on groups of channels, without affecting other channels. This is an advanced feature which is really useful for saving CPU usage or keeping some sounds dry while others are affected by DSP effects for example.

[bearbeiten] Enhanced callback support

'latency adjusted' or 'real-time' flag for callbacks. This means you can get a callback at mix time, or audible time (the 2 are different, by the length of time determined by the mixer's buffer size) sample accurate user timer callbacks (millisecond or sample based) for global or per channel.

[bearbeiten] Memory and file system overrides

Callbacks. FMOD Ex of course allows the user to override FMOD's file and memory system through callbacks.



Wie aus einem Forumsbeitrag von Crytek zu erfahren war verwendet Crytek nur den Softwareteil der Engine, der sich keine EAX-Effekte oder andere Hardwareeffekte zu nutze macht. Von daher brauchen Windows Vista Besitzer auch keine Angst haben, dass ihnen die EAX-Effekte verwehrt bleiben. Crysis wird auf jedem System und mit jeder Soundkarte identisch klingen.


Eine gute Nachricht gibt es noch für die Entwickler unter uns, die sich einmal mit der Soundengine befassen wollen. Für den nichtkomerziellen Einsatz ist diese Engine absolut kostenlos und kann von jederman heruntergeladen und verwendet werden. Sie ist wirklich sehr gut dokumentiert und es existieren auch eine Menge Beispielprogramme die einem den Einstieg erleichtern.


Herstellerhomepage

Persönliche Werkzeuge