1#![allow(clippy::cast_precision_loss)] #![allow(clippy::cast_possible_truncation)] #![allow(clippy::cast_sign_loss)] #![allow(clippy::missing_errors_doc)] #![allow(clippy::missing_panics_doc)] #![allow(clippy::unused_self)] #![allow(clippy::must_use_candidate)] #![allow(clippy::doc_markdown)] #![allow(clippy::unnecessary_wraps)] #![allow(clippy::float_cmp)] #![allow(clippy::match_same_arms)] #![allow(clippy::module_name_repetitions)] #![allow(clippy::struct_excessive_bools)] #![allow(clippy::too_many_lines)] #![allow(clippy::needless_pass_by_value)] #![allow(clippy::similar_names)] #![allow(clippy::unused_async)] #![allow(clippy::needless_range_loop)] #![allow(clippy::uninlined_format_args)] #![allow(clippy::manual_clamp)] #![allow(clippy::return_self_not_must_use)] #![allow(clippy::cast_possible_wrap)] #![allow(clippy::cast_lossless)] #![allow(clippy::wildcard_imports)] #![allow(clippy::format_push_string)] #![allow(clippy::redundant_closure_for_method_calls)] #![deny(unsafe_code)]
334
335pub mod ab_testing;
336pub mod adaptation;
337pub mod adversarial_robustness;
338pub mod age_gender_adaptation;
339pub mod api_standards;
340pub mod authenticity;
341pub mod auto_scaling;
342pub mod cloning_wizard;
343pub mod cloud_scaling;
344pub mod config;
345pub mod config_management;
346pub mod consent;
347pub mod consent_crypto;
348pub mod consistency_models;
349pub mod core;
350pub mod deep_mos;
351pub mod edge;
352pub mod embedding;
353pub mod emotion_transfer;
354pub mod enterprise_sso;
355pub mod error_handling;
356pub mod few_shot;
357pub mod flow_matching;
358pub mod gaming_plugins;
359pub mod gpu_acceleration;
360pub mod kernel_fusion;
361pub mod load_balancing;
362pub mod long_term_adaptation;
363pub mod long_term_stability;
364pub mod memory_optimization;
365pub mod misuse_prevention;
366pub mod mobile;
367pub mod model_loading;
368pub mod multimodal;
369pub mod neural_codec;
370pub mod perceptual_evaluation;
371pub mod performance_monitoring;
372pub mod personality;
373pub mod plugins;
374pub mod preprocessing;
375pub mod privacy_protection;
376pub mod qat;
377pub mod quality;
378pub mod quality_visualization;
379pub mod quantization;
380pub mod realtime_streaming;
381pub mod similarity;
382pub mod ssl_verification;
383pub mod storage;
384pub mod streaming_adaptation;
385pub mod thread_safety;
386pub mod types;
387pub mod usage_tracking;
388pub mod utils;
389pub mod verification;
390pub mod visual_editor;
391pub mod vits2;
392pub mod voice_aging;
393pub mod voice_library;
394pub mod voice_morphing;
395pub mod zero_shot;
396
397#[cfg(feature = "acoustic-integration")]
398pub mod acoustic;
399
400pub mod conversion;
401pub mod vocoder;
402
403#[cfg(feature = "wasm")]
404pub mod wasm;
405
406pub use ab_testing::{
408 ABTestConfig, ABTestResults, ABTestingFramework, CriteriaWeights, EvaluationResult,
409 ObjectiveComparisonResults, ObjectiveMetrics, PracticalSignificance, TestConclusion,
410 TestCondition, TestMethodology, TestStatistics, TestStatus, TestStatusType,
411};
412pub use age_gender_adaptation::{
413 AgeCategory, AgeGenderAdaptationConfig, AgeGenderAdaptationResult, AgeGenderAdapter,
414 AgeGenderModel, F0Statistics, GenderCategory, SpectralCharacteristics, VoiceAdaptationTarget,
415 VoiceCharacteristics, VoiceQualityMetrics,
416};
417pub use authenticity::{
418 ArtifactDetection, ArtifactType, AuthenticityConfig, AuthenticityDetector,
419 AuthenticityMetadata, AuthenticityResult, DetectorResult,
420};
421pub use auto_scaling::{
422 AutoScaler, AutoScalingConfig, AutoScalingStats, AutoScalingStrategy, CostImpact,
423 ExpectedImpact, InstanceHealth, InstanceState, PerformanceTier, ScalableGpuInstance,
424 ScalingAction, ScalingDecision, ScalingTrigger, WorkloadPrediction,
425};
426pub use config::{CloningConfig, CloningConfigBuilder};
427pub use config_management::{
428 ConfigChangeEvent, ConfigChangeType, ConfigFileFormat, ConfigManagerSettings, ConfigMetadata,
429 ConfigSnapshot, ConfigSource, Environment, SystemConfiguration, UnifiedConfigManager,
430 ValidationError, ValidationResult, ValidationWarning,
431};
432pub use consent::{
433 ConsentManager, ConsentPermissions, ConsentRecord, ConsentStatistics, ConsentStatus,
434 ConsentType, ConsentUsageContext, ConsentUsageResult, ConsentVerificationMethod,
435 SubjectIdentity, UsageRestrictions,
436};
437pub use core::{
438 AdaptationConfig, RealtimeSynthesisChunk, RealtimeSynthesisConfig, RealtimeSynthesisRequest,
439 RealtimeSynthesisResponse, SpeakerAdaptationResult, StreamSynthesisChunk,
440 StreamSynthesisRequest, StreamingSynthesisConfig, SynthesisConfig, VoiceCloner,
441 VoiceClonerBuilder,
442};
443pub use embedding::{SpeakerEmbedding, SpeakerEmbeddingExtractor};
444pub use emotion_transfer::{
445 EmotionCategory, EmotionTransfer, EmotionTransferConfig, EmotionTransferRequest,
446 EmotionTransferResult, EmotionTransferStatistics, EmotionalCharacteristics, ProsodyFeatures,
447};
448pub use enterprise_sso::{
449 AuthenticationMethod, AuthenticationRequest, AuthenticationResponse, AuthorizationResult,
450 EnterpriseSSOManager, JWTConfig, OAuthProvider, PasswordPolicy, Permission, PermissionScope,
451 RBACManager, Role, SAMLProvider, SSOConfig, UserSession,
452};
453pub use error_handling::{
454 ErrorClassification, ErrorContext, ErrorRecoveryManager, ErrorReport, ErrorReportingConfig,
455 ErrorSeverity, ErrorStatistics, PerformanceImpact, RecoverableError, RecoveryConfig,
456 RecoveryOperation, RecoveryProgress, RecoveryResult, RecoveryState, RecoveryStrategy,
457 RetryConfig,
458};
459pub use few_shot::{
460 DistanceMetric, FewShotConfig, FewShotLearner, FewShotMetrics, FewShotResult,
461 MetaLearningAlgorithm, SampleQuality,
462};
463pub use gaming_plugins::{
464 AudioAttenuation, AudioRolloffType, CombatState, DynamicVoiceCharacteristics, EmotionalState,
465 EnvironmentalFilter, GameContext, GameEngineType, GamePerformanceProfile, GameSession,
466 GameVoiceProfile, GameVoiceResult, GamingPluginConfig, GamingPluginManager, ReverbSettings,
467 SpatialAudioProperties, UnityPlugin, UnrealPlugin, VoiceInstance, VoicePlaybackState,
468 WeatherEffects,
469};
470pub use gpu_acceleration::{
471 GpuAccelerationConfig, GpuAccelerator, GpuDeviceType, GpuMemoryStats, GpuOperationType,
472 GpuPerformanceMetrics, GpuUtils, TensorOperation, TensorOperationResult,
473};
474pub use load_balancing::{
475 GpuAssignment, GpuDeviceInfo, GpuLoadBalancer, LoadBalancingConfig, LoadBalancingStats,
476 LoadBalancingStrategy, PerformancePrediction,
477};
478pub use long_term_adaptation::{
479 AdaptationResult, AdaptationStatistics, AdaptationStrategy, EfficiencyMetrics,
480 FeedbackCategory, FeedbackContext, FeedbackType, LongTermAdaptationConfig,
481 LongTermAdaptationEngine, ProcessingStatistics, RequestMetadata as AdaptationRequestMetadata,
482 UserFeedback,
483};
484pub use long_term_stability::{
485 RiskLevel, StabilityAssessment, StabilityCheckResult, StabilityConclusions,
486 StabilityStatistics, StabilityTestConfig, StabilityTestResults, StabilityValidator,
487};
488pub use memory_optimization::{
489 AlertSeverity, AlertType, AllocationInfo, AllocationType, CacheLimits, CompressedEmbedding,
490 DetailedMemoryStats, GarbageCollectionResult, LeakDetectionConfig, LeakSummary,
491 MemoryAuditReport, MemoryIssue, MemoryIssueType, MemoryLeakDetector, MemoryManager,
492 MemoryOptimizationConfig, MemoryOptimizationRecommendation, MemoryPool, MemoryPoolSizes,
493 MemoryPoolStats, MemoryRecommendation, MemoryStats, OptimizationCategory, OptimizationImpact,
494 PerformanceImpactAnalysis, PooledObject, RecommendationPriority, RecommendationType,
495};
496pub use mobile::{
497 CacheStrategy, MobileCloningConfig, MobileCloningStats, MobileDeviceInfo, MobilePlatform,
498 MobileVoiceCloner, NeonCloningOptimizer, PowerMode, ThermalState,
499};
500pub use model_loading::{
501 LoadingMetrics, LoadingStrategy, MemoryPressureLevel, ModelInterface, ModelLoadingConfig,
502 ModelLoadingManager, ModelMemoryManager, ModelMetadata, ModelPreloader, PreloadPriority,
503 PreloadRequest, UsagePatternAnalyzer,
504};
505pub use multimodal::{
506 AudioVisualAligner, ExpressionAnalysis, FacialGeometry, FacialGeometryAnalyzer, HeadPose,
507 LipFeatures, LipMovementAnalyzer, MultimodalCloneRequest, MultimodalCloner, MultimodalConfig,
508 VisualDataType, VisualFeatureExtractor, VisualFeatures, VisualSample,
509};
510pub use neural_codec::{
511 CodecCompressionRequest, CodecCompressionResult, CodecDecompressionResult, CodecMetadata,
512 CodecPerformanceStats, CodecQualityMetrics, NeuralCodec, NeuralCodecConfig, NeuralCodecManager,
513};
514pub use perceptual_evaluation::{
515 AgeGroup, AudioExperience, EvaluationResponse, EvaluationResults, EvaluationSample,
516 EvaluationScores, EvaluationStudy, ExpertiseLevel, HearingStatus, PerceptualEvaluationConfig,
517 PerceptualEvaluator, StudyResults,
518};
519pub use performance_monitoring::{
520 AdaptationMonitor, PerformanceMeasurement, PerformanceMetrics, PerformanceMonitor,
521 PerformanceStatistics, PerformanceTargets, TargetResults,
522};
523pub use personality::{
524 AnalysisMetadata, ConversationalStyle, LinguisticPreferences, PersonalityComponents,
525 PersonalityProfile, PersonalityTraits, PersonalityTransferConfig, PersonalityTransferEngine,
526 SpeakingPatterns, TransferStats,
527};
528pub use plugins::{
529 CloningPlugin, ExamplePlugin, ParameterConstraints, ParameterType, ParameterValue,
530 PluginCapabilities, PluginConfig, PluginContext, PluginDependency, PluginHealth,
531 PluginHealthStatus, PluginManager, PluginManagerConfig, PluginManifest, PluginMemoryStats,
532 PluginMetrics, PluginOperationMetrics, PluginParameter, PluginPerformanceMetrics,
533 PluginRegistry, PluginValidationResult,
534};
535pub use preprocessing::{AudioPreprocessor, PreprocessingPipeline};
536pub use quality::{CloningQualityAssessor, QualityMetrics};
537pub use quantization::{
538 LayerQuantizationConfig, ModelQuantizer, QuantizationConfig, QuantizationMemoryAnalysis,
539 QuantizationMethod, QuantizationPrecision, QuantizationResult, QuantizationStatsSummary,
540 QuantizedTensor,
541};
542pub use realtime_streaming::{
543 AdaptiveQualityController, AudioChunk, AudioDeviceConfig, AudioInputStream, AudioOutputStream,
544 LatencyMode, NetworkConditions, QualityAdaptationStrategy, RealtimeStreamingEngine,
545 SessionState, StreamingConfig, StreamingMetrics, StreamingSession, StreamingSessionType,
546 VADAlgorithm, VoiceActivityDetector, VoiceProcessingPipeline,
547};
548pub use similarity::{SimilarityMeasurer, SimilarityScore};
549pub use storage::{
550 AccessStats, CompressionAlgorithm, CompressionInfo, CompressionStatistics, HealthIndicators,
551 MaintenanceReport, MaintenanceStatistics, ModelFilter, SpeakerInfo, StorageConfig, StorageInfo,
552 StorageOperation, StorageOperationResult, StorageStatistics, StorageTier, StoredModelMetadata,
553 VoiceCharacteristicsSummary, VoiceModelStorage,
554};
555pub use streaming_adaptation::{
556 AdaptationStep, StreamingAdaptationConfig, StreamingAdaptationManager,
557 StreamingAdaptationManagerStats, StreamingAdaptationResult, StreamingAdaptationSession,
558 StreamingAdaptationStats,
559};
560pub use thread_safety::{
561 CacheStats, ComponentHealthMonitor, ComponentRegistry, ComponentStatus, ModelCache,
562 OperationCoordinator, OperationGuard, OperationState, OperationStatus,
563 PerformanceMetrics as ThreadPerformanceMetrics, ResourceLimits, ResourceMonitor,
564};
565pub use types::{
566 CloningMethod, SpeakerData, SpeakerProfile, VoiceCloneRequest, VoiceCloneResult, VoiceSample,
567};
568pub use usage_tracking::{
569 CloningOperation, CloningOperationType, ComplianceStatus, OperationRecord,
570 OperationRequestMetadata as RequestMetadata, Priority, ResourceUsage, UsageOutcome,
571 UsageRecord, UsageStatistics, UsageStatus, UsageTracker, UsageTrackingConfig, UserContext,
572 UserPreferences,
573};
574pub use verification::{SpeakerVerifier, VerificationResult};
575pub use vits2::{
576 Vits2Cloner, Vits2Config, Vits2PerformanceStats, Vits2QualityMetrics, Vits2SynthesisRequest,
577 Vits2SynthesisResult,
578};
579pub use voice_aging::{
580 AgeTransition, AgingCharacteristics, AgingCurveType, AgingFactors, AgingQuality,
581 AgingStatistics, ArticulatoryAging, FormantAging, ProsodicAging, RespiratoryAging,
582 StabilityFactors, TemporalModel, TransitionType, VariationFactors, VoiceAgingConfig,
583 VoiceAgingEngine, VoiceAgingModel, VoiceAgingResult, VoiceQualityAging,
584};
585pub use voice_morphing::{
586 InterpolationMethod, MorphingWeight, RealtimeMorphingSession, VoiceMorpher,
587 VoiceMorphingConfig, VoiceMorphingRequest, VoiceMorphingResult,
588};
589pub use zero_shot::{
590 ReferenceVoice, ZeroShotCloner, ZeroShotConfig, ZeroShotMethod, ZeroShotResult,
591};
592
593#[cfg(feature = "wasm")]
594pub use wasm::{
595 WasmCloneRequest, WasmCloneResult, WasmCloningConfig, WasmConsentRecord, WasmQualityMetrics,
596 WasmSpeakerProfile, WasmVerificationResult, WasmVoiceCloner, WasmVoiceSample,
597};
598
599pub type Result<T> = std::result::Result<T, Error>;
601
602#[derive(Debug, thiserror::Error)]
604pub enum Error {
605 #[error("Configuration error: {0}")]
607 Config(String),
608
609 #[error("Processing error: {0}")]
611 Processing(String),
612
613 #[error("Model error: {0}")]
615 Model(String),
616
617 #[error("Audio error: {0}")]
619 Audio(String),
620
621 #[error("Embedding error: {0}")]
623 Embedding(String),
624
625 #[error("Verification error: {0}")]
627 Verification(String),
628
629 #[error("Quality assessment error: {0}")]
631 Quality(String),
632
633 #[error("Insufficient data: {0}")]
635 InsufficientData(String),
636
637 #[error("Validation error: {0}")]
639 Validation(String),
640
641 #[error("Invalid input: {0}")]
643 InvalidInput(String),
644
645 #[error("Consent error: {0}")]
647 Consent(String),
648
649 #[error("Authentication error: {0}")]
651 Authentication(String),
652
653 #[error("Usage tracking error: {0}")]
655 UsageTracking(String),
656
657 #[error("Ethics violation: {0}")]
659 Ethics(String),
660
661 #[error("Lock error: {0}")]
663 LockError(String),
664
665 #[error("I/O error: {0}")]
667 Io(#[from] std::io::Error),
668
669 #[error("Serialization error: {0}")]
671 Serialization(#[from] serde_json::Error),
672
673 #[error("Candle error: {0}")]
675 Candle(#[from] candle_core::Error),
676}
677
678impl From<&str> for Error {
679 fn from(s: &str) -> Self {
680 Error::Processing(s.to_string())
681 }
682}
683
684impl From<String> for Error {
685 fn from(s: String) -> Self {
686 Error::Processing(s)
687 }
688}
689
690pub mod prelude {
692 pub use crate::{
693 adaptation::{AdaptationMethod, SpeakerAdapter},
694 age_gender_adaptation::{
695 AgeCategory, AgeGenderAdaptationConfig, AgeGenderAdaptationResult, AgeGenderAdapter,
696 GenderCategory, VoiceAdaptationTarget, VoiceCharacteristics,
697 },
698 auto_scaling::{
699 AutoScaler, AutoScalingConfig, AutoScalingStats, AutoScalingStrategy, CostImpact,
700 ExpectedImpact, InstanceHealth, InstanceState, PerformanceTier, ScalableGpuInstance,
701 ScalingAction, ScalingDecision, ScalingTrigger, WorkloadPrediction,
702 },
703 config::{CloningConfig, CloningConfigBuilder},
704 consent::{
705 ConsentManager, ConsentPermissions, ConsentRecord, ConsentStatistics, ConsentStatus,
706 ConsentType, ConsentUsageContext, ConsentUsageResult, ConsentVerificationMethod,
707 SubjectIdentity, UsageRestrictions,
708 },
709 core::{
710 AdaptationConfig, RealtimeSynthesisConfig, RealtimeSynthesisRequest,
711 RealtimeSynthesisResponse, SpeakerAdaptationResult, SynthesisConfig, VoiceCloner,
712 VoiceClonerBuilder,
713 },
714 embedding::{SpeakerEmbedding, SpeakerEmbeddingExtractor},
715 emotion_transfer::{
716 EmotionCategory, EmotionTransfer, EmotionTransferConfig, EmotionTransferRequest,
717 EmotionTransferResult, EmotionTransferStatistics, EmotionalCharacteristics,
718 ProsodyFeatures,
719 },
720 error_handling::{
721 ErrorClassification, ErrorContext, ErrorRecoveryManager, ErrorReport, ErrorSeverity,
722 RecoverableError, RecoveryConfig, RecoveryResult, RecoveryStrategy,
723 },
724 few_shot::{
725 DistanceMetric, FewShotConfig, FewShotLearner, FewShotMetrics, FewShotResult,
726 MetaLearningAlgorithm, SampleQuality,
727 },
728 gpu_acceleration::{
729 GpuAccelerationConfig, GpuAccelerator, GpuDeviceType, GpuMemoryStats, GpuOperationType,
730 GpuPerformanceMetrics, GpuUtils, TensorOperation, TensorOperationResult,
731 },
732 load_balancing::{
733 GpuAssignment, GpuDeviceInfo, GpuLoadBalancer, LoadBalancingConfig, LoadBalancingStats,
734 LoadBalancingStrategy, PerformancePrediction,
735 },
736 long_term_stability::{
737 RiskLevel, StabilityAssessment, StabilityCheckResult, StabilityTestConfig,
738 StabilityTestResults, StabilityValidator,
739 },
740 memory_optimization::{
741 CacheLimits, CompressedEmbedding, GarbageCollectionResult, MemoryManager,
742 MemoryOptimizationConfig, MemoryOptimizationRecommendation, MemoryPool,
743 MemoryPoolSizes, MemoryPoolStats, MemoryStats, OptimizationCategory,
744 OptimizationImpact, PooledObject,
745 },
746 mobile::{
747 CacheStrategy, MobileCloningConfig, MobileCloningStats, MobileDeviceInfo,
748 MobilePlatform, MobileVoiceCloner, NeonCloningOptimizer, PowerMode, ThermalState,
749 },
750 neural_codec::{
751 CodecCompressionRequest, CodecCompressionResult, CodecDecompressionResult,
752 CodecMetadata, CodecPerformanceStats, CodecQualityMetrics, NeuralCodec,
753 NeuralCodecConfig, NeuralCodecManager,
754 },
755 perceptual_evaluation::{
756 AgeGroup, AudioExperience, EvaluationResponse, EvaluationResults, EvaluationSample,
757 EvaluationScores, EvaluationStudy, ExpertiseLevel, HearingStatus,
758 PerceptualEvaluationConfig, PerceptualEvaluator, StudyResults,
759 },
760 performance_monitoring::{
761 AdaptationMonitor, PerformanceMeasurement, PerformanceMetrics, PerformanceMonitor,
762 PerformanceStatistics, PerformanceTargets, TargetResults,
763 },
764 personality::{
765 AnalysisMetadata, ConversationalStyle, LinguisticPreferences, PersonalityComponents,
766 PersonalityProfile, PersonalityTraits, PersonalityTransferConfig,
767 PersonalityTransferEngine, SpeakingPatterns, TransferStats,
768 },
769 plugins::{
770 CloningPlugin, ExamplePlugin, PluginCapabilities, PluginConfig, PluginContext,
771 PluginHealth, PluginHealthStatus, PluginManager, PluginManagerConfig,
772 PluginValidationResult,
773 },
774 preprocessing::{AudioPreprocessor, PreprocessingPipeline},
775 quality::{CloningQualityAssessor, QualityMetrics},
776 quantization::{
777 LayerQuantizationConfig, ModelQuantizer, QuantizationConfig,
778 QuantizationMemoryAnalysis, QuantizationMethod, QuantizationPrecision,
779 QuantizationResult, QuantizedTensor,
780 },
781 similarity::{SimilarityMeasurer, SimilarityScore},
782 storage::{
783 CompressionAlgorithm, MaintenanceReport, ModelFilter, SpeakerInfo, StorageConfig,
784 StorageInfo, StorageOperation, StorageOperationResult, StorageStatistics, StorageTier,
785 StoredModelMetadata, VoiceModelStorage,
786 },
787 streaming_adaptation::{
788 AdaptationStep, StreamingAdaptationConfig, StreamingAdaptationManager,
789 StreamingAdaptationManagerStats, StreamingAdaptationResult, StreamingAdaptationSession,
790 StreamingAdaptationStats,
791 },
792 thread_safety::{
793 CacheStats, ComponentHealthMonitor, ComponentRegistry, ComponentStatus, ModelCache,
794 OperationCoordinator, OperationState, OperationStatus,
795 PerformanceMetrics as ThreadPerformanceMetrics, ResourceLimits, ResourceMonitor,
796 UnifiedConfigManager,
797 },
798 types::{
799 CloningMethod, SpeakerData, SpeakerProfile, VoiceCloneRequest, VoiceCloneResult,
800 VoiceSample,
801 },
802 usage_tracking::{
803 CloningOperationType, OperationRecord, ResourceUsage, UsageRecord, UsageStatistics,
804 UsageStatus, UsageTracker, UsageTrackingConfig, UserContext,
805 },
806 verification::{SpeakerVerifier, VerificationResult},
807 vits2::{
808 Vits2Cloner, Vits2Config, Vits2PerformanceStats, Vits2QualityMetrics,
809 Vits2SynthesisRequest, Vits2SynthesisResult,
810 },
811 voice_aging::{
812 AgeTransition, AgingCharacteristics, AgingCurveType, AgingFactors, AgingQuality,
813 VoiceAgingConfig, VoiceAgingEngine, VoiceAgingModel, VoiceAgingResult,
814 },
815 voice_morphing::{
816 InterpolationMethod, MorphingWeight, RealtimeMorphingSession, VoiceMorpher,
817 VoiceMorphingConfig, VoiceMorphingRequest, VoiceMorphingResult,
818 },
819 zero_shot::{
820 ReferenceVoice, ZeroShotCloner, ZeroShotConfig, ZeroShotMethod, ZeroShotResult,
821 },
822 Error, Result,
823 };
824}