Cavern.QuickEQ
2.0.2
dotnet add package Cavern.QuickEQ --version 2.0.2
NuGet\Install-Package Cavern.QuickEQ -Version 2.0.2
<PackageReference Include="Cavern.QuickEQ" Version="2.0.2" />
paket add Cavern.QuickEQ --version 2.0.2
#r "nuget: Cavern.QuickEQ, 2.0.2"
// Install Cavern.QuickEQ as a Cake Addin
#addin nuget:?package=Cavern.QuickEQ&version=2.0.2
// Install Cavern.QuickEQ as a Cake Tool
#tool nuget:?package=Cavern.QuickEQ&version=2.0.2
Cavern.QuickEQ
QuickEQ is a high performance, versatile audio measurement library, providing the foundations for an automated, leading precision, heavily configurable room correction software called Cavern QuickEQ.
Quick start
Fast Fourier-Transform
The basis of most measurements, the FFT is in the main Cavern library, QuickEQ
is not even required. The Measurements
class in the Cavern.Utilities
namespace has extension methods for float
and Complex
arrays. The following
FFT operations are available on both of them:
Complex[] FFT(samples)
- Get the FFT of the input.- To get the spectrum of a real signal, the
FFT1D
method is the fastest.
- To get the spectrum of a real signal, the
void InPlaceFFT(samples)
- Transform samples in-place (to spectrum forfloat
s).IFFT
andInPlaceIFFT
are only available forComplex
numbers by definition.
For optimal performance, the second parameter for each function can be an
FFTCache
instance. These have to be constructed to the exact FFT size, and
will improve runtimes for multiple sequential transforms to the fraction of the
time without them. For software that run FFTs in multiple threads, using
ThreadSafeFFTCache
s for each thread is mandatory.
Equalization
EQ generation including FIR, zero-phase, and peaking filter versions is found in
the Cavern.QuickEQ.Equalization
namespace. Target curves are available in the
Cavern.QuickEQ.EQCurves
namespace.
Signal generation
Noise and sweep generation with multichannel timing are available in the
Cavern.QuickEQ.SignalGeneration
namespace.
Graphing utilities
Displaying the spectrum of a measurement takes 3 steps, all of which are found
in Cavern.QuickEQ.GraphUtils
:
ConvertToGraph
- Linear spectra have to be cut and converted to logarithmic scale.ConvertToDecibels
- The Y axis also requires a logarithmic transformation.SmoothGraph
- To mitigate heavy spectrum fluctuations by the nature of sound, smoothing helps a lot.
CavernAmp
For massive performance improvements, compile CavernAmp and place its build next
to Cavern.QuickEQ.dll
. It doesn't require any code changes, but it only runs
on Windows.
Development documents
- Scripting API with descriptions of all public members for all public classes
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Cavern (>= 2.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.