Просмотр исходного кода

misc: chore: Use collection expressions in Audio project

Evan Husted 1 год назад
Родитель
Сommit
3c2f283ec7

+ 8 - 8
src/Ryujinx.Audio/Backends/CompatLayer/Downmixing.cs

@@ -31,19 +31,19 @@ namespace Ryujinx.Audio.Backends.CompatLayer
         private const int Minus6dBInQ15 = (int)(0.501f * RawQ15One);
         private const int Minus6dBInQ15 = (int)(0.501f * RawQ15One);
         private const int Minus12dBInQ15 = (int)(0.251f * RawQ15One);
         private const int Minus12dBInQ15 = (int)(0.251f * RawQ15One);
 
 
-        private static readonly long[] _defaultSurroundToStereoCoefficients = new long[4]
-        {
+        private static readonly long[] _defaultSurroundToStereoCoefficients =
+        [
             RawQ15One,
             RawQ15One,
             Minus3dBInQ15,
             Minus3dBInQ15,
             Minus12dBInQ15,
             Minus12dBInQ15,
-            Minus3dBInQ15,
-        };
+            Minus3dBInQ15
+        ];
 
 
-        private static readonly long[] _defaultStereoToMonoCoefficients = new long[2]
-        {
-            Minus6dBInQ15,
+        private static readonly long[] _defaultStereoToMonoCoefficients =
+        [
             Minus6dBInQ15,
             Minus6dBInQ15,
-        };
+            Minus6dBInQ15
+        ];
 
 
         private const int SurroundChannelCount = 6;
         private const int SurroundChannelCount = 6;
         private const int StereoChannelCount = 2;
         private const int StereoChannelCount = 2;

+ 4 - 4
src/Ryujinx.Audio/Constants.cs

@@ -164,12 +164,12 @@ namespace Ryujinx.Audio
         /// <summary>
         /// <summary>
         /// The default coefficients used for standard 5.1 surround to stereo downmixing.
         /// The default coefficients used for standard 5.1 surround to stereo downmixing.
         /// </summary>
         /// </summary>
-        public static readonly float[] DefaultSurroundToStereoCoefficients = new float[4]
-        {
+        public static readonly float[] DefaultSurroundToStereoCoefficients =
+        [
             1.0f,
             1.0f,
             0.707f,
             0.707f,
             0.251f,
             0.251f,
-            0.707f,
-        };
+            0.707f
+        ];
     }
     }
 }
 }

+ 1 - 1
src/Ryujinx.Audio/Input/AudioInputManager.cs

@@ -173,7 +173,7 @@ namespace Ryujinx.Audio.Input
                 // TODO: Detect if the driver supports audio input
                 // TODO: Detect if the driver supports audio input
             }
             }
 
 
-            return new[] { Constants.DefaultDeviceInputName };
+            return [Constants.DefaultDeviceInputName];
         }
         }
 
 
         /// <summary>
         /// <summary>

+ 1 - 1
src/Ryujinx.Audio/Output/AudioOutputManager.cs

@@ -167,7 +167,7 @@ namespace Ryujinx.Audio.Output
         /// <returns>The list of all audio outputs name</returns>
         /// <returns>The list of all audio outputs name</returns>
         public string[] ListAudioOuts()
         public string[] ListAudioOuts()
         {
         {
-            return new[] { Constants.DefaultDeviceOutputName };
+            return [Constants.DefaultDeviceOutputName];
         }
         }
 
 
         /// <summary>
         /// <summary>

+ 4 - 4
src/Ryujinx.Audio/Renderer/Device/VirtualDevice.cs

@@ -10,14 +10,14 @@ namespace Ryujinx.Audio.Renderer.Device
         /// <summary>
         /// <summary>
         /// All the defined virtual devices.
         /// All the defined virtual devices.
         /// </summary>
         /// </summary>
-        public static readonly VirtualDevice[] Devices = new VirtualDevice[5]
-        {
+        public static readonly VirtualDevice[] Devices =
+        [
             new("AudioStereoJackOutput", 2, true),
             new("AudioStereoJackOutput", 2, true),
             new("AudioBuiltInSpeakerOutput", 2, false),
             new("AudioBuiltInSpeakerOutput", 2, false),
             new("AudioTvOutput", 6, false),
             new("AudioTvOutput", 6, false),
             new("AudioUsbDeviceOutput", 2, true),
             new("AudioUsbDeviceOutput", 2, true),
-            new("AudioExternalOutput", 6, true),
-        };
+            new("AudioExternalOutput", 6, true)
+        ];
 
 
         /// <summary>
         /// <summary>
         /// The name of the <see cref="VirtualDevice"/>.
         /// The name of the <see cref="VirtualDevice"/>.

+ 1 - 1
src/Ryujinx.Audio/Renderer/Dsp/Command/CommandList.cs

@@ -46,7 +46,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
             SampleRate = sampleRate;
             SampleRate = sampleRate;
             BufferCount = mixBufferCount + voiceChannelCountMax;
             BufferCount = mixBufferCount + voiceChannelCountMax;
             Buffers = mixBuffer;
             Buffers = mixBuffer;
-            Commands = new List<ICommand>();
+            Commands = [];
             MemoryManager = memoryManager;
             MemoryManager = memoryManager;
 
 
             _buffersEntryCount = Buffers.Length;
             _buffersEntryCount = Buffers.Length;

+ 23 - 15
src/Ryujinx.Audio/Renderer/Dsp/Command/Reverb3dCommand.cs

@@ -9,21 +9,29 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
 {
 {
     public class Reverb3dCommand : ICommand
     public class Reverb3dCommand : ICommand
     {
     {
-        private static readonly int[] _outputEarlyIndicesTableMono = new int[20] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-        private static readonly int[] _targetEarlyDelayLineIndicesTableMono = new int[20] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
-        private static readonly int[] _targetOutputFeedbackIndicesTableMono = new int[1] { 0 };
-
-        private static readonly int[] _outputEarlyIndicesTableStereo = new int[20] { 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1 };
-        private static readonly int[] _targetEarlyDelayLineIndicesTableStereo = new int[20] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
-        private static readonly int[] _targetOutputFeedbackIndicesTableStereo = new int[2] { 0, 1 };
-
-        private static readonly int[] _outputEarlyIndicesTableQuadraphonic = new int[20] { 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 3, 3, 3 };
-        private static readonly int[] _targetEarlyDelayLineIndicesTableQuadraphonic = new int[20] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
-        private static readonly int[] _targetOutputFeedbackIndicesTableQuadraphonic = new int[4] { 0, 1, 2, 3 };
-
-        private static readonly int[] _outputEarlyIndicesTableSurround = new int[40] { 4, 5, 0, 5, 0, 5, 1, 5, 1, 5, 1, 5, 1, 5, 2, 5, 2, 5, 2, 5, 1, 5, 1, 5, 1, 5, 0, 5, 0, 5, 0, 5, 0, 5, 3, 5, 3, 5, 3, 5 };
-        private static readonly int[] _targetEarlyDelayLineIndicesTableSurround = new int[40] { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19 };
-        private static readonly int[] _targetOutputFeedbackIndicesTableSurround = new int[6] { 0, 1, 2, 3, -1, 3 };
+        private static readonly int[] _outputEarlyIndicesTableMono = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+        ];
+        private static readonly int[] _targetEarlyDelayLineIndicesTableMono = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
+        ];
+        private static readonly int[] _targetOutputFeedbackIndicesTableMono = [0];
+
+        private static readonly int[] _outputEarlyIndicesTableStereo = [0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1
+        ];
+        private static readonly int[] _targetEarlyDelayLineIndicesTableStereo = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
+        ];
+        private static readonly int[] _targetOutputFeedbackIndicesTableStereo = [0, 1];
+
+        private static readonly int[] _outputEarlyIndicesTableQuadraphonic = [0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 3, 3, 3
+        ];
+        private static readonly int[] _targetEarlyDelayLineIndicesTableQuadraphonic = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
+        ];
+        private static readonly int[] _targetOutputFeedbackIndicesTableQuadraphonic = [0, 1, 2, 3];
+
+        private static readonly int[] _outputEarlyIndicesTableSurround = [4, 5, 0, 5, 0, 5, 1, 5, 1, 5, 1, 5, 1, 5, 2, 5, 2, 5, 2, 5, 1, 5, 1, 5, 1, 5, 0, 5, 0, 5, 0, 5, 0, 5, 3, 5, 3, 5, 3, 5
+        ];
+        private static readonly int[] _targetEarlyDelayLineIndicesTableSurround = [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19
+        ];
+        private static readonly int[] _targetOutputFeedbackIndicesTableSurround = [0, 1, 2, 3, -1, 3];
 
 
         public bool Enabled { get; set; }
         public bool Enabled { get; set; }
 
 

+ 21 - 19
src/Ryujinx.Audio/Renderer/Dsp/Command/ReverbCommand.cs

@@ -9,25 +9,27 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
 {
 {
     public class ReverbCommand : ICommand
     public class ReverbCommand : ICommand
     {
     {
-        private static readonly int[] _outputEarlyIndicesTableMono = new int[10] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-        private static readonly int[] _targetEarlyDelayLineIndicesTableMono = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
-        private static readonly int[] _outputIndicesTableMono = new int[4] { 0, 0, 0, 0 };
-        private static readonly int[] _targetOutputFeedbackIndicesTableMono = new int[4] { 0, 1, 2, 3 };
-
-        private static readonly int[] _outputEarlyIndicesTableStereo = new int[10] { 0, 0, 1, 1, 0, 1, 0, 0, 1, 1 };
-        private static readonly int[] _targetEarlyDelayLineIndicesTableStereo = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
-        private static readonly int[] _outputIndicesTableStereo = new int[4] { 0, 0, 1, 1 };
-        private static readonly int[] _targetOutputFeedbackIndicesTableStereo = new int[4] { 2, 0, 3, 1 };
-
-        private static readonly int[] _outputEarlyIndicesTableQuadraphonic = new int[10] { 0, 0, 1, 1, 0, 1, 2, 2, 3, 3 };
-        private static readonly int[] _targetEarlyDelayLineIndicesTableQuadraphonic = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
-        private static readonly int[] _outputIndicesTableQuadraphonic = new int[4] { 0, 1, 2, 3 };
-        private static readonly int[] _targetOutputFeedbackIndicesTableQuadraphonic = new int[4] { 0, 1, 2, 3 };
-
-        private static readonly int[] _outputEarlyIndicesTableSurround = new int[20] { 0, 5, 0, 5, 1, 5, 1, 5, 4, 5, 4, 5, 2, 5, 2, 5, 3, 5, 3, 5 };
-        private static readonly int[] _targetEarlyDelayLineIndicesTableSurround = new int[20] { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9 };
-        private static readonly int[] _outputIndicesTableSurround = new int[Constants.ChannelCountMax] { 0, 1, 2, 3, 4, 5 };
-        private static readonly int[] _targetOutputFeedbackIndicesTableSurround = new int[Constants.ChannelCountMax] { 0, 1, 2, 3, -1, 3 };
+        private static readonly int[] _outputEarlyIndicesTableMono = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
+        private static readonly int[] _targetEarlyDelayLineIndicesTableMono = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+        private static readonly int[] _outputIndicesTableMono = [0, 0, 0, 0];
+        private static readonly int[] _targetOutputFeedbackIndicesTableMono = [0, 1, 2, 3];
+
+        private static readonly int[] _outputEarlyIndicesTableStereo = [0, 0, 1, 1, 0, 1, 0, 0, 1, 1];
+        private static readonly int[] _targetEarlyDelayLineIndicesTableStereo = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+        private static readonly int[] _outputIndicesTableStereo = [0, 0, 1, 1];
+        private static readonly int[] _targetOutputFeedbackIndicesTableStereo = [2, 0, 3, 1];
+
+        private static readonly int[] _outputEarlyIndicesTableQuadraphonic = [0, 0, 1, 1, 0, 1, 2, 2, 3, 3];
+        private static readonly int[] _targetEarlyDelayLineIndicesTableQuadraphonic = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+        private static readonly int[] _outputIndicesTableQuadraphonic = [0, 1, 2, 3];
+        private static readonly int[] _targetOutputFeedbackIndicesTableQuadraphonic = [0, 1, 2, 3];
+
+        private static readonly int[] _outputEarlyIndicesTableSurround = [0, 5, 0, 5, 1, 5, 1, 5, 4, 5, 4, 5, 2, 5, 2, 5, 3, 5, 3, 5
+        ];
+        private static readonly int[] _targetEarlyDelayLineIndicesTableSurround = [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9
+        ];
+        private static readonly int[] _outputIndicesTableSurround = [0, 1, 2, 3, 4, 5];
+        private static readonly int[] _targetOutputFeedbackIndicesTableSurround = [0, 1, 2, 3, -1, 3];
 
 
         public bool Enabled { get; set; }
         public bool Enabled { get; set; }
 
 

+ 24 - 18
src/Ryujinx.Audio/Renderer/Dsp/ResamplerHelper.cs

@@ -10,7 +10,8 @@ namespace Ryujinx.Audio.Renderer.Dsp
     public static class ResamplerHelper
     public static class ResamplerHelper
     {
     {
         #region "Default Quality Lookup Tables"
         #region "Default Quality Lookup Tables"
-        private static readonly short[] _normalCurveLut0 = {
+        private static readonly short[] _normalCurveLut0 =
+        [
             6600,  19426, 6722,  3,     6479,  19424, 6845,  9,     6359,  19419, 6968,  15,    6239,  19412, 7093,  22,
             6600,  19426, 6722,  3,     6479,  19424, 6845,  9,     6359,  19419, 6968,  15,    6239,  19412, 7093,  22,
             6121,  19403, 7219,  28,    6004,  19391, 7345,  34,    5888,  19377, 7472,  41,    5773,  19361, 7600,  48,
             6121,  19403, 7219,  28,    6004,  19391, 7345,  34,    5888,  19377, 7472,  41,    5773,  19361, 7600,  48,
             5659,  19342, 7728,  55,    5546,  19321, 7857,  62,    5434,  19298, 7987,  69,    5323,  19273, 8118,  77,
             5659,  19342, 7728,  55,    5546,  19321, 7857,  62,    5434,  19298, 7987,  69,    5323,  19273, 8118,  77,
@@ -42,10 +43,11 @@ namespace Ryujinx.Audio.Renderer.Dsp
             109,   8646,  19148, 4890,  101,   8513,  19183, 4997,  92,    8381,  19215, 5104,  84,    8249,  19245, 5213,
             109,   8646,  19148, 4890,  101,   8513,  19183, 4997,  92,    8381,  19215, 5104,  84,    8249,  19245, 5213,
             77,    8118,  19273, 5323,  69,    7987,  19298, 5434,  62,    7857,  19321, 5546,  55,    7728,  19342, 5659,
             77,    8118,  19273, 5323,  69,    7987,  19298, 5434,  62,    7857,  19321, 5546,  55,    7728,  19342, 5659,
             48,    7600,  19361, 5773,  41,    7472,  19377, 5888,  34,    7345,  19391, 6004,  28,    7219,  19403, 6121,
             48,    7600,  19361, 5773,  41,    7472,  19377, 5888,  34,    7345,  19391, 6004,  28,    7219,  19403, 6121,
-            22,    7093,  19412, 6239,  15,    6968,  19419, 6359,  9,     6845,  19424, 6479,  3,     6722,  19426, 6600,
-        };
+            22,    7093,  19412, 6239,  15,    6968,  19419, 6359,  9,     6845,  19424, 6479,  3,     6722,  19426, 6600
+        ];
 
 
-        private static readonly short[] _normalCurveLut1 = {
+        private static readonly short[] _normalCurveLut1 =
+        [
             -68,   32639, 69,    -5,    -200,  32630, 212,   -15,   -328,  32613, 359,   -26,   -450,  32586, 512,   -36,
             -68,   32639, 69,    -5,    -200,  32630, 212,   -15,   -328,  32613, 359,   -26,   -450,  32586, 512,   -36,
             -568,  32551, 669,   -47,   -680,  32507, 832,   -58,   -788,  32454, 1000,  -69,   -891,  32393, 1174,  -80,
             -568,  32551, 669,   -47,   -680,  32507, 832,   -58,   -788,  32454, 1000,  -69,   -891,  32393, 1174,  -80,
             -990,  32323, 1352,  -92,   -1084, 32244, 1536,  -103,  -1173, 32157, 1724,  -115,  -1258, 32061, 1919,  -128,
             -990,  32323, 1352,  -92,   -1084, 32244, 1536,  -103,  -1173, 32157, 1724,  -115,  -1258, 32061, 1919,  -128,
@@ -77,10 +79,11 @@ namespace Ryujinx.Audio.Renderer.Dsp
             -180,  2747,  31593, -1554, -167,  2532,  31723, -1486, -153,  2322,  31844, -1414, -140,  2118,  31956, -1338,
             -180,  2747,  31593, -1554, -167,  2532,  31723, -1486, -153,  2322,  31844, -1414, -140,  2118,  31956, -1338,
             -128,  1919,  32061, -1258, -115,  1724,  32157, -1173, -103,  1536,  32244, -1084, -92,   1352,  32323, -990,
             -128,  1919,  32061, -1258, -115,  1724,  32157, -1173, -103,  1536,  32244, -1084, -92,   1352,  32323, -990,
             -80,   1174,  32393, -891,  -69,   1000,  32454, -788,  -58,   832,   32507, -680,  -47,   669,   32551, -568,
             -80,   1174,  32393, -891,  -69,   1000,  32454, -788,  -58,   832,   32507, -680,  -47,   669,   32551, -568,
-            -36,   512,   32586, -450,  -26,   359,   32613, -328,  -15,   212,   32630, -200,  -5,    69,    32639, -68,
-        };
+            -36,   512,   32586, -450,  -26,   359,   32613, -328,  -15,   212,   32630, -200,  -5,    69,    32639, -68
+        ];
 
 
-        private static readonly short[] _normalCurveLut2 = {
+        private static readonly short[] _normalCurveLut2 =
+        [
             3195,  26287, 3329,  -32,   3064,  26281, 3467,  -34,   2936,  26270, 3608,  -38,   2811,  26253, 3751,  -42,
             3195,  26287, 3329,  -32,   3064,  26281, 3467,  -34,   2936,  26270, 3608,  -38,   2811,  26253, 3751,  -42,
             2688,  26230, 3897,  -46,   2568,  26202, 4046,  -50,   2451,  26169, 4199,  -54,   2338,  26130, 4354,  -58,
             2688,  26230, 3897,  -46,   2568,  26202, 4046,  -50,   2451,  26169, 4199,  -54,   2338,  26130, 4354,  -58,
             2227,  26085, 4512,  -63,   2120,  26035, 4673,  -67,   2015,  25980, 4837,  -72,   1912,  25919, 5004,  -76,
             2227,  26085, 4512,  -63,   2120,  26035, 4673,  -67,   2015,  25980, 4837,  -72,   1912,  25919, 5004,  -76,
@@ -112,12 +115,13 @@ namespace Ryujinx.Audio.Renderer.Dsp
             -98,   5701,  25621, 1531,  -92,   5522,  25704, 1622,  -87,   5347,  25780, 1716,  -81,   5174,  25852, 1813,
             -98,   5701,  25621, 1531,  -92,   5522,  25704, 1622,  -87,   5347,  25780, 1716,  -81,   5174,  25852, 1813,
             -76,   5004,  25919, 1912,  -72,   4837,  25980, 2015,  -67,   4673,  26035, 2120,  -63,   4512,  26085, 2227,
             -76,   5004,  25919, 1912,  -72,   4837,  25980, 2015,  -67,   4673,  26035, 2120,  -63,   4512,  26085, 2227,
             -58,   4354,  26130, 2338,  -54,   4199,  26169, 2451,  -50,   4046,  26202, 2568,  -46,   3897,  26230, 2688,
             -58,   4354,  26130, 2338,  -54,   4199,  26169, 2451,  -50,   4046,  26202, 2568,  -46,   3897,  26230, 2688,
-            -42,   3751,  26253, 2811,  -38,   3608,  26270, 2936,  -34,   3467,  26281, 3064,  -32,   3329,  26287, 3195,
-        };
+            -42,   3751,  26253, 2811,  -38,   3608,  26270, 2936,  -34,   3467,  26281, 3064,  -32,   3329,  26287, 3195
+        ];
         #endregion
         #endregion
 
 
         #region "High Quality Lookup Tables"
         #region "High Quality Lookup Tables"
-        private static readonly short[] _highCurveLut0 = {
+        private static readonly short[] _highCurveLut0 =
+        [
             -582, -23,  8740, 16386, 8833,  8,    -590,  0,    -573, -54,  8647, 16385, 8925,  40,   -598, -1,
             -582, -23,  8740, 16386, 8833,  8,    -590,  0,    -573, -54,  8647, 16385, 8925,  40,   -598, -1,
             -565, -84,  8555, 16383, 9018,  72,   -606,  -1,   -557, -113, 8462, 16379, 9110,  105,  -614, -2,
             -565, -84,  8555, 16383, 9018,  72,   -606,  -1,   -557, -113, 8462, 16379, 9110,  105,  -614, -2,
             -549, -142, 8370, 16375, 9203,  139,  -622,  -2,   -541, -170, 8277, 16369, 9295,  173,  -630, -3,
             -549, -142, 8370, 16375, 9203,  139,  -622,  -2,   -541, -170, 8277, 16369, 9295,  173,  -630, -3,
@@ -181,10 +185,11 @@ namespace Ryujinx.Audio.Renderer.Dsp
             -5,   -646, 244,  9480,  16354, 8093, -225,  -525, -4,   -638, 208,  9387,  16362, 8185, -198, -533,
             -5,   -646, 244,  9480,  16354, 8093, -225,  -525, -4,   -638, 208,  9387,  16362, 8185, -198, -533,
             -3,   -630, 173,  9295,  16369, 8277, -170,  -541, -2,   -622, 139,  9203,  16375, 8370, -142, -549,
             -3,   -630, 173,  9295,  16369, 8277, -170,  -541, -2,   -622, 139,  9203,  16375, 8370, -142, -549,
             -2,   -614, 105,  9110,  16379, 8462, -113,  -557, -1,   -606, 72,   9018,  16383, 8555, -84,  -565,
             -2,   -614, 105,  9110,  16379, 8462, -113,  -557, -1,   -606, 72,   9018,  16383, 8555, -84,  -565,
-            -1,   -598, 40,   8925,  16385, 8647, -54,   -573, 0,    -590, 8,    8833,  16386, 8740, -23,  -582,
-        };
+            -1,   -598, 40,   8925,  16385, 8647, -54,   -573, 0,    -590, 8,    8833,  16386, 8740, -23,  -582
+        ];
 
 
-        private static readonly short[] _highCurveLut1 = {
+        private static readonly short[] _highCurveLut1 =
+        [
             -12,  47,   -134,  32767, 81,     -16,   2,     0,    -26,  108,  -345,   32760, 301,   -79,   17,   -1,
             -12,  47,   -134,  32767, 81,     -16,   2,     0,    -26,  108,  -345,   32760, 301,   -79,   17,   -1,
             -40,  168,  -552,  32745, 526,    -144,  32,    -2,   -53,  226,  -753,   32723, 755,   -210,  47,   -3,
             -40,  168,  -552,  32745, 526,    -144,  32,    -2,   -53,  226,  -753,   32723, 755,   -210,  47,   -3,
             -66,  284,  -950,  32694, 989,    -277,  63,    -5,   -78,  340,  -1143,  32658, 1226,  -346,  79,   -6,
             -66,  284,  -950,  32694, 989,    -277,  63,    -5,   -78,  340,  -1143,  32658, 1226,  -346,  79,   -6,
@@ -248,10 +253,11 @@ namespace Ryujinx.Audio.Renderer.Dsp
             -9,   113,  -486,  1715,  32564,  -1514, 447,   -101, -8,   96,   -415,   1469,  32615, -1331, 394,  -90,
             -9,   113,  -486,  1715,  32564,  -1514, 447,   -101, -8,   96,   -415,   1469,  32615, -1331, 394,  -90,
             -6,   79,   -346,  1226,  32658,  -1143, 340,   -78,  -5,   63,   -277,   989,   32694, -950,  284,  -66,
             -6,   79,   -346,  1226,  32658,  -1143, 340,   -78,  -5,   63,   -277,   989,   32694, -950,  284,  -66,
             -3,   47,   -210,  755,   32723,  -753,  226,   -53,  -2,   32,   -144,   526,   32745, -552,  168,  -40,
             -3,   47,   -210,  755,   32723,  -753,  226,   -53,  -2,   32,   -144,   526,   32745, -552,  168,  -40,
-            -1,   17,   -79,   301,   32760,  -345,  108,   -26,  0,    2,    -16,    81,    32767, -134,  47,   -12,
-        };
+            -1,   17,   -79,   301,   32760,  -345,  108,   -26,  0,    2,    -16,    81,    32767, -134,  47,   -12
+        ];
 
 
-        private static readonly short[] _highCurveLut2 = {
+        private static readonly short[] _highCurveLut2 =
+        [
             418, -2538, 6118,  24615, 6298,  -2563, 417,   0,   420, -2512, 5939,  24611, 6479,  -2588, 415,   1,
             418, -2538, 6118,  24615, 6298,  -2563, 417,   0,   420, -2512, 5939,  24611, 6479,  -2588, 415,   1,
             421, -2485, 5761,  24605, 6662,  -2612, 412,   2,   422, -2458, 5585,  24595, 6846,  -2635, 409,   3,
             421, -2485, 5761,  24605, 6662,  -2612, 412,   2,   422, -2458, 5585,  24595, 6846,  -2635, 409,   3,
             423, -2430, 5410,  24582, 7030,  -2658, 406,   4,   423, -2402, 5236,  24565, 7216,  -2680, 403,   5,
             423, -2430, 5410,  24582, 7030,  -2658, 406,   4,   423, -2402, 5236,  24565, 7216,  -2680, 403,   5,
@@ -315,8 +321,8 @@ namespace Ryujinx.Audio.Renderer.Dsp
             7,   395,   -2721, 7591,  24523, 4893,  -2343, 423, 6,   399,   -2701, 7403,  24546, 5064,  -2373, 423,
             7,   395,   -2721, 7591,  24523, 4893,  -2343, 423, 6,   399,   -2701, 7403,  24546, 5064,  -2373, 423,
             5,   403,   -2680, 7216,  24565, 5236,  -2402, 423, 4,   406,   -2658, 7030,  24582, 5410,  -2430, 423,
             5,   403,   -2680, 7216,  24565, 5236,  -2402, 423, 4,   406,   -2658, 7030,  24582, 5410,  -2430, 423,
             3,   409,   -2635, 6846,  24595, 5585,  -2458, 422, 2,   412,   -2612, 6662,  24605, 5761,  -2485, 421,
             3,   409,   -2635, 6846,  24595, 5585,  -2458, 422, 2,   412,   -2612, 6662,  24605, 5761,  -2485, 421,
-            1,   415,   -2588, 6479,  24611, 5939,  -2512, 420, 0,   417,   -2563, 6298,  24615, 6118,  -2538, 418,
-        };
+            1,   415,   -2588, 6479,  24611, 5939,  -2512, 420, 0,   417,   -2563, 6298,  24615, 6118,  -2538, 418
+        ];
         #endregion
         #endregion
 
 
         private static readonly float[] _normalCurveLut0F;
         private static readonly float[] _normalCurveLut0F;

+ 8 - 6
src/Ryujinx.Audio/Renderer/Dsp/State/Reverb3dState.cs

@@ -6,12 +6,14 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
 {
 {
     public struct Reverb3dState
     public struct Reverb3dState
     {
     {
-        private readonly float[] _fdnDelayMinTimes = new float[4] { 5.0f, 6.0f, 13.0f, 14.0f };
-        private readonly float[] _fdnDelayMaxTimes = new float[4] { 45.704f, 82.782f, 149.94f, 271.58f };
-        private readonly float[] _decayDelayMaxTimes1 = new float[4] { 17.0f, 13.0f, 9.0f, 7.0f };
-        private readonly float[] _decayDelayMaxTimes2 = new float[4] { 19.0f, 11.0f, 10.0f, 6.0f };
-        private readonly float[] _earlyDelayTimes = new float[20] { 0.017136f, 0.059154f, 0.16173f, 0.39019f, 0.42526f, 0.45541f, 0.68974f, 0.74591f, 0.83384f, 0.8595f, 0.0f, 0.075024f, 0.16879f, 0.2999f, 0.33744f, 0.3719f, 0.59901f, 0.71674f, 0.81786f, 0.85166f };
-        public readonly float[] EarlyGain = new float[20] { 0.67096f, 0.61027f, 1.0f, 0.35680f, 0.68361f, 0.65978f, 0.51939f, 0.24712f, 0.45945f, 0.45021f, 0.64196f, 0.54879f, 0.92925f, 0.38270f, 0.72867f, 0.69794f, 0.5464f, 0.24563f, 0.45214f, 0.44042f };
+        private readonly float[] _fdnDelayMinTimes = [5.0f, 6.0f, 13.0f, 14.0f];
+        private readonly float[] _fdnDelayMaxTimes = [45.704f, 82.782f, 149.94f, 271.58f];
+        private readonly float[] _decayDelayMaxTimes1 = [17.0f, 13.0f, 9.0f, 7.0f];
+        private readonly float[] _decayDelayMaxTimes2 = [19.0f, 11.0f, 10.0f, 6.0f];
+        private readonly float[] _earlyDelayTimes = [0.017136f, 0.059154f, 0.16173f, 0.39019f, 0.42526f, 0.45541f, 0.68974f, 0.74591f, 0.83384f, 0.8595f, 0.0f, 0.075024f, 0.16879f, 0.2999f, 0.33744f, 0.3719f, 0.59901f, 0.71674f, 0.81786f, 0.85166f
+        ];
+        public readonly float[] EarlyGain = [0.67096f, 0.61027f, 1.0f, 0.35680f, 0.68361f, 0.65978f, 0.51939f, 0.24712f, 0.45945f, 0.45021f, 0.64196f, 0.54879f, 0.92925f, 0.38270f, 0.72867f, 0.69794f, 0.5464f, 0.24563f, 0.45214f, 0.44042f
+        ];
 
 
         public IDelayLine[] FdnDelayLines { get; }
         public IDelayLine[] FdnDelayLines { get; }
         public DecayDelay[] DecayDelays1 { get; }
         public DecayDelay[] DecayDelays1 { get; }

+ 20 - 20
src/Ryujinx.Audio/Renderer/Dsp/State/ReverbState.cs

@@ -7,8 +7,8 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
 {
 {
     public struct ReverbState
     public struct ReverbState
     {
     {
-        private static readonly float[] _fdnDelayTimes = new float[20]
-        {
+        private static readonly float[] _fdnDelayTimes =
+        [
             // Room
             // Room
             53.953247f, 79.192566f, 116.238770f, 130.615295f,
             53.953247f, 79.192566f, 116.238770f, 130.615295f,
             // Hall
             // Hall
@@ -18,11 +18,11 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
             // Cathedral
             // Cathedral
             47.03f, 71f, 103f, 170f,
             47.03f, 71f, 103f, 170f,
             // Max delay (Hall is the one with the highest values so identical to Hall)
             // Max delay (Hall is the one with the highest values so identical to Hall)
-            53.953247f, 79.192566f, 116.238770f, 170.615295f,
-        };
+            53.953247f, 79.192566f, 116.238770f, 170.615295f
+        ];
 
 
-        private static readonly float[] _decayDelayTimes = new float[20]
-        {
+        private static readonly float[] _decayDelayTimes =
+        [
             // Room
             // Room
             7f, 9f, 13f, 17f,
             7f, 9f, 13f, 17f,
             // Hall
             // Hall
@@ -32,11 +32,11 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
             // Cathedral
             // Cathedral
             7f, 7f, 13f, 9f,
             7f, 7f, 13f, 9f,
             // Max delay (Hall is the one with the highest values so identical to Hall)
             // Max delay (Hall is the one with the highest values so identical to Hall)
-            7f, 9f, 13f, 17f,
-        };
+            7f, 9f, 13f, 17f
+        ];
 
 
-        private static readonly float[] _earlyDelayTimes = new float[50]
-        {
+        private static readonly float[] _earlyDelayTimes =
+        [
             // Room
             // Room
             0.0f, 3.5f, 2.8f, 3.9f, 2.7f, 13.4f, 7.9f, 8.4f, 9.9f, 12.0f,
             0.0f, 3.5f, 2.8f, 3.9f, 2.7f, 13.4f, 7.9f, 8.4f, 9.9f, 12.0f,
             // Chamber
             // Chamber
@@ -46,11 +46,11 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
             // Cathedral
             // Cathedral
             33.1f, 43.3f, 22.8f, 37.9f, 14.9f, 35.3f, 17.9f, 34.2f, 0.0f, 43.3f,
             33.1f, 43.3f, 22.8f, 37.9f, 14.9f, 35.3f, 17.9f, 34.2f, 0.0f, 43.3f,
             // Disabled
             // Disabled
-            0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
-        };
+            0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f
+        ];
 
 
-        private static readonly float[] _earlyGainBase = new float[50]
-        {
+        private static readonly float[] _earlyGainBase =
+        [
             // Room
             // Room
             0.70f, 0.68f, 0.70f, 0.68f, 0.70f, 0.68f, 0.70f, 0.68f, 0.68f, 0.68f,
             0.70f, 0.68f, 0.70f, 0.68f, 0.70f, 0.68f, 0.70f, 0.68f, 0.68f, 0.68f,
             // Chamber
             // Chamber
@@ -60,11 +60,11 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
             // Cathedral
             // Cathedral
             0.93f, 0.92f, 0.87f, 0.86f, 0.94f, 0.81f, 0.80f, 0.77f, 0.76f, 0.65f,
             0.93f, 0.92f, 0.87f, 0.86f, 0.94f, 0.81f, 0.80f, 0.77f, 0.76f, 0.65f,
             // Disabled
             // Disabled
-            0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f,
-        };
+            0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f, 0.00f
+        ];
 
 
-        private static readonly float[] _preDelayTimes = new float[5]
-        {
+        private static readonly float[] _preDelayTimes =
+        [
             // Room
             // Room
             12.5f,
             12.5f,
             // Chamber
             // Chamber
@@ -74,8 +74,8 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
             // Cathedral
             // Cathedral
             50.0f,
             50.0f,
             // Disabled
             // Disabled
-            0.0f,
-        };
+            0.0f
+        ];
 
 
         public DelayLine[] FdnDelayLines { get; }
         public DelayLine[] FdnDelayLines { get; }
         public DecayDelay[] DecayDelays { get; }
         public DecayDelay[] DecayDelays { get; }