Audiokinetic Wwise Knowledge Base

View Articles by Category

Category Icon Authoring (76)
Category Icon Motion (2)
Category Icon PS3 (9)
Category Icon SoundFrame (2)
Category Icon SoundSeed (4)
Category Icon Wii (8)
Category Icon Win32 (5)
Category Icon Xbox 360 (8)

Category » Wwiserss button

(Page 2 of 4)     Prev | 1 | 2 | 3 | 4 | Next

There were 76 articles found in this category:

  1. questionInteractive Music Streaming Look-Ahead Time and Prefetching
    Source (streaming) starvation often sounds awful in interactive music, because tracks may become unsynchronized. In the sound engine, streaming sources have implicit latency: they don't start playing until enough data have been streamed in. This latency is uncontrolled; it solely depends on dis ...
  2. questionHow can I be notified when an event has finished playing?
    When posting an event (using PostEvent()), you may register a callback that will be called when the event has finished playing. For example, if you have a situation where you have a sound A that must be played, and while A is playing, B must be paused (not muted), you could use the following sa ...
  3. questionShould we be using switches or states?
    Switches and states can both be used to determine what in a Switch container will be played. The main difference is the switch can be different for each game object of the game while the state is a global variable of the game and is the same for everything at one time. Common mistakes: #1: Usin ...
  4. questionHow many total threads does the SoundEngine use on the PC/360/PS3?
    On all platforms, there is one main Audio thread which does all the high-level audio handling: AK::EventManager thread. On most platforms, DSP and low-level audio data crunching is also executed by this thread. For more details on the PS3, refer to this article. Streaming file I/O thread: AK ...
  5. questionHow can we get MP2 / MP3 support?
    We do not currently support MP2/MP3 and have no plans to do so in the short term. It is also not currently possible to write a user codec plug-in with the SDK. We fully support Vorbis on all platforms; it is a higher quality codec than both MP2 and MP3, with CPU usage similar to MP3. However, yo ...
  6. questionWwise Vorbis Seek Granularity
    Wwise Vorbis files seeking is limited to the seek table's granularity, specified in the Vorbis Encoder Parameters of the conversion settings (Edit... button). The target sample position is rounded to the closest seek position. This is true for both streamed and in-memory (soundbank) files. The ...
  7. questionShould I be concerned about memory fragmentation when using Wwise?
    The sound engine basically uses 2 distinct pools, one for the Wwise sound structures' metadata (Default pool), which consist of relatively small objects, and for the audio pipelines (Lower Engine Default pool), which are made of bigger blocks that all get freed when the audio calms down. As for ...
  8. questionDo all requests immediately get added to a queue, with all background processing occurring in a separate thread?
    Yes, everything is occurring in a separate thread. There are some exceptions, but they shouldn't be a problem: Initialization and term functions of the sound engine are not thread safe and are blocking. Functions like PostEvent(...), or SetRTPCValue( ... ) immediately add in a queue so it is ...
  9. questionIs it possible to substitute user functions regarding File I/O (such as open(),read(),close(),seek()) with our own? If so, what are the steps to do so?
    Yes this is possible. You can override the whole Wwise streaming manager by reimplementing the AK::IAkStreamMgr interface, but the easiest is of course to implement the Low-Level I/O, which is a set of interfaces defined in the SDK header AkStreamMgrModule.h. You can start with the implementatio ...
  10. questionIs it Ok to have multiple versions of Wwise on the same computer?
    Yes, you can install multiple versions of Wwise and the Wwise SDK on the same computer. This allows working on different projects that use different versions of Wwise. It is also useful when you want to take a look at a new version of Wwise while still keeping your current environment intact fo ...
  11. questionLinker errors with communication libraries in Release configuration
    The preprocessor define AK_OPTIMIZED must be added. It is used to compile out communication related code. Communication libraries don't exist in Release.
  12. questionI/O considerations specific to interactive music
    Seeking times Whenever a music segment should start playing in the middle of an audio clip, the underlying stream will be opened, read (for header parsing), then seeked to the appropriate place, then buffered normally. Playback that involves seeking at the beginning can also occur if a clip is t ...
  13. questionUsing non-PCM sources with interactive music
    Note that the Segment Editor in Wwise displays PCM data at 48 KHz. Whenever the converted file is resampled, or compressed, the actual sample values will be different than what is displayed. One of the consequences is that you should not trust any editing you make in Wwise to fit the zero-crossi ...
  14. questionLooping and streaming of audio clips and interactive music
    Do not confuse "looping segments" with "looping audio clips inside segments". Looping an audio clip inside a segment means that the user has stretched the clip that appears in the Segment Editor (a blue triangle appears - see below). On the other hand, looping a segment is only a degenerated ca ...
  15. questionUsing file packages
    In order to use file packages (created with the AK File Packager or any other tool), you need to write the Low-Level I/O code to handle file packages. Basically, it needs to specify the offset of the requested file in the package with the proper AkFileDesc::uSector value. The class CAkFilePackag ...
  16. questionWhen should a game implement AK::StreamMgr::IAkIOHookBlocking::Write() (or AK::StreamMgr::IAkIOHookDeferred::Write())?
    AK::StreamMgr::IAkIOHookBlocking|Deferred::Write() is needed by the default stream manager's implementation of AK::IAkStdStream::Write(). You need to implement it only if you use this service, or if you use AK::SoundEngine::StartOutputCapture() (because this feature uses AK::IAkStdStream::Write( ...
  17. questionSource starvation vs. Low-Level I/O bandwidth
    The stream manager should have already buffered the stream a little bit before it is asked for data. Whenever the sound engine asks for data, and the stream manager has no data ready, there will be a starvation: you may hear a gap in audio, tracks in music segments may be de-synchronized, and a ...
  18. questionI/O Stream profiling
    In Wwise's profiler, open the "Streams" tab. There you will see all streams that currently exist in the Stream Manager, including streamed audio files and SoundBanks. The "buffer size" column represents the target buffering length of each stream, in bytes. The game creates a streaming device and ...
  19. questionDefault Stream Manager's I/O scheduler
    Audiokinetic's default I/O scheduler works this way: among all the streams that require an I/O transfer, it chooses the one that has the shortest deadline (regarding clients of the stream manager) and sends a request to the Low-Level I/O. Standard streams (AK::IAkStdStream) require an I/O transf ...
  20. questionStream Manager Device Memory
    Audiokinetic's default stream manager creates a memory pool to perform I/O for each device (created using AK::CreateDevice()). These pools appear in the Wwise profiler under the name "Stream I/O". Their size is specified with AkDeviceSettings::uIOMemorySize. These pools are split up and managed ...
(Page 2 of 4)     Prev | 1 | 2 | 3 | 4 | Next