Cavern 1.5.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Cavern --version 1.5.0
NuGet\Install-Package Cavern -Version 1.5.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cavern" Version="1.5.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cavern --version 1.5.0
#r "nuget: Cavern, 1.5.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Cavern as a Cake Addin
#addin nuget:?package=Cavern&version=1.5.0

// Install Cavern as a Cake Tool
#tool nuget:?package=Cavern&version=1.5.0

Cavern

Cavern is a fully adaptive object-based audio engine and upmixer without limitations for home, cinema, and stage use. This repository features a Unity plugin and a standalone converter in C++.

Build Status GitHub release (latest by date) GitHub commits since latest release (by date) Lines of Code

Features

  • Unlimited objects and output channels without position restrictions
  • Custom audio format for storing spatial mixes
  • Upconverter for regular surround mixes
  • Full cinema and stage support with realtime conversion
  • Cavern QuickEQ corrects the room's frequency response in seconds
  • HRIR headphone virtualizer
  • Mix repositioning based on occupied seats
  • Seat movement generation
  • Unity-like listener and source functionality
  • Ultra low latency, even the upconverter can work from as low as one sample per frame

User documentation

User documentation can be found at the Cavern documentation webpage. Please go to this page for basic setup, in-depth QuickEQ tutorials, and command-line arguments.

How to build

Cavern

Cavern is a .NET Framework project with no dependencies other than NuGet ones. Open the Cavern.sln solution with Microsoft Visual Studio 2019 or later and all projects should build.

Cavern for Unity

Open the CavernUnity DLL.sln solution with Microsoft Visual Studio 2019. Remove the references from the CavernUnity DLL project to UnityEngine and UnityEditor. Add these files from your own Unity installation as references. They are found in Editor\Data\Managed under Unity's installation folder.

Cavernize Lite

This is a Code::Blocks project, set up for the MingW compiler. No additional libraries were used, this is standard C++ code, so importing just the .cpp and .h files into any IDE will work perfectly.

Development documents

Disclaimers

Code

Cavern is a performance software written in an environment that's not ready for it. This means that clean code policies like DRY are broken many times if the code is faster this way, usually by orders of magnitude. Most changes should be benchmarked in the target environment, and the fastest code should be chosen, regardless of how bad it looks. This, however, can't result in inconsistent interfaces. In that case, wrappers should be used with the least possible method calls.

Driver

While Cavern itself is open-source, the setup utility and most converter interfaces are not, because they are built on licences not allowing it. However, their functionality is almost entirely using this plugin. Builds can be downloaded from the Cavern website.

Licence

See the LICENCE file for licence rights and limitations.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Cavern:

Package Downloads
Cavern.Format

Audio format support of the Cavern spatial audio engine.

Cavern.QuickEQ

Measurement and equalization tools for the Cavern spatial audio engine.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.2 214 10/10/2023
2.0.1 198 6/25/2023
2.0.0 178 5/28/2023
1.6.0 460 11/17/2022
1.5.0.1 386 5/31/2022
1.5.0 390 5/29/2022