Blind tests have many flaws and errors. I did participate in blind test btw. I think we will never agree, but that doesnt mean we cant live in peace. You want compressed audio. I hope you will have it. I want lossless audio and high quality sound effects. I have 2 terrabytes of free space, so i dont care if it requires some extra hdd space. In case the core game won't feature it, i hope the marketplace will. Cheers.Let's stay focused, guys. What do you think about the following: * 24-bit mix * Dynamic range templates * Resample sound stream based on OS settings * Surround (5.1) music mix * Environmental Effects (a la EAX) * Lossless music * Lossless voice / weapon / environmental sounds * Default bit-depth/sample rate/codec for samples? * Audio library? * WASAPI support (Windows) / Kernel streaming? I'll start: * 24-bit mix: Yes, this should prove beneficial on large-scale battles with many sound channels (think 64 projectiles mixed in 24-bit) * Dynamic range templates: Should include one for Headphones that will automatically trigger HRTF, one for low-end speakers, and one for high-end systems. * Resample sound stream based on OS settings: Most sound cards these days have very low-quality resamplers, we could use libsamplerate or SoX to make a high quality resample to the native sample rate used. * Surround (5.1) music mix: This would be nice to have. Alternatively, we can utilize an upmixer (we'll have to find a free one, though) to upmix stereo to surround in realtime (the best one right now is DTS Neural Upmix, but it's not free). * Environmental Effects: I loved the EAX effects patch UT had, where some spaces had extra reverb, that was extremely immersive. I think we should bring that back. * Lossless music: Worth the extra space. * Lossless voice / weapon / environmental sounds: Debatable, but I won't mind an extra 1-2GB for lossless Redeemer/Ion Cannon explosions. * Default bit-depth/sample rate/codec for samples? I'd go with 24/96, even if lossy. * Audio library? ![]() Web Admin [email protected]. Game Admin Waterkater@unreal. Golden is a modern and clean one page web template. Free download gaming tournament template Files at Software Informer. Great effects and graphics for this first person shooter. Unreal Tournament 3 2.1. ![]() ![]() I'd stay out of this one as I don't have enough knowledge on the matter. * WASAPI support (Windows) / Kernel streaming? Having support for this in the engine would be very nice to have, but it's not critical. * Resample sound stream based on OS settings: Most sound cards these days have very low-quality resamplers, we could use libsamplerate or SoX to make a high quality resample to the native sample rate used.If I understand the issue correctly, this isn't quite as clear-cut. Now ideally, you wouldn't have to resample anything ever. All samples at the same rate, the game passes sounds to the OS as is, the OS passes the sounds to the sound card as is. Of course, good luck making all modders use the same sampling rate. In that case there are two options (correct me if I'm wrong): either pass the sounds through to the OS and hope it figures out what to do with all that, or resample the sounds to a predefined format and pass it to the OS. Both approaches can have best and worst case scenarios. With the first approach, the worst scenario is that the OS decides to use a bad resampling algorithm and completely butchers the audio. The best scenario is that the OS decides to use the most optimised and fitting the user resampling algorithm to give the best sound quality with the least amount of resources. With the second approach, the best scenario is that the OS doesn't have to use any resampling and passes through the sound to the sound card unchanged. The worst scenario is that the OS resamples it all over again (and does it horribly and butchers the audio). If there is a way to uniformly get what the OS considers to be a 'native' sample rate (without any omissions), then the second approach worst case scenario should never happen. However, the second approach has overhead in that the game will never know what's best for the device it's running on the same way as the OS – that is, we'll never get the best case scenario in approach #1. Libsamplerate, for instance, is really slow compared to speex, although it does result in better quality. Yet if the game is to be scalable, then letting the OS handle resampling would use up less of the system resources. So perhaps a configuration option to toggle built-in resampling? By the way, while doing research about this topic, I scanned my audio library. It turns out the absolute majority of the music files I have are 44100 Hz, then 72 files with 32000 Hz (music from old Westwood games), 34 files with 22050 Hz (music from even older Westwood games), 27 files with 48000 Hz and 3 files with 12000 Hz (I know right?). PulseAudio allows configuring two native sample rates, so putting the primary to 44100 Hz and alternate to 96000 Hz should work well for all of these, if I'm thinking correctly here. * WASAPI support (Windows) / Kernel streaming? Having support for this in the engine would be very nice to have, but it's not critical.On the Linux side, using OpenAL Soft allows switching the backends through configuration files. Those who use PulseAudio get everything natively through PulseAudio, those who use ALSA get ALSA. Those who use JACK are a bit left out, but there are experimental builds with native JACK support as well. If not using OpenAL Soft, then you'd get into a bit of a problem. PulseAudio support is a must, though, as that's the default in most distributions. Although ALSA is sort of the kitchen sink, everything supports it (just with varying degrees of quality and with hacks). 24-bit mix: What do you mean by that? Isn't mixing generally done in floating Point 32bit?, that is at least how windows 7 does it in shared mode. It would be hard to believe audio libraries deviate from that. Dynamic range templates: I would find them useful: low dynamic range in case of high background noise and/or if you have to play at low volume. Resample sound stream based on OS settings: only few old sound cards had intransparent resampling (creative audigy series) with the X-FI series hardware resampling was not a problem anymore. Also with windows 8 or Windows 7 with the fix KB2653312 applied OS-resampling is not a problem. Surround (5.1) music mix: Its nice to have, but I don't mind Stereo only music. To compress the Surround music you need a newer codec than MP3: Vorbis and OPUS have surround sound support. Stereo to 5 Surround Upmixing is too complicated: If its realtime, It probably has artefacts, or no channel separation at all (I spend a lot of time developing an algorithm that has acceptable quality, but its not running realtime). A simple copy of the Stereo to the back speakers for stereo sources should be sufficient, because you are distracted by other things in the game. Environmental Effects: They are really important for immersion. In audio, Reverberation 'connects' sounds with the environment much like how in graphics, dynamic shadows 'connects' objects with the rest of the scene. Lossless music: Lossy compression on music is fine. Its not Napster-times anymore, today even traditional MP3 with Lame VBR V0 (~320kbit/s) is enough. Ut2004 used Vorbis, unfortunately the codec was new and untuned at the time and was not transparent with the bitrates used (~80kbit/s). OPUS is new and more efficient on low bitrates than Vorbis/MP3 but UT4 should use Vorbis/MP3, because it is probably more widespread. Vorbis with a quality setting of '6.0' (~192kbit/s) should be enough even in critical listening outside the game. Lossless voice / weapon / environmental sounds: For game sounds no lossy compression should be used, because the assumptions codecs make on how the file is played don't hold: The playback speed can vary for doppler effect simulation (btw. Ut99 had awesome ripper disc sound effects because of doppler), and lots of filters could be applied that are needed for reverberation and occlusion. If a lossy encoding is post-processed you are at risk of exposing artifacts that would otherwise be well hidden(like increasing the brightness of a dark jpeg). With the short length (compared to a whole music track) of environmental/weapon samples, simple.WAV will not be too large, certainly much less than a gigabyte for a weapon, more like 100MB for all non music sounds. At 96kHz sample rate and 24bit/sample thats about 6 minutes of Mono audio. Default bit-depth/sample rate/codec for samples? 16/48: High audio sample rates (96kHz) are not harmful, but you have to get really creative to find a reason why you need them: I could imagine that in situations there playback speed is lowered, slow motion effects for example, high sample rate files would sound clearly different to standard sample rates (48kHz). Looking at Bit-depths the differences between 24bit/sample and 16bit/sample are even more situational. Keep in mind that high bit-depth and high sample rate started in studios only because it was necessary for audio processing: to reduce accumulated roundoff errors of chained filters/effects. If you have a finished 'baked' audio file 48kHz rate and 16bit/sample are enough. Audio library: I don't now enough of the programming side of audio, but from general technical view point 'rapture-3d' might be useful: It calculates the HRTF so localization on headphones will be more accurate. Someone on youtube made a rapture-3d demonstration with UT3 that I found impressive. Another neat thing seams to be It calculates sound propagation with rays. WASAPI support (Windows) / Kernel streaming?: I know that in a studio setting, you want to minimize latencies to match the behavior of analog instruments, but games probably don't require such a tight audio interaction feedback loop. Or do you propose them for other features? Surround (5.1) music mix: Its nice to have, but I don't mind Stereo only music. To compress the Surround music you need a newer codec than MP3: Vorbis and OPUS have surround sound support. Stereo to 5 Surround Upmixing is too complicated: If its realtime, It probably has artefacts, or no channel separation at all (I spend a lot of time developing an algorithm that has acceptable quality, but its not running realtime). A simple copy of the Stereo to the back speakers for stereo sources should be sufficient, because you are distracted by other things in the game.DTS Neural Upmix works in realtime, and has extremely good results. But I agree with copying the channels, that's okay too (a little less impressive, though). I do think that the game should at least support 5.1 (or even 7.1) music tracks. Lossless voice / weapon / environmental sounds: For game sounds no lossy compression should be used, because the assumptions codecs make on how the file is played don't hold: The playback speed can vary for doppler effect simulation (btw. Ut99 had awesome ripper disc sound effects because of doppler), and lots of filters could be applied that are needed for reverberation and occlusion. If a lossy encoding is post-processed you are at risk of exposing artifacts that would otherwise be well hidden(like increasing the brightness of a dark jpeg). With the short length (compared to a whole music track) of environmental/weapon samples, simple.WAV will not be too large, certainly much less than a gigabyte for a weapon, more like 100MB for all non music sounds. At 96kHz sample rate and 24bit/sample thats about 6 minutes of Mono audio. Lossless tracks really show their edge when you pass them through a huge DSP chain. 32bit FLT is indeed the default OS mixing format, mixing in 32 FLT in the game engine then sending to OS as 24 INT or 32 FLT makes perfect sense. 24bit INT for mixing is probably harder than 32 FLT, as you dramatically increase the overhead for the programmer. I have a feeling Unreal4 engine does 32bit FLT internally already, it's pretty bog standard and requires nothing more than toggling the floating value to account for dynamic range issues before output. INT mixing needs to be checked for boundary conditions every mixing step/stage. So you usually only see that in custom DSP & ASICS (motorola's older chips & fpga's etc) where there's a specific need or limitation at work. GreatEmerald is correct that passing things to the soundcard unchanged is ideal, to achieve this you need to do TWO things. Insure all assets and game audio are handled at a standardized samplerate (or fractional powers of 2 from that, say 22.050 for 44.1 output) and that the client's machine is actually SET to that samplerate. So with that in mind if you keep the game's native SR (samplerate) the same as all assets at 44.1khz (as has been historically the case), then sadly most OS codecs on the 'windoze' side (and often OSX depending on soundcard) work at 96khz and have SR conversion always on, which means the user needs to know where to go to specify 44.1 (16 or 24bit options for realtek etc). The OS's native SR actually adds a tad bit of overhead time-wise, especially with voice chat active as well. So getting 44.1 to be 'standard' across the board from the game to soundcard etc will require having a guide to help users get everything dialed in on their end, as well as game/engine support. -------------- I disagree that sounds should be lossless on disk though. A fully 'mixed' piece of music might have enough going to justify that to a VERY small% of users, but keep in mind that once the game is running and you turn down the music enough to hear rockets loading in the next room properly you won't care if there's some dynamic range or etc lost in the in-game playback versus a 'listening' session of UT2014 OST FLAC files.and anyway this is all being mixed (again) in realtime. So Ogg & OPUS are sufficient imo and have the added benefit that reading them from disk is a very fast activity when compressed (they are decompressed into ram on loading I would guess, not at playback time). Also lossy compression need NOT be a bad thing for audibility: One thing that's not often understood about lossy audio codecs is that removing unnecessary information from a sound being mixed can often INCREASE the fidelity and power of a mix. At the very least highpass & lowpass filtering benefits a professional mixing engineer tremendously, as does LOSING dynamic range on specific sounds (via dynamic compression, not data-compression). And since you don't tend to get 'aliasing' and other truly obnoxious lossy issues until the bitrate is very low (or the piece being compressed is too complex), I think using slightly aggressive compression settings for certain sounds can actually HELP remove frequency data (bandwidth) that isn't needed, keeping only the more 'important' parts for the ear to pick up on. This is common knowledge for mix engineers.and again I'm not recommending 8bit 12kbit levels of encoding, just giving something to think on that goes against the 'lossless is better' discussion here. * 24-bit mix I think 16 bit is sufficient. Most people aren't able to notice a difference even if you show them. * Dynamic range templates Yes 2-3 settings would be enough * Resample sound stream based on OS settings What ever is cheaper in resources * Surround (5.1) music mix No. Please note 5.1 players will have a massive advantage over players with only stereo sources. For single player games it is great, but for an arena shooter i don't think it plays well. * Environmental Effects (a la EAX) Yes * Lossless music Whatever is cheaper processing wise - i don't care because i play without music * Lossless voice / weapon / environmental sounds Yes Especially weapons and voices - everything that is relevant for gaming decissions * Default bit-depth/sample rate/codec for samples? 16 / 48 As i said most people cant hear a difference between 16 and 24. In the end you could also stream the 32bit float masters. 48 kHz is sufficient because there are even less people that can hear above 20 khz, additionally 96 kHz requires double processing power which i see as a total waste of resources * Audio library? I leave it up to the developers to pick or develop the right one * WASAPI support (Windows) / Kernel streaming? Is this really needed? In the end we end up using ASIO;-). Hey guys, I thought I'd chime in from an Audio Engineer perspective. In it's purest state, the higher bit rate and sample rate the better, but consider this. 16bit vs 24 bit has to do with dynamic range. As in with 24 bit samples you are able to playback audio quieter than 16 bit audio before hitting the digital noise floor. For music that doesn't take advantage of all of this which is almost all of the commercial music out there you will not hear a difference. It's like sipping taking two gulps of water a glass of water that is very big tall verses a short one. You are only taking two gulps, the amount of water you consume is the same no matter how big or small the cup is. Also consider this. The sound effects used (or samples used from a DAW to create music) could be fixed at 16 bit 48k or 24 bit 48k. Not all SFX libraries out there are recorded at 96k or higher. So even if you play back the music or sound at 96k, you will not hear the difference because the original source is not that high. Personally I use sounds that is a mish match of 24 and 16 bit with 48, 96k samples. I use what sounds good in the final product. A game like UT is going to be loud. Between the driving music, the hard hitting SFX there is not going to be a quiet moment that will take advantage of the 24bit offers. However, perhaps if reverb in the UE plays back 24 bit the verb tail will be nice and crisp, but there are going to be a lot of louder sounds that would mask that anyway. The file size will be bigger, the Engine will have to work harder to process a higher sample and thus bogging down performance. I appreciate the enthusiasm for higher quality audio I am all for it as well, but don't be fooled by the higher numbers just because it's there. Unless you have control over the source (the samples these SFX or music will be made from) to have a higher sample rate all around it's not worth it. Finally consider how content in audio (SFX, music) are going to be coming from the community, I wager that people will more likely send in 16bit sounds over 24 bit sounds. My two cents. Bumping this again. MaxCarnage, while I agree with your perspective, I think there shouldn't be any harm by utilizing a 24/96 mix before handing it over to the OS / sound card API. Let's just call it ' Audio Quality: Epic', and let the user decide. For a mid-range CPU these days, the absolute-highest-quality resampling (that's SoX or libsamplerate on Ultra mode) and bitdepth conversion from 16/48 to 24/96 adds around 6% of CPU utilization. And that's for 6-channel sources. We can also consider upsampling in advance. Perhaps we'd be surprised by the results. Perhaps the new noise floor could lead to a more exciting and well-defined sound signature, especially when we throw tens (or even hundreds?) of samples into the mix. And a game advertising 'Lossless HD Sound' might earn us some extra coverage. Just an FYI, the current undisputed master of video-game sound engineering is Crysis 2 (and, to a somewhat lesser extent, Crysis 3). Let's not forget the other matters that have to be addressed, such as dynamic range templates, 7.1 surround sound support and so on. Bumping this again. MaxCarnage, while I agree with your perspective, I think there shouldn't be any harm by utilizing a 24/96 mix before handing it over to the OS / sound card API. Let's just call it ' Audio Quality: Epic', and let the user decide. For a mid-range CPU these days, the absolute-highest-quality resampling (that's SoX or libsamplerate on Ultra mode) and bitdepth conversion from 16/48 to 24/96 adds around 6% of CPU utilization. And that's for 6-channel sources. We can also consider upsampling in advance. Perhaps we'd be surprised by the results. Perhaps the new noise floor could lead to a more exciting and well-defined sound signature, especially when we throw tens (or even hundreds?) of samples into the mix. And a game advertising 'Lossless HD Sound' might earn us some extra coverage. Just an FYI, the current undisputed master of video-game sound engineering is Crysis 2 (and, to a somewhat lesser extent, Crysis 3). Let's not forget the other matters that have to be addressed, such as dynamic range templates, 7.1 surround sound support and so on.Thanks for bumping this DDR! I like the idea of letting the users decide and having the option to switch quality like they do in graphics. Perhaps there would be a separate and optional download (HD sound pack), so people are not stuck waiting to play because they have to download a terabyte of sound (96k files with 24 bit on each sound element with music? Its going to be huge!) When you say bit depth conversion and up-sampling, are you referring to the process of using the client PC to convert existing 16 bit 48k samples to 24 bit 96k samples? If so, I can't stress enough how much of a wasted CPU power that would be. I have read a lot of the audio cards that claim it can 'convert to studio quality sounds.' It can generate the numbers, it will convert existing 48k to 96k files, but it won't re-create what that sound would sound like if it was created from a 96k source (as in recorded at 96k). At best it is an approximation. It's similar to taking a.mp3 and converting it to a wave file. The file extension is indeed wave file, but it is still the same quality sonically as the mp3 file. The best case scenario would be to create all SFX and Music tracks as 24bit 96K from the source. Then, the game can take advantage of it. Thanks for bumping this DDR! I like the idea of letting the users decide and having the option to switch quality like they do in graphics. Perhaps there would be a separate and optional download (HD sound pack), so people are not stuck waiting to play because they have to download a terabyte of sound (96k files with 24 bit on each sound element with music? Its going to be huge!) When you say bit depth conversion and up-sampling, are you referring to the process of using the client PC to convert existing 16 bit 48k samples to 24 bit 96k samples? If so, I can't stress enough how much of a wasted CPU power that would be. I have read a lot of the audio cards that claim it can 'convert to studio quality sounds.' It can generate the numbers, it will convert existing 48k to 96k files, but it won't re-create what that sound would sound like if it was created from a 96k source (as in recorded at 96k). At best it is an approximation. It's similar to taking a.mp3 and converting it to a wave file. The file extension is indeed wave file, but it is still the same quality sonically as the mp3 file. The best case scenario would be to create all SFX and Music tracks as 24bit 96K from the source. Then, the game can take advantage of it.Well, it wouldn't amount to 1TB of data, probably around a gig or two at most (a 6-minute high-quality 24/96 stereo track is 130MB in FLAC). These are all short samples and music tracks, so even if we were to compress them with a lossless codec, it still won't take that much space. When talking about 24/96, I meant that I want the game to internally utilize a 24-bit wide mix with a 96KHz sampling rate. However, if lower-quality samples are present, they'd have to be upsampled. I'd rather have some high-quality samples than none (if the game would run at 16/48 there'd be no point in having 24/96 samples). I did some research, currently UE4 does not support any audio format but Wav and it only supports 16 bit. So, if this would be at all possible it seems like it would have to be a feature added on UE4 rather than UT itself. But I do agree, I would love to see this feature implemented in the future. Fingers crossed Epic! Now, given that it only accepts WAV (for now) An hour (in stereo) is about 2 gigs (). I did a quick search on Youtube and found a full soundtrack of UT 2004 () and it was three hours long. So, IF we had as many songs in UT2004, we are already looking at 6 gigs. Without SFX and dialogue. This example is a bit unfair, though. Given that the game is modular, people will be downloading content over time they may not get hit with this large of a download at once. Those who come in later are less fortunate. Also consider this, Dialogue lines: However many races or teams, or characters we have, they each have various effort sounds (jump, slide, impact, death,) not to mention the ever growing list of taunts. Then take that number and multiply it by however many countries we want to translate the taunts to. They will quickly add up. Now Consider SFX: This isn't just weapon sounds and pickup sounds (even they have multiple elements, to make up one action.), ambience, effort sounds (foley) and other game cues. At the moment I am making weapon and pickup sounds in mono so the footprint will be cut in half. There is a surprising amount of audio goes into games unfortunately often over looked. Given that this is a PC release file size may not be as big of an issue as to consoles. We are fortunate to have relatively fast and reliable internet connections so we can download massive amounts of data without much thought, but not everyone is fortunate. Having said all of that. If there is a clever way to bring the footprint down I would love to blast that game in 96k and hear all of the high frequency details it has to offer. If the frequencies were there in the first place. I am on your side DDR, I really am. I would like this game to be accessible to as many people as we can and unfortunately file size is a consideration for people.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
May 2018
Categories |