Skip to content

Commit

Permalink
add some more mic array definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
himwho committed Mar 12, 2024
1 parent 5e3fd1f commit f268156
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 2 deletions.
5 changes: 4 additions & 1 deletion public/Mach1TranscodeConstants.h
Expand Up @@ -106,7 +106,7 @@ namespace Mach1TranscodeConstants {
{ "M1Horizon-4_2", 6 }, // MACH1SPATIAL-4 + HEADLOCKED STEREO
{ "M1HorizonPairs", 8 },
{ "M1Spatial-6", 6 }, // MACH1SPATIAL-6 (hexadron planes)
{ "M1Spatial-8", 8 }, // MACH1SPATIAL-8 (default)
{ "M1Spatial-8", 8 }, // MACH1SPATIAL-8 (cube [default])
{ "M1Spatial-8_2", 10 }, // MACH1SPATIAL-8 + HEADLOCKED STEREO
{ "M1Spatial-12", 12 }, // MACH1SPATIAL-12 (hexadron vertices + horizontal hexadron planes)
{ "M1Spatial-14", 14 }, // MACH1SPATIAL-14 (Tetrakis Hexahedron)
Expand Down Expand Up @@ -237,6 +237,9 @@ namespace Mach1TranscodeConstants {
{ "NT-SF1", 4 },
{ "ORTF3D", 8 },
{ "CoreSound-OctoMic", 8 },
{ "CoreSound-OctoMic_SIM", 8 },
{ "ZM-1", 19 },
{ "ZM-1_SIM", 19 },
};
};

Expand Down
68 changes: 68 additions & 0 deletions public/Mach1TranscodeMicArrayFormats.h
Expand Up @@ -20,6 +20,11 @@
* O1 O2 O3 O4
*/

/*
* Multichannel Format/Configuration Naming Conventions:
* - SIM or Simulated = `Simulated Room Mix` (Lessens the divergence of virtual speakers to quickly simulate hearing front/back soundfield within a real world listening environment)
*/

namespace Mach1TranscodeConstants {
class MatricesMicArray {
public:
Expand Down Expand Up @@ -87,6 +92,69 @@ class MatricesMicArray {
Mach1TranscodeChannel::Coeffs({ 0.000114f, 0.020883f, 0.000007f, 0.000114f, 0.020860f, 0.798890f, 0.000114f, 0.020860f, 0.046047f, 0.046047f, 0.000030f, 0.000030f, 0.000030f, 0.045976f }),
}
},
{
"CoreSound-OctoMic_SIM", "M1Spatial-14",
{
Mach1TranscodeChannel::Coeffs({ 0.294030f, 0.294030f, 0.005892f, 0.005892f, 0.018085f, 0.018085f, 0.000757f, 0.000757f, 0.293813f, 0.006858f, 0.000572f, 0.006858f, 0.053373f, 0.001001f }),
Mach1TranscodeChannel::Coeffs({ 0.061595f, 0.004814f, 0.004814f, 0.000464f, 0.369136f, 0.061569f, 0.061569f, 0.004812f, 0.142172f, 0.001598f, 0.001598f, 0.142172f, 0.001598f, 0.142086f }),
Mach1TranscodeChannel::Coeffs({ 0.294030f, 0.005892f, 0.294030f, 0.005892f, 0.018085f, 0.000757f, 0.018085f, 0.000757f, 0.006858f, 0.000572f, 0.006858f, 0.293813f, 0.053373f, 0.001001f }),
Mach1TranscodeChannel::Coeffs({ 0.004814f, 0.000464f, 0.061595f, 0.004814f, 0.061569f, 0.004812f, 0.369136f, 0.061569f, 0.001598f, 0.001598f, 0.142172f, 0.142172f, 0.001598f, 0.142086f }),
Mach1TranscodeChannel::Coeffs({ 0.005892f, 0.005892f, 0.294030f, 0.294030f, 0.000757f, 0.000757f, 0.018085f, 0.018085f, 0.000572f, 0.006858f, 0.293813f, 0.006858f, 0.053373f, 0.001001f }),
Mach1TranscodeChannel::Coeffs({ 0.000464f, 0.004814f, 0.004814f, 0.061595f, 0.004812f, 0.061569f, 0.061569f, 0.369136f, 0.001598f, 0.142172f, 0.142172f, 0.001598f, 0.001598f, 0.142086f }),
Mach1TranscodeChannel::Coeffs({ 0.005892f, 0.294030f, 0.005892f, 0.294030f, 0.000757f, 0.018085f, 0.000757f, 0.018085f, 0.006858f, 0.293813f, 0.006858f, 0.000572f, 0.053373f, 0.001001f }),
Mach1TranscodeChannel::Coeffs({ 0.004814f, 0.061595f, 0.000464f, 0.004814f, 0.061569f, 0.369136f, 0.004812f, 0.061569f, 0.142172f, 0.142172f, 0.001598f, 0.001598f, 0.001598f, 0.142086f }),
}
},
{
// Zylia ZM-1
"ZM-1", "M1Spatial-14",
{
Mach1TranscodeChannel::Coeffs({ 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 1.000000f, 0.000000f }),
Mach1TranscodeChannel::Coeffs({ 0.495617f, 0.495617f, 0.000043f, 0.000043f, 0.000030f, 0.000030f, 0.000001f, 0.000001f, 0.002965f, 0.000019f, 0.000001f, 0.000019f, 0.005612f, 0.000001f }),
Mach1TranscodeChannel::Coeffs({ 0.105631f, 0.000060f, 0.770623f, 0.001142f, 0.000022f, 0.000002f, 0.000338f, 0.000007f, 0.000011f, 0.000005f, 0.000461f, 0.003073f, 0.118622f, 0.000003f }),
Mach1TranscodeChannel::Coeffs({ 0.000060f, 0.105631f, 0.001142f, 0.770623f, 0.000002f, 0.000022f, 0.000007f, 0.000338f, 0.000011f, 0.003073f, 0.000461f, 0.000005f, 0.118622f, 0.000003f }),
Mach1TranscodeChannel::Coeffs({ 0.000017f, 0.188361f, 0.000007f, 0.002682f, 0.000003f, 0.010365f, 0.000002f, 0.000643f, 0.000040f, 0.797773f, 0.000012f, 0.000001f, 0.000090f, 0.000005f }),
Mach1TranscodeChannel::Coeffs({ 0.000882f, 0.772087f, 0.000006f, 0.000267f, 0.000051f, 0.112119f, 0.000001f, 0.000019f, 0.111638f, 0.002559f, 0.000002f, 0.000004f, 0.000355f, 0.000010f }),
Mach1TranscodeChannel::Coeffs({ 0.772086f, 0.000882f, 0.000267f, 0.000006f, 0.112119f, 0.000051f, 0.000019f, 0.000001f, 0.111638f, 0.000004f, 0.000002f, 0.002559f, 0.000355f, 0.000010f }),
Mach1TranscodeChannel::Coeffs({ 0.188361f, 0.000017f, 0.002682f, 0.000007f, 0.010365f, 0.000003f, 0.000643f, 0.000002f, 0.000040f, 0.000001f, 0.000012f, 0.797773f, 0.000090f, 0.000005f }),
Mach1TranscodeChannel::Coeffs({ 0.000002f, 0.000000f, 0.451252f, 0.000397f, 0.000000f, 0.000000f, 0.000237f, 0.000007f, 0.000000f, 0.000000f, 0.548086f, 0.000009f, 0.000008f, 0.000000f }),
Mach1TranscodeChannel::Coeffs({ 0.000000f, 0.000002f, 0.000397f, 0.451252f, 0.000000f, 0.000000f, 0.000007f, 0.000237f, 0.000000f, 0.000009f, 0.548086f, 0.000000f, 0.000008f, 0.000000f }),
Mach1TranscodeChannel::Coeffs({ 0.000001f, 0.000019f, 0.000051f, 0.112119f, 0.000006f, 0.000267f, 0.000882f, 0.772087f, 0.000002f, 0.002559f, 0.111638f, 0.000004f, 0.000010f, 0.000355f }),
Mach1TranscodeChannel::Coeffs({ 0.000002f, 0.000643f, 0.000003f, 0.010365f, 0.000007f, 0.002682f, 0.000017f, 0.188361f, 0.000012f, 0.797773f, 0.000040f, 0.000001f, 0.000005f, 0.000090f }),
Mach1TranscodeChannel::Coeffs({ 0.000007f, 0.000237f, 0.000000f, 0.000000f, 0.000397f, 0.451252f, 0.000000f, 0.000002f, 0.548086f, 0.000009f, 0.000000f, 0.000000f, 0.000000f, 0.000008f }),
Mach1TranscodeChannel::Coeffs({ 0.000237f, 0.000007f, 0.000000f, 0.000000f, 0.451252f, 0.000397f, 0.000002f, 0.000000f, 0.548087f, 0.000000f, 0.000000f, 0.000009f, 0.000000f, 0.000008f }),
Mach1TranscodeChannel::Coeffs({ 0.000643f, 0.000002f, 0.010365f, 0.000003f, 0.002682f, 0.000007f, 0.188361f, 0.000017f, 0.000012f, 0.000001f, 0.000040f, 0.797773f, 0.000005f, 0.000090f }),
Mach1TranscodeChannel::Coeffs({ 0.000019f, 0.000001f, 0.112119f, 0.000051f, 0.000267f, 0.000006f, 0.772086f, 0.000882f, 0.000002f, 0.000004f, 0.111638f, 0.002559f, 0.000010f, 0.000355f }),
Mach1TranscodeChannel::Coeffs({ 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 1.000000f }),
Mach1TranscodeChannel::Coeffs({ 0.000007f, 0.000338f, 0.000002f, 0.000022f, 0.001142f, 0.770623f, 0.000060f, 0.105631f, 0.000461f, 0.003073f, 0.000011f, 0.000005f, 0.000003f, 0.118622f }),
Mach1TranscodeChannel::Coeffs({ 0.000338f, 0.000007f, 0.000022f, 0.000002f, 0.770623f, 0.001142f, 0.105631f, 0.000060f, 0.000461f, 0.000005f, 0.000011f, 0.003073f, 0.000003f, 0.118622f }),
}
},
{
// Zylia ZM-1 diverged each capsule at 70.7%
"ZM-1_SIM", "M1Spatial-14",
{
Mach1TranscodeChannel::Coeffs({ 0.061538f, 0.061538f, 0.061538f, 0.061538f, 0.000455f, 0.000455f, 0.000455f, 0.000455f, 0.001442f, 0.001442f, 0.001442f, 0.001442f, 0.746158f, 0.000102f }),
Mach1TranscodeChannel::Coeffs({ 0.342439f, 0.342439f, 0.011556f, 0.011556f, 0.007815f, 0.007815f, 0.000754f, 0.000754f, 0.096228f, 0.007030f, 0.000825f, 0.007030f, 0.163066f, 0.000695f }),
Mach1TranscodeChannel::Coeffs({ 0.128826f, 0.008407f, 0.389634f, 0.033111f, 0.003985f, 0.000450f, 0.016948f, 0.001614f, 0.002326f, 0.001140f, 0.028162f, 0.089888f, 0.294761f, 0.000749f }),
Mach1TranscodeChannel::Coeffs({ 0.008407f, 0.128826f, 0.033111f, 0.389634f, 0.000450f, 0.003985f, 0.001614f, 0.016948f, 0.002326f, 0.089888f, 0.028162f, 0.001140f, 0.294761f, 0.000749f }),
Mach1TranscodeChannel::Coeffs({ 0.001873f, 0.189507f, 0.001062f, 0.071863f, 0.000515f, 0.031812f, 0.000330f, 0.020782f, 0.004416f, 0.666868f, 0.001772f, 0.000196f, 0.008100f, 0.000904f }),
Mach1TranscodeChannel::Coeffs({ 0.031877f, 0.389950f, 0.001564f, 0.016472f, 0.008498f, 0.132451f, 0.000453f, 0.004024f, 0.293925f, 0.089732f, 0.000740f, 0.001123f, 0.026816f, 0.002374f }),
Mach1TranscodeChannel::Coeffs({ 0.389950f, 0.031877f, 0.016472f, 0.001564f, 0.132451f, 0.008498f, 0.004024f, 0.000453f, 0.293925f, 0.001123f, 0.000740f, 0.089732f, 0.026816f, 0.002374f }),
Mach1TranscodeChannel::Coeffs({ 0.189507f, 0.001873f, 0.071863f, 0.001062f, 0.031812f, 0.000515f, 0.020782f, 0.000330f, 0.004416f, 0.000196f, 0.001772f, 0.666868f, 0.008100f, 0.000904f }),
Mach1TranscodeChannel::Coeffs({ 0.004346f, 0.001018f, 0.320145f, 0.036181f, 0.001119f, 0.000312f, 0.042726f, 0.012302f, 0.000305f, 0.001208f, 0.550472f, 0.015027f, 0.013516f, 0.001324f }),
Mach1TranscodeChannel::Coeffs({ 0.001018f, 0.004346f, 0.036181f, 0.320145f, 0.000312f, 0.001119f, 0.012302f, 0.042725f, 0.000305f, 0.015027f, 0.550472f, 0.001208f, 0.013516f, 0.001324f }),
Mach1TranscodeChannel::Coeffs({ 0.000453f, 0.004024f, 0.008498f, 0.132451f, 0.001564f, 0.016472f, 0.031877f, 0.389950f, 0.000740f, 0.089732f, 0.293925f, 0.001123f, 0.002374f, 0.026816f }),
Mach1TranscodeChannel::Coeffs({ 0.000330f, 0.020782f, 0.000515f, 0.031812f, 0.001062f, 0.071863f, 0.001873f, 0.189507f, 0.001772f, 0.666868f, 0.004416f, 0.000196f, 0.000904f, 0.008100f }),
Mach1TranscodeChannel::Coeffs({ 0.012302f, 0.042725f, 0.000312f, 0.001119f, 0.036181f, 0.320145f, 0.001018f, 0.004346f, 0.550472f, 0.015027f, 0.000305f, 0.001208f, 0.001324f, 0.013516f }),
Mach1TranscodeChannel::Coeffs({ 0.042725f, 0.012302f, 0.001119f, 0.000312f, 0.320145f, 0.036181f, 0.004346f, 0.001018f, 0.550472f, 0.001208f, 0.000305f, 0.015027f, 0.001324f, 0.013516f }),
Mach1TranscodeChannel::Coeffs({ 0.020782f, 0.000330f, 0.031812f, 0.000515f, 0.071863f, 0.001062f, 0.189507f, 0.001873f, 0.001772f, 0.000196f, 0.004416f, 0.666868f, 0.000904f, 0.008100f }),
Mach1TranscodeChannel::Coeffs({ 0.004024f, 0.000453f, 0.132451f, 0.008498f, 0.016472f, 0.001564f, 0.389950f, 0.031877f, 0.000740f, 0.001123f, 0.293925f, 0.089732f, 0.002374f, 0.026816f }),
Mach1TranscodeChannel::Coeffs({ 0.000754f, 0.000754f, 0.007815f, 0.007815f, 0.011556f, 0.011556f, 0.342439f, 0.342439f, 0.000825f, 0.007030f, 0.096228f, 0.007030f, 0.000695f, 0.163065f }),
Mach1TranscodeChannel::Coeffs({ 0.001614f, 0.016948f, 0.000450f, 0.003985f, 0.033111f, 0.389634f, 0.008407f, 0.128826f, 0.028161f, 0.089888f, 0.002326f, 0.001140f, 0.000749f, 0.294761f }),
Mach1TranscodeChannel::Coeffs({ 0.016948f, 0.001614f, 0.003985f, 0.000450f, 0.389634f, 0.033111f, 0.128826f, 0.008407f, 0.028161f, 0.001140f, 0.002326f, 0.089888f, 0.000749f, 0.294761f }),
}
},
};
}
};
Expand Down
2 changes: 1 addition & 1 deletion public/Mach1TranscodeVectorFormats.h
Expand Up @@ -187,7 +187,7 @@ namespace Mach1TranscodeConstants {
Mach1TranscodeChannel::Coeffs({ 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f }),
}
},
{ // Implemented with 8 input channels directly outputting to the 32 channels without signal distribution included
{
"M1Spatial-8", "M1Spatial-12",
{
Mach1TranscodeChannel::Coeffs({ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }),
Expand Down

0 comments on commit f268156

Please sign in to comment.