Rapture3D Universal SDK
Rapture3D Universal is a high performance buffer-based DSP software library for realtime 3D audio rendering in gaming and Virtual Reality.
It is designed to work well with our O3A studio VST plugins, which allow detailed off-line editing of 3D audio scenes for use in linear or interactive content.
This package is a professional software development kit (SDK) for Windows (XP+) or macOS (10.5+) including:
- Native C/C++ integration, including a header file and redistributable.
- Unity v5 integration, including redistributable native plugins and C# scripts.
Deployment platforms supported:
- Apple Mac macOS 10.5 to 10.12, Intel 32bit/64bit Universal Binary (macOS SDK).
- Windows XP, Win7, Win8, Win10, Intel 32bit/64bit (Windows SDK).
- Android R9 and later, armeabi-v7a or x86 (macOS and Windows SDKs).
- iOS 8 and later (macOS SDK).
We use some free software in this product. Before purchase, please check the license agreement. Prices include VAT where applicable. By beginning the payment process you agree to be bound by our terms and conditions.
Rapture3D Universal in Gaming
The core of Rapture3D Universal is a high quality, high performance audio engine that can be used in computer games to perform mixing and 3D spatialisation. It is highly configurable, and can be used as a "classic" game engine, allowing large numbers of sound objects to be spatialised and mixed live into a 3D audio scene, with reverb.
Rapture3D Universal is different from our older Rapture3D OpenAL driver in that it does not access audio hardware directly. Instead, it is entirely buffer-based, to make it easier to integrate with more complex audio pipelines (like in Unity). It also has a built-in set of high quality decoders ("HOA renderers") which determine the types of output it can produce; this makes deployment much simpler. Rapture3D Universal also has its own new C/C++ interface (it does not use OpenAL).
Rapture3D Universal for Virtual Reality - A New Workflow
The approach above can also be used in Virtual Reality experiences. Here, you will normally want to switch to use binaural output, for 3D audio on headphones. Rapture3D Universal currently supports six different "HRTFs" to cover different head shapes.
However, Rapture3D Universal includes features that takes it to another level. Like our OpenAL driver, Rapture3D can present pre-rendered multichannel "beds" to the listener, including ambisonic beds. This allows a new workflow for Virtual Reality, where complete high resolution 3D audio scenes can be assembled using our third order ambisonic O3A studio plugins, stored into an SN3D sound file, and then played back using Rapture3D to provide a complete 3D audio scene, or parts of one. And it goes further than that!
Rapture3D can rotate the 3D audio scene to take into account the listener's relative orientation in the scene. This is normally the same orientation that is used for your Virtual Reality "camera", and may be driven by a head-tracker. This means that when you turn your head the scene can be rotated (3DOF) to compensate, so the scene seems to stay static spatially. If this is a new concept, you might want to pause for a moment and think about this - in Virtual Reality, we have to work hard to keep things "the same". Simple pre-rendered binaural stereo (e.g. from a dummy head) isn't great for immersive Virtual Reality. For instance, you can place a sound on the left in the stereo image, but if the listener then looks to the left, the sound needs to change to be at the front, or it will sound wrong. Rapture3D can sort this all out for you.
Working in O3A allows a highly detailed scene to be constructed in the studio, using many panned sources, assorted reverbs, spatial manipulations and material upmixed from other sources. And very importantly, you can even mix in material from ambisonic B-Format microphones, perhaps upsampled to third order with O3A Harpex. If you are working with film material, O3A View makes working to image straightforward, even in VR!
You can spend as long as you like in the studio getting your O3A mix absolutely right, monitoring using decoders based on the same technology as Rapture3D. But after all this, the O3A mix is just a sixteen-channel audio file containing a complete audio scene, balanced for a particular central location. You can drop this into Rapture3D and render it (potentially with head-tracking) as any other bed. And of course the rest of the game engine is available too, so you can add extra interactive source objects, other beds - and live reverb.
And a final thing we should mention here: as well as rotating beds, Rapture3D can move them around, so the listener can walk through one and into another!
Rapture3D Universal can be used as a "native plugin" in Unity v5. To make this easier, we provide a set of Unity C# scripts. Adding binaural playback of a full O3A 3D audio mix to your scene can be as simple as importing the Rapture3D Universal Unity package, placing a
R3dAudioBed.cs script on a static game object and linking it to a O3A Ogg/Vorbis file in the
Assets/StreamingAssets/ folder, and attaching a
R3dAudioListener.cs script to the Unity camera so the listener perspective changes with the camera perspective.
Rapture3D for Unity uses an additional native library ("BSR") that supports buffered audio streaming. This allows Rapture3D sources and beds to bypass the Unity audio stack and read complex multichannel audio (like O3A) from the streaming assets folder. PCM WAV and single-stream (multichannel) Ogg/Vorbis files are supported. The
R3dAudioAdapter.cs script plays more nicely with the Unity audio stack.
The Rapture3D for Unity Development Guide can be found here.
Obviously, mobile devices are still typically not as powerful as PCs, so don't expect to be able to do as much. But you may be very surprised by what Rapture3D can do on modern hardware!
Our rendering architecture is based on Higher Order Ambisonics (HOA) which, as well as allowing excellent audio quality, has some unusual performance characteristics. The cost of running a renderer at all is often higher than with other technologies, but once the renderer is running at all, the marginal cost of rendering individual sounds is generally much lower (particularly for binaural). The core 3D rendering algorithm in Rapture3D is theoretically capable of rendering thousands of sound objects on a single core of some modern phones; but in practice you won't get anywhere near this performance because you won't be able to feed audio in fast enough, particularly when streaming.
Please read the license agreement for the exact details, but the essence is that one purchase covers one developer seat, and that developer can produce as many games and VR experiences as they want. However, under this license we do restrict you from shipping software that other people can use to put together other VR experiences. For instance, you can ship an app with your own VR360 movie, but you can't ship a VR360 movie player that can play other folks' content. We also ask for a logo to be included, if there's somewhere sensible to put it.
But... please read the actual license agreement itself carefully, to keep the lawyers happy!
The heart of Rapture3D Universal is an audio engine contained a redistributable software library called "R3DU". The same engine is used for both C/C++ native deployment and in Unity.
- Efficient placement of large numbers of sources (mono sounds) and beds (multichannel sounds) into a convincing interactive 3D sound scene.
- High quality binaural stereo output for headphones, including a choice of HRTF.
- High quality 3D rendering for speakers, including stereo, 5.1 and 7.1.
Advanced Multichannel "Bed" Support
- Support for beds using pre-rendered ambisonic material, including support for 3D material mastered with Blue Ripple Sound's O3A studio tools (FuMa, N3D and SN3D are all supported). For linear content like film, one bed may be all you need.
- Advanced passive upmixing for beds from multichannel sound in conventional formats (e.g. 5.1).
- Beds can be moved around and reoriented so the player can "walk into" a pre-rendered audio scene and turn their head, or be presented with "near" and "far" field elements with slightly different parallax depending on head location.
- Broad hardware support and scalable quality settings allowing use with a wide range of devices.
- Internal Higher Order Ambisonic (HOA) bus which can scale from first to fifth order.
- Extremely fast SSE/NEON-optimised floating-point signal path.
- Self-contained library which does not rely on external data files or software.
- High quality sample rate conversion (also used for Doppler simulation).
- 3D spatial reverb with directivity controls, and filters for distance and occlusion simulation.
Please check that everything is okay here before purchasing software.
Software Development Kit - Operating System
Supported versions of Microsoft Windows are XP, Vista, Windows 7, Windows 8 and Windows 10. Supported versions of Apple macOS are 10.5 or later, Intel only.
Software Development Tools - C/C++
A variety of tools can be used. Supported tools are Microsoft Visual Studio 2010 on Windows and Xcode 7 on macOS.
Software Development Tools - Unity
Unity version 5 is supported. Please note that Rapture3D Universal uses native plugins which are not supported by all versions of Unity.
Software Development Kit - PC Hardware
Please check your PC meets the following requirements:
- Intel Pentium D CPU or better.
- 1GB of free disk space.
- Internal network card.
Internet Connection Required
The SDK requires an Internet Connection for license activation and verification. We don't really like this, but we can't think of a better way to discourage piracy! Please don't hack our code, it's taken a lot of effort to get it this far...
Successful license verification isn't required every time you use the software, but it is needed during installation and needs to succeed once every couple of weeks to keep the license fresh.
The license can be "revoked" to remove it from one machine so it can be moved on to another. You should also do this if you're updating your system in case the machine appears to have changed identity.
You'll need administrator permissions while installing. The software won't install properly using a "restricted" account.
Capabilities and performance will obviously depend on the hardware you deploy to, what other software is in use, Rapture3D settings, how much work you ask Rapture3D to do, and other factors. Please test before deploying! Rapture3D has quality settings that allow scaling onto a wide range of platforms:
- Apple macOS 10.5 to 10.11, Intel 32bit/64bit Universal Binary.
- Windows XP, Win7, Win8, Win10, Intel 32bit/64bit.
- Android R9 and later, armeabi-v7a or x86.
- iOS 8 and later.