Expand description
§VoiRS Spatial Audio System
This crate provides 3D spatial audio processing capabilities including HRTF (Head-Related Transfer Function) processing, binaural audio rendering, 3D position tracking, room acoustics simulation, and AR/VR integration.
§Features
§Core Spatial Audio
- 3D Audio Positioning: Accurate spatial audio placement using Position3D
- HRTF Processing: Head-Related Transfer Function for realistic spatial cues
- Binaural Rendering: Real-time binaural audio synthesis with up to 32 sources
- Room Acoustics: Ray-traced room simulation with material properties
- Distance Modeling: Natural distance attenuation with air absorption
§Advanced Features
- Higher-Order Ambisonics: 1st-3rd order ambisonics encoding/decoding
- VR/AR Integration: Platform support for Oculus, SteamVR, ARKit, ARCore, WMR
- Multi-user Environments: Shared spatial audio experiences with networking
- Neural Spatial Audio: AI-powered HRTF personalization and synthesis
- Gesture Control: Hand and body gesture-based audio interaction
§Platform Support
- Gaming: Unity, Unreal Engine integration via C API
- Console: PlayStation, Xbox, Nintendo Switch optimization
- Mobile: iOS and Android with power management
- Web: WebXR browser-based immersive audio
§Performance Characteristics
§Real-time Performance Targets
- VR/AR Latency: <20ms motion-to-sound latency
- Gaming Latency: <30ms for interactive applications
- General Use: <50ms for non-critical applications
- CPU Usage: <25% for real-time spatial processing
- Source Count: Supports 32+ simultaneous spatial sources
§Quality Metrics
- Localization Accuracy: 95%+ correct front/back discrimination
- Distance Accuracy: 90%+ accurate distance perception
- Elevation Accuracy: 85%+ accurate elevation perception
- Naturalness: MOS 4.2+ for spatial audio quality
§Optimization Features
- SIMD Acceleration: AVX2/AVX512/NEON optimizations for spatial math
- GPU Support: CUDA/Metal acceleration for convolution and neural processing
- Memory Pools: Efficient buffer reuse and cache optimization
- Adaptive Quality: Dynamic quality scaling based on system load
§Quick Start Examples
§Simple 3D Positioning
use voirs_spatial::{Position3D, SpatialConfig};
// Create spatial audio configuration
let config = SpatialConfig::default();
println!("Sample rate: {} Hz", config.sample_rate);
println!("Buffer size: {} samples", config.buffer_size);
// Position sound source to the right
let position = Position3D::new(2.0, 0.0, 0.0);
let distance = position.distance_to(&Position3D::new(0.0, 0.0, 0.0));
println!("Source distance: {:.2}m", distance);§Binaural Rendering with Multiple Sources
use std::sync::Arc;
use voirs_spatial::{BinauralConfig, HrtfDatabase, Position3D, SourceType};
// Create binaural renderer configuration
let config = BinauralConfig {
sample_rate: 48000,
buffer_size: 512,
hrir_length: 200,
max_sources: 8,
use_gpu: false,
crossfade_duration: 0.05,
quality_level: 0.8,
enable_distance_modeling: true,
enable_air_absorption: true,
near_field_distance: 0.2,
far_field_distance: 10.0,
optimize_for_latency: true,
};
// Create HRTF database
let hrtf_db = HrtfDatabase::load_default().await.expect("Failed to load HRTF database");
println!("HRTF database created with default settings");
// Define source positions
let front = Position3D::new(0.0, 2.0, 0.0);
let left = Position3D::new(-1.5, 1.0, 0.0);
println!("Configured binaural renderer with {} max sources", config.max_sources);§Higher-Order Ambisonics
use scirs2_core::ndarray::Array1;
use voirs_spatial::{AmbisonicsEncoder, AmbisonicsDecoder, Position3D, NormalizationScheme,
ChannelOrdering, SpeakerConfiguration};
// Create encoder and decoder
let encoder = AmbisonicsEncoder::new(2, NormalizationScheme::N3D, ChannelOrdering::ACN);
let decoder = AmbisonicsDecoder::for_speaker_config(2, SpeakerConfiguration::Stereo)?;
// Encode mono audio to ambisonics
let audio = Array1::from_vec(vec![0.0; 1000]);
let position = Position3D::new(1.0, 1.0, 0.0);
let encoded = encoder.encode_mono(&audio, &position)?;
// Decode to stereo
let stereo = decoder.decode(&encoded)?;
println!("Decoded to {} channels", stereo.shape()[0]);§Feature Flags
Enable optional features in your Cargo.toml:
[dependencies]
voirs-spatial = { version = "0.1.0-alpha.2", features = ["steamvr", "webxr"] }Available features:
gpu- GPU acceleration support (CUDA/Metal)cuda- CUDA-specific GPU accelerationmetal- Metal GPU acceleration for macOS/iOSsteamvr- SteamVR/OpenVR platform integrationwebxr- WebXR browser integrationwindows_mr- Windows Mixed Reality supportarcore- Android ARCore integrationarkit- iOS ARKit integrationall_platforms- Enable all VR/AR platforms
§Performance Tips
§For Real-time Applications
- Use smaller buffer sizes (256-512 samples) for lower latency
- Enable SIMD optimizations (automatic on supported platforms)
- Limit simultaneous sources based on target platform (8-16 for mobile, 32+ for desktop)
- Use adaptive quality settings for variable system load
§For High-Quality Rendering
- Use larger buffer sizes (1024-2048 samples) for better frequency resolution
- Enable GPU acceleration for convolution-heavy workloads
- Use higher-order ambisonics (2nd-3rd order) for better spatial resolution
- Enable full room acoustics simulation with ray tracing
§Memory Optimization
- Reuse audio buffers with
MemoryManagerbuffer pools - Enable HRTF caching for frequently-used positions
- Use distance-based culling for far-away sources
- Adjust cache policies based on available memory
§Architecture
The spatial audio system follows a modular pipeline architecture:
Input Audio → Position3D → HRTF/Ambisonics → Room Acoustics → Binaural Output
↓ ↓ ↓
Head Tracking Distance Model Reflection/ReverbEach module can be used independently or combined for complete spatial audio processing.
§Safety and Compliance
- Memory Safety: 100% safe Rust with
#![deny(unsafe_code)] - Thread Safety: Lock-free algorithms for real-time processing
- Error Handling: Comprehensive error types with recovery suggestions
- SciRS2 Integration: Uses SciRS2-Core for scientific computing abstractions
Re-exports§
pub use ambisonics::channel_count;pub use ambisonics::AmbisonicsDecoder;pub use ambisonics::AmbisonicsEncoder;pub use ambisonics::AmbisonicsOrder;pub use ambisonics::AmbisonicsProcessor;pub use ambisonics::ChannelOrdering;pub use ambisonics::NormalizationScheme;pub use ambisonics::SpeakerConfiguration;pub use ambisonics::SphericalCoordinate;pub use ambisonics::SphericalHarmonics;pub use automotive::AcousticTreatment;pub use automotive::AdaptiveVolumeConfig;pub use automotive::AudioZone;pub use automotive::DashboardSide;pub use automotive::DriverProtectionConfig;pub use automotive::EmergencyAlertType;pub use automotive::EmergencyAudioConfig;pub use automotive::EngineNoiseCompensation;pub use automotive::EngineType;pub use automotive::ExternalAwarenessConfig;pub use automotive::ExternalConditions;pub use automotive::FrequencyBand;pub use automotive::FrequencyWeighting;pub use automotive::GearPosition;pub use automotive::HearingCharacteristics;pub use automotive::HvacConfig;pub use automotive::HvacState;pub use automotive::InteriorMaterials;pub use automotive::LegalComplianceConfig;pub use automotive::MaterialType;pub use automotive::NoiseCompensationConfig;pub use automotive::PassengerActivity;pub use automotive::PassengerConfig;pub use automotive::PassengerInfo;pub use automotive::PassengerPreferences;pub use automotive::PrecipitationType;pub use automotive::ResourceUsage;pub use automotive::RoadNoiseCompensation;pub use automotive::SafetyConfig;pub use automotive::SeatPosition;pub use automotive::SpatialPreferences;pub use automotive::SpeakerCharacteristics;pub use automotive::SpeakerMounting;pub use automotive::SpeakerType;pub use automotive::SurfaceType;pub use automotive::TimeLimits;pub use automotive::TireNoiseModel;pub use automotive::TireType;pub use automotive::VehicleAcousticConfig;pub use automotive::VehicleAudioConfig;pub use automotive::VehicleAudioConfigBuilder;pub use automotive::VehicleAudioMetrics;pub use automotive::VehicleAudioProcessor;pub use automotive::VehicleSide;pub use automotive::VehicleSpeaker;pub use automotive::VehicleSpeakerConfig;pub use automotive::VehicleState;pub use automotive::VehicleType;pub use automotive::VentPosition;pub use automotive::WindNoiseCompensation;pub use automotive::WindowConfig;pub use automotive::WindowState;pub use automotive::WindowTinting;pub use automotive::ZoneAudioSource;pub use beamforming::AdaptationConfig;pub use beamforming::BeamPattern;pub use beamforming::BeamformerWeights;pub use beamforming::BeamformingAlgorithm;pub use beamforming::BeamformingConfig;pub use beamforming::BeamformingProcessor;pub use beamforming::DoaResult;pub use beamforming::SpatialSmoothingConfig;pub use binaural::BinauralConfig;pub use binaural::BinauralMetrics;pub use binaural::BinauralRenderer;pub use binaural::SourceType;pub use compression::AdaptiveParams;pub use compression::CompressedFrame;pub use compression::CompressionCodec;pub use compression::CompressionQuality;pub use compression::CompressionStats;pub use compression::PerceptualParams;pub use compression::SourceClustering;pub use compression::SpatialCompressionConfig;pub use compression::SpatialCompressor;pub use compression::SpatialMetadata;pub use compression::SpatialParams;pub use compression::TemporalMasking;pub use config::SpatialConfig;pub use config::SpatialConfigBuilder;pub use core::SpatialProcessor;pub use core::SpatialProcessorBuilder;pub use gaming::console;pub use gaming::AttenuationCurve;pub use gaming::AttenuationSettings;pub use gaming::AudioCategory;pub use gaming::GameAudioSource;pub use gaming::GameEngine;pub use gaming::GamingAudioManager;pub use gaming::GamingConfig;pub use gaming::GamingMetrics;pub use gestures::AudioAction;pub use gestures::GestureBuilder;pub use gestures::GestureConfidence;pub use gestures::GestureConfig;pub use gestures::GestureController;pub use gestures::GestureData;pub use gestures::GestureDirection;pub use gestures::GestureEvent;pub use gestures::GestureEventType;pub use gestures::GestureRecognitionMethod;pub use gestures::GestureType;pub use gestures::Hand;pub use gpu::GpuAmbisonics;pub use gpu::GpuConfig;pub use gpu::GpuConvolution;pub use gpu::GpuDevice;pub use gpu::GpuResourceManager;pub use gpu::GpuSpatialMath;pub use haptic::AudioHapticMapping;pub use haptic::DistanceAttenuation;pub use haptic::HapticAccessibilitySettings;pub use haptic::HapticAudioConfig;pub use haptic::HapticAudioProcessor;pub use haptic::HapticCapabilities;pub use haptic::HapticComfortSettings;pub use haptic::HapticDevice;pub use haptic::HapticEffectType;pub use haptic::HapticElement;pub use haptic::HapticMetrics;pub use haptic::HapticPattern;pub use haptic::PatternStyle;pub use hrtf::ai_personalization::AdaptationStrategy;pub use hrtf::ai_personalization::AiHrtfPersonalizer;pub use hrtf::ai_personalization::AnthropometricMeasurements;pub use hrtf::ai_personalization::HrtfModifications;pub use hrtf::ai_personalization::PerceptualFeedback;pub use hrtf::ai_personalization::PersonalizationConfig;pub use hrtf::ai_personalization::PersonalizationMetadata;pub use hrtf::ai_personalization::PersonalizedHrtf;pub use hrtf::ai_personalization::TrainingResults;pub use hrtf::HrtfDatabase;pub use hrtf::HrtfProcessor;pub use memory::cache_optimization;pub use memory::Array2Pool;pub use memory::BufferPool;pub use memory::CacheManager;pub use memory::CachePolicy;pub use memory::MemoryConfig;pub use memory::MemoryManager;pub use memory::MemoryStatistics;pub use mobile::android;pub use mobile::ios;pub use mobile::MobileConfig;pub use mobile::MobileDevice;pub use mobile::MobileMetrics;pub use mobile::MobileOptimizer;pub use mobile::MobilePlatform;pub use mobile::PowerState;pub use mobile::QualityPreset;pub use multiuser::AccessibilitySettings;pub use multiuser::AcousticSettings;pub use multiuser::AudioEffect;pub use multiuser::AudioEffectsProcessor;pub use multiuser::AudioQualityMetrics;pub use multiuser::AudioSourceType;pub use multiuser::BandwidthSettings;pub use multiuser::CodecState;pub use multiuser::CodecTiming;pub use multiuser::CompensationMethod;pub use multiuser::ConnectionStatus;pub use multiuser::DirectionalPattern;pub use multiuser::DisconnectReason;pub use multiuser::InterpolationMethod;pub use multiuser::LatencyCompensator;pub use multiuser::LowBandwidthMode;pub use multiuser::MicrophoneSettings;pub use multiuser::MixerConfig;pub use multiuser::MultiUserAttenuationCurve;pub use multiuser::MultiUserAudioProcessor;pub use multiuser::MultiUserAudioSource;pub use multiuser::MultiUserConfig;pub use multiuser::MultiUserConfigBuilder;pub use multiuser::MultiUserEnvironment;pub use multiuser::MultiUserEvent;pub use multiuser::MultiUserMetrics;pub use multiuser::MultiUserUser;pub use multiuser::NetworkEventType;pub use multiuser::NetworkStats;pub use multiuser::OptimizationLevel;pub use multiuser::Permission;pub use multiuser::PermissionSystem;pub use multiuser::PositionInterpolator;pub use multiuser::PositionSnapshot;pub use multiuser::RoomId;pub use multiuser::SourceAccessControl;pub use multiuser::SourceId;pub use multiuser::SourceProcessingState;pub use multiuser::SourceQualitySettings;pub use multiuser::SourceVisibility;pub use multiuser::SpatialAudioMixer;pub use multiuser::SpatialProperties;pub use multiuser::SpatialZone;pub use multiuser::SynchronizationManager;pub use multiuser::SynchronizedClock;pub use multiuser::UserId;pub use multiuser::UserRole;pub use multiuser::VadAlgorithm;pub use multiuser::VadState;pub use multiuser::VadThresholds;pub use multiuser::VoiceActivityDetector;pub use multiuser::ZoneAudioProperties;pub use multiuser::ZoneBounds;pub use multiuser::ZoneType;pub use neural::AdaptiveQualityController;pub use neural::AugmentationConfig;pub use neural::ConvolutionalModel;pub use neural::FeedforwardModel;pub use neural::LossFunction;pub use neural::NeuralInputFeatures;pub use neural::NeuralModel;pub use neural::NeuralModelType;pub use neural::NeuralPerformanceMetrics;pub use neural::NeuralSpatialConfig;pub use neural::NeuralSpatialConfigBuilder;pub use neural::NeuralSpatialOutput;pub use neural::NeuralSpatialProcessor;pub use neural::NeuralTrainer;pub use neural::NeuralTrainingResults;pub use neural::OptimizerType;pub use neural::RealtimeConstraints;pub use neural::TrainingConfig;pub use neural::TransformerModel;pub use performance::PerformanceConfig;pub use performance::PerformanceMetrics;pub use performance::PerformanceReport;pub use performance::PerformanceSummary;pub use performance::PerformanceTargetResult;pub use performance::PerformanceTestSuite;pub use performance::ResourceMonitor;pub use performance::ResourceStatistics;pub use performance_targets::LatencyMeasurements;pub use performance_targets::PerformanceTargetReport;pub use performance_targets::PerformanceTargetValidator;pub use performance_targets::PerformanceTargets;pub use performance_targets::PerformanceValidationResult;pub use performance_targets::QualityMeasurements;pub use performance_targets::QualityTargets;pub use performance_targets::RealtimeTargets;pub use performance_targets::ResourceMeasurements;pub use performance_targets::ResourceTargets;pub use performance_targets::ResourceUsageStats;pub use performance_targets::ScalabilityMeasurements;pub use performance_targets::ScalabilityTargets;pub use performance_targets::TargetCategory;pub use performance_targets::TargetComparison;pub use platforms::ARCorePlatform;pub use platforms::ARKitPlatform;pub use platforms::DeviceInfo;pub use platforms::EyeData;pub use platforms::EyeTrackingData;pub use platforms::GenericPlatform;pub use platforms::HandData;pub use platforms::HandGesture;pub use platforms::HandTrackingData;pub use platforms::OculusPlatform;pub use platforms::PlatformCapabilities;pub use platforms::PlatformFactory;pub use platforms::PlatformIntegration;pub use platforms::PlatformTrackingData;pub use platforms::PoseData;pub use platforms::TrackingConfig;pub use platforms::TrackingQuality;pub use platforms::TrackingState;pub use platforms::WMRPlatform;pub use plugins::PluginCapabilities;pub use plugins::PluginConfig;pub use plugins::PluginManager;pub use plugins::PluginParameter;pub use plugins::PluginParameters;pub use plugins::PluginState;pub use plugins::ProcessingChain;pub use plugins::ProcessingContext;pub use plugins::ReverbPlugin;pub use plugins::SpatialPlugin;pub use position::advanced_prediction::AdaptationPhase;pub use position::advanced_prediction::AdvancedPredictiveTracker;pub use position::advanced_prediction::ModelSelectionStrategy;pub use position::advanced_prediction::MotionPattern;pub use position::advanced_prediction::MotionPatternType;pub use position::advanced_prediction::PatternRecognitionConfig;pub use position::advanced_prediction::PredictedPosition;pub use position::advanced_prediction::PredictionMetrics;pub use position::advanced_prediction::PredictionModelType;pub use position::advanced_prediction::PredictiveTrackingConfig;pub use position::Box3D;pub use position::CalibrationData;pub use position::ComfortSettings;pub use position::DopplerProcessor;pub use position::DynamicSource;pub use position::DynamicSourceManager;pub use position::HeadTracker;pub use position::Listener;pub use position::ListenerMovementSystem;pub use position::MotionPredictor;pub use position::MotionSnapshot;pub use position::MovementConstraints;pub use position::MovementMetrics;pub use position::OcclusionDetector;pub use position::OcclusionMaterial;pub use position::OcclusionMethod;pub use position::OcclusionResult;pub use position::PlatformData;pub use position::PlatformType;pub use position::SoundSource;pub use position::SpatialSourceManager;pub use power::DeviceType;pub use power::PowerConfig;pub use power::PowerMetrics;pub use power::PowerOptimizer;pub use power::PowerProfile;pub use power::PowerStrategy;pub use room::adaptive_acoustics::AdaptationAction;pub use room::adaptive_acoustics::AdaptationController;pub use room::adaptive_acoustics::AdaptationMetrics;pub use room::adaptive_acoustics::AdaptationTrigger;pub use room::adaptive_acoustics::AdaptiveAcousticEnvironment;pub use room::adaptive_acoustics::AdaptiveAcousticsConfig;pub use room::adaptive_acoustics::EnvironmentSensors;pub use room::adaptive_acoustics::EnvironmentSnapshot;pub use room::adaptive_acoustics::EnvironmentType;pub use room::adaptive_acoustics::SensorConfig;pub use room::adaptive_acoustics::UserFeedback;pub use room::ConnectionAcousticProperties;pub use room::ConnectionState;pub use room::ConnectionType;pub use room::GlobalAcousticConfig;pub use room::MultiRoomEnvironment;pub use room::Room;pub use room::RoomAcoustics;pub use room::RoomConnection;pub use room::RoomSimulator;pub use smart_speakers::ArrayMetrics;pub use smart_speakers::ArrayTopology;pub use smart_speakers::AudioFormat;pub use smart_speakers::AudioRoute;pub use smart_speakers::AudioRouter;pub use smart_speakers::AudioSource;pub use smart_speakers::AudioSpecs;pub use smart_speakers::CalibrationEngine;pub use smart_speakers::CalibrationMethod;pub use smart_speakers::CalibrationResults;pub use smart_speakers::CalibrationStatus;pub use smart_speakers::ClockSource;pub use smart_speakers::CompressionConfig;pub use smart_speakers::DeviceFilter;pub use smart_speakers::DirectivityPattern;pub use smart_speakers::DiscoveryProtocol;pub use smart_speakers::DiscoveryService;pub use smart_speakers::DspFeature;pub use smart_speakers::EQFilter;pub use smart_speakers::FilterType;pub use smart_speakers::LimitingConfig;pub use smart_speakers::MixSettings;pub use smart_speakers::NetworkConfig;pub use smart_speakers::NetworkInfo;pub use smart_speakers::NetworkProtocol;pub use smart_speakers::ProcessingConfig;pub use smart_speakers::ProcessingStep;pub use smart_speakers::RoomCorrection;pub use smart_speakers::SmartSpeaker;pub use smart_speakers::SpeakerArrayConfig;pub use smart_speakers::SpeakerArrayConfigBuilder;pub use smart_speakers::SpeakerArrayManager;pub use smart_speakers::SpeakerCapabilities;pub use smart_speakers::SyncConfig;pub use technical_testing::create_standard_technical_configs;pub use technical_testing::LatencyAnalysis;pub use technical_testing::MemoryConstraints;pub use technical_testing::PlatformAnalysis;pub use technical_testing::PlatformTestResult;pub use technical_testing::StabilityAnalysis;pub use technical_testing::StressTestParams;pub use technical_testing::TechnicalSuccessCriteria;pub use technical_testing::TechnicalTestConfig;pub use technical_testing::TechnicalTestParameters;pub use technical_testing::TechnicalTestReport;pub use technical_testing::TechnicalTestResult;pub use technical_testing::TechnicalTestSuite;pub use technical_testing::TechnicalTestType;pub use technical_testing::TestOutcome;pub use telepresence::AcousticEchoSettings;pub use telepresence::AcousticMatchingSettings;pub use telepresence::AcousticProperties;pub use telepresence::AdaptiveQualitySettings;pub use telepresence::AirAbsorptionSettings;pub use telepresence::AnonymizationMethod;pub use telepresence::AnonymizationSettings;pub use telepresence::AudioCodec;pub use telepresence::AudioDeviceConfig;pub use telepresence::AudioEnhancementSettings;pub use telepresence::AudioFormat as TelepresenceAudioFormat;pub use telepresence::AudioMetadata;pub use telepresence::AudioPresenceSettings;pub use telepresence::AudioQualityPreferences;pub use telepresence::AudioQualitySettings;pub use telepresence::BandwidthConstraints;pub use telepresence::BandwidthExtensionSettings;pub use telepresence::CodecPreferences;pub use telepresence::CompressionSettings;pub use telepresence::ConsentManagementSettings;pub use telepresence::CrossRoomSettings;pub use telepresence::DataCollectionSettings;pub use telepresence::DistanceModelingSettings;pub use telepresence::DopplerEffectsSettings;pub use telepresence::EchoCancellationSettings;pub use telepresence::EnvironmentalAwarenessSettings;pub use telepresence::EqualizationSettings;pub use telepresence::HeadTrackingSettings;pub use telepresence::HrtfPersonalizationSettings;pub use telepresence::NetworkSettings;pub use telepresence::NoiseSuppressionSettings;pub use telepresence::Orientation;pub use telepresence::PresenceIndicatorSettings;pub use telepresence::PrivacySettings;pub use telepresence::QualityLevel;pub use telepresence::QualitySettings;pub use telepresence::ReceivedAudio;pub use telepresence::RoomSimulationSettings;pub use telepresence::SessionJoinResult;pub use telepresence::SessionState;pub use telepresence::SessionStatistics;pub use telepresence::SpatialTelepresenceSettings;pub use telepresence::TelepresenceAudioSettings;pub use telepresence::TelepresenceConfig;pub use telepresence::TelepresenceProcessor;pub use telepresence::TelepresenceSession;pub use telepresence::TrackingPredictionSettings;pub use telepresence::UserConfig;pub use telepresence::VadSettings;pub use telepresence::Velocity;pub use telepresence::VirtualRoomParameters;pub use telepresence::VisualPresenceSettings;pub use telepresence::VoiceProcessingSettings;pub use telepresence::VoiceSpatializationSettings;pub use types::AudioChannel;pub use types::BinauraAudio;pub use types::Position3D;pub use types::SIMDSpatialOps;pub use types::SpatialEffect;pub use types::SpatialRequest;pub use types::SpatialResult;pub use validation::create_standard_test_configs;pub use validation::create_test_subjects;pub use validation::AccuracyMetrics;pub use validation::AudioExpertise;pub use validation::ExperienceLevel;pub use validation::Gender;pub use validation::HearingAbility;pub use validation::PerceptualTestSuite;pub use validation::PopulationAnalysis;pub use validation::ResponseData;pub use validation::StimulusData;pub use validation::SubjectiveRatings;pub use validation::SuccessCriteria;pub use validation::TestParameters;pub use validation::TestStatistics;pub use validation::TestSubject;pub use validation::ValidationReport;pub use validation::ValidationTestConfig;pub use validation::ValidationTestResult;pub use validation::ValidationTestType;pub use visual_audio::AnimationParams;pub use visual_audio::AnimationType;pub use visual_audio::AudioVisualMapping;pub use visual_audio::ColorRGBA;pub use visual_audio::ColorScheme;pub use visual_audio::ColorSchemeType;pub use visual_audio::DirectionZone;pub use visual_audio::DirectionalCueMapping;pub use visual_audio::EasingFunction;pub use visual_audio::EventTriggerMapping;pub use visual_audio::FrequencyVisualMapping;pub use visual_audio::OnsetTrigger;pub use visual_audio::RhythmTrigger;pub use visual_audio::ScalingCurve;pub use visual_audio::ShapeType;pub use visual_audio::SilenceTrigger;pub use visual_audio::SpectralTrigger;pub use visual_audio::VisualAccessibilitySettings;pub use visual_audio::VisualAudioConfig;pub use visual_audio::VisualAudioMetrics;pub use visual_audio::VisualAudioProcessor;pub use visual_audio::VisualDisplay;pub use visual_audio::VisualDisplayCapabilities;pub use visual_audio::VisualDistanceAttenuation;pub use visual_audio::VisualEffect;pub use visual_audio::VisualElement;pub use visual_audio::VisualElementType;pub use visual_audio::VisualPerformanceSettings;pub use visual_audio::VisualResourceUsage;pub use visual_audio::VisualSyncSettings;pub use webxr::utils as webxr_utils;pub use webxr::BrowserType;pub use webxr::WebXRCapabilities;pub use webxr::WebXRConfig;pub use webxr::WebXRMetrics;pub use webxr::WebXRPose;pub use webxr::WebXRProcessor;pub use webxr::WebXRSessionType;pub use webxr::WebXRSourceType;pub use wfs::ArrayGeometry;pub use wfs::PreEmphasisConfig;pub use wfs::WfsArrayBuilder;pub use wfs::WfsConfig;pub use wfs::WfsDrivingFunction;pub use wfs::WfsProcessor;pub use wfs::WfsSource;pub use wfs::WfsSourceType;
Modules§
- ambisonics
- Ambisonics Spatial Audio System
- automotive
- Automotive Spatial Audio System
- backends
- ONNX and other inference backends for spatial audio Backend implementations for spatial audio processing.
- beamforming
- Beamforming implementation for directional audio capture and playback
- binaural
- Real-time binaural audio rendering system
- compression
- Spatial Audio Compression for efficient transmission and storage
- config
- Configuration for spatial audio processing
- core
- Core spatial audio processing functionality
- gaming
- Gaming Engine Integration for VoiRS Spatial Audio
- gestures
- Gesture Control System for Spatial Audio
- gpu
- GPU Acceleration for Spatial Audio Processing
- haptic
- Haptic Integration for Spatial Audio
- hrtf
- HRTF (Head-Related Transfer Function) processing for spatial audio
- memory
- Memory Management and Cache Optimization Module
- mobile
- Mobile Platform Optimizations for VoiRS Spatial Audio
- multiuser
- Multi-user Spatial Audio System
- neural
- Neural Spatial Audio System
- performance
- Performance Testing and Validation for Spatial Audio
- performance_
targets - Performance Target Validation System
- platforms
- VR/AR Platform Integration Module
- plugins
- Plugin System for VoiRS Spatial Audio
- position
- Position tracking and listener/source management
- power
- Power Consumption Optimization for VoiRS Spatial Audio
- prelude
- Prelude module for convenient imports
- public_
spaces - Public Spaces Spatial Audio System
- realtime
- Real-time Audio Processing Module
- room
- Room acoustics simulation and reverberation processing
- smart_
speakers - Smart Speaker Arrays for Multi-Speaker Spatial Audio
- technical_
testing - Comprehensive Technical Testing Suite
- telepresence
- High-Fidelity Spatial Telepresence System
- types
- Core types for spatial audio processing
- utils
- Utility functions for spatial audio processing
- validation
- Perceptual Validation Testing Suite
- visual_
audio - Visual Audio Integration for Spatial Audio
- webxr
- WebXR Integration for VoiRS Spatial Audio
- wfs
- Wave Field Synthesis (WFS) implementation for advanced spatial audio reproduction
Structs§
- Error
Context - Error context for additional debugging information
Enums§
- Audio
Buffer Issue - Audio buffer issue types
- Audio
Error - Audio-specific errors
- Config
Error - Configuration-specific errors
- Error
- Error types for spatial audio processing
- Error
Code - Error codes for programmatic error handling
- GpuError
- GPU-specific errors
- Hrtf
Error - HRTF-specific errors
- Memory
Error - Memory-specific errors
- Platform
Error - Platform-specific errors
- Position
Error - Position-specific errors
- Processing
Error - Processing-specific errors
- Room
Error - Room acoustics errors
- Validation
Error - Validation-specific errors
Type Aliases§
- Result
- Result type for spatial audio operations