illustrate
Products            Buy            Support Forum            Registrations            Professional            About           
 

DSP processing and resampling for a video game

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Someone7272

    • Nov 2023
    • 11

    DSP processing and resampling for a video game

    Over the last couple of years, I've begun purchasing music in "high resolution" format.

    In the past, I've used 16-bit 44.1 KHz lossless audio files. They could be easily manipulated with DSP effects.
    However, some of the audio files I use now are 24-bit 48 KHz or higher. This gets more complex because it requires additional processing steps.

    GTA V only accepts AAC-LC .m4a audio files, and they must be 16-bit 44.1 KHz CBR. To make matters worse, the audio engine mixes custom music quietly. This is bad, because it has to compete with everything else happening in the in-game environment, especially vehicle engine noise. Tracks with high dynamic range would be drowned out by ambient noise, so dynamic range compression is necessary (yes this is sinful, but it's justified by the use case).

    To make custom audio tracks work decently with GTA V, here are the DSP effects I'm considering using (in no particular order):
    • Resample to 16 bit, 44.1 KHz
    • Normalization to -0.01 dBFS
    • Apply dynamic range compression/limiter (depending on dynamic range)
    • Convert to AAC-LC 256k CBR .m4a file (iTunes QAAC encoder)
    • Add the required metadata tags manually

    What is the best order for this DSP processing? I don't want clipped/distorted samples, but I need it to be "loud", or as close to dBFS without clipping or brick-walling the audio too much. Yes, audio quality isn't the most important thing here, but I want to have the best quality possible, as the game does not support lossless audio.
    Last edited by Someone7272; November 18, 2023, 01:27 AM. Reason: requires CBR AAC-LC files, VBR/ABR does not work!
  • Spoon
    Administrator
    • Apr 2002
    • 44809

    #2
    Re: DSP processing and resampling for a video game

    Bit Depth to 24 bit
    Resample to 44.1 KHz
    Normalization to -0.01 dBFS
    Apply dynamic range compression/limiter (depending on dynamic range)
    Convert to AAC-LC 256k CBR .m4a file (iTunes QAAC encoder)
    Add the required metadata tags manually

    Would give best quality
    Spoon
    www.dbpoweramp.com

    Comment

    • Someone7272

      • Nov 2023
      • 11

      #3
      Re: DSP processing and resampling for a video game

      Originally posted by Spoon
      Bit Depth to 24 bit
      Resample to 44.1 KHz
      Normalization to -0.01 dBFS
      Apply dynamic range compression/limiter (depending on dynamic range)
      Convert to AAC-LC 256k CBR .m4a file (iTunes QAAC encoder)
      Add the required metadata tags manually

      Would give best quality
      Did you mean bit depth to 16-bit? The game won't load 24-bit audio files, and I'm not even sure if AAC LC supports 24-bit.
      But thank you for clarifying the processing order. Gives me sanity to know that I was mostly correct.
      I have saved the above as a preset (without the compression, can always add it at runtime!).

      Comment

      • Spoon
        Administrator
        • Apr 2002
        • 44809

        #4
        Re: DSP processing and resampling for a video game

        AAC is a lossy codec, it does not preserve the bit depth, so feeding it 16 bit, 24 bit, 32 bit the file will decode in all programs.
        Spoon
        www.dbpoweramp.com

        Comment

        • Someone7272

          • Nov 2023
          • 11

          #5
          Originally posted by Spoon
          Re: DSP processing and resampling for a video game
          AAC is a lossy codec, it does not preserve the bit depth, so feeding it 16 bit, 24 bit, 32 bit the file will decode in all programs.
          I'm really sorry to resurrect this, but I am finding new confusions.

          The publisher of GTA V is about to release a major quality-of-life update in the next few days. Whilst it would be amazing if the developers implemented lossless audio support, there's an equal chance they might remove custom music tracks entirely. Hopefully, they don't do the latter.

          Assuming nothing changes, I am still stuck with AAC-LC support.
          I get tracks in various lossless formats now, so I am unsure of the correct order of DSP processing:

          24-bit / 48 KHz
          1. Bit-depth to 16-bit
          2. Resample to 44.1 KHz
          3. Normalize to -0.01 dB

          24-bit / 44.1 Khz
          1. Bit-depth to 16-bit
          2. Normalize to -0.01 dB

          16-bit / 48 Khz
          1. Bit-depth to 16-bit
          2. Normalize to -0.01 dB

          16-bit / 44.1 KHz
          1. Normalize to -0.01 dB

          I guess what I'm really asking is, is it actually neccessary to do the bit-depth and resampling stages for AAC-LC?
          Does dBpoweramp do this transparently, or if I explicitly make it a pre-rendered DSP effect, would the output be better quality? Yeah, I know there's a lot of ambient noises in the game environment, but it just bugs me if I can't get the highest possible quality with what I can work with.

          The final converter output is using the Apple iTunes AAC/M4A (AAC-LC, 256Kbps) encoder.

          Thanks,
          Dan
          Last edited by Someone7272; Yesterday, 07:12 AM.

          Comment

          Working...