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)]
104#![warn(missing_docs)]
105
106pub mod adaptive_learning;
107pub mod advanced_techniques;
108pub mod ai;
109pub mod audio_processing;
110pub mod backends;
112pub mod cloud_deployment;
114pub mod composition_assistant;
116pub mod config;
117pub mod core;
118pub mod custom_score;
119pub mod effects;
120pub mod emotion_transfer;
122pub mod formats;
123pub mod gpu_acceleration;
125pub mod granular_synthesis;
126pub mod harmony;
127pub mod historical_practice;
128pub mod llm_understanding;
130pub mod models;
131pub mod multimodal;
133pub mod musical_intelligence;
134pub mod perceptual_quality;
135pub mod performance_optimization;
136pub mod performance_optimization_advanced;
138pub mod physical_modeling;
139pub mod pitch;
140pub mod pitch_simd;
142pub mod precision_quality;
143pub mod realtime;
144pub mod research_integration;
146pub mod rhythm;
147pub mod scalability;
148pub mod score;
149pub mod score_rendering;
150pub mod streaming;
152pub mod styles;
153pub mod synthesis;
154pub mod techniques;
155pub mod types;
156pub mod utils;
157pub mod vocal_effects;
158pub mod voice;
159pub mod voice_blending;
160pub mod voice_conversion;
161#[cfg(feature = "wasm-support")]
163pub mod wasm_support;
164pub mod zero_shot;
165
166pub use adaptive_learning::{
168 AdaptiveLearningConfig, AdaptiveLearningSystem, ArticulationParams, DynamicsParams,
169 LearningStatistics, ModelImprovement, PersonalizedRecommendations, QualityRatings,
170 QualityWeights, StyleAdaptation, UserFeedback, UserPreferences, VibratoParams,
171};
172pub use advanced_techniques::{
173 AdvancedArticulationProcessor, AdvancedDynamicsProcessor, AdvancedTechniques, BendCurve,
174 GraceNoteProcessor, MelismaProcessor, PitchBendProcessor, PitchBendSettings, RunPattern,
175 VocalRunProcessor, VocalRunSettings,
176};
177pub use ai::{
178 AutoHarmonizer, EmotionRecognizer, EmotionResult, ExpressionFeatures, HarmonyModel,
179 HarmonyRules, ImprovisationAssistant, StyleEmbedding, StyleMetadata, StyleTransfer,
180 StyleTransferConfig, StyleTransferResult, TransferQualityMetrics,
181};
182pub use audio_processing::{
183 DynamicRangeProcessor, HighQualityResampler, InterpolationMethod, PanLaw,
184 PhaseCoherenceProcessor, QualityLevel, StereoImagingProcessor,
185};
186pub use cloud_deployment::{
187 CloudConfig, CloudDeploymentManager, ClusterStats, JobStatus, LoadBalancingStrategy,
188 QualityTier, SynthesisJob, WorkerNode, WorkerStatus,
189};
190pub use composition_assistant::{
191 CompositionAssistant, CompositionConfig, GeneratedHarmony, GeneratedMelody, HarmonyRequest,
192 ImprovementSuggestion, MelodicAnalysis, MelodyPrompt, MusicalArrangement, RhythmPattern,
193 SuggestionType,
194};
195pub use config::{SingingConfig, SingingConfigBuilder};
196pub use core::{SingingEngine, SingingEngineBuilder};
197pub use custom_score::{OptimizedScore, PerformanceHints, ScoreOptimizer};
198pub use effects::{EffectChain, EffectProcessor, SingingEffect};
199pub use formats::{FormatParser, MidiParser, MusicXmlParser};
200pub use gpu_acceleration::{
201 DeviceType, GpuAccelerated, GpuAccelerator, GpuConfig, GpuConfigBuilder, GpuError, MemoryUsage,
202 TensorMemoryPool,
203};
204pub use granular_synthesis::{
205 GrainEnvelope, GranularConfig, GranularSynthesisEffect, GranularTexture, WindowFunction,
206};
207pub use harmony::{HarmonyArrangement, HarmonyType, MultiVoiceSynthesizer, VoicePart};
208pub use historical_practice::{
209 ArticulationStyle, ExpressionStyle, HistoricalPeriod, HistoricalPractice, OrnamentsEngine,
210 OrnamentsStyle, PeriodStyle, RegionalStyle, TuningSystem, VibratoStyle,
211};
212pub use llm_understanding::{
213 ArticulationRecommendation, DynamicSuggestion, InstructionInterpretation, LlmConfig,
214 LlmMusicalUnderstanding, LlmResponse, MusicalContext, MusicalPrompt, PhrasingBoundary,
215};
216pub use models::{
217 ModelType, SingingModel, SingingModelBuilder, TransformerConfig, TransformerSynthesisModel,
218 VoiceModel,
219};
220pub use multimodal::{
221 BlendShapeWeights, HeadMotion, MultimodalResult, MultimodalSynthesizer, PhonemeTiming,
222 SimpleNote, Viseme, VisualConfig, VisualFrame, VisualTimeline,
223};
224pub use musical_intelligence::{
225 ChordQuality, ChordRecognizer, ChordResult, KeyDetector, KeyMode, KeyResult, MusicalAnalysis,
226 MusicalIntelligence, RhythmAnalyzer, RhythmResult, ScaleAnalyzer, ScaleResult,
227};
228pub use perceptual_quality::{
229 ComprehensiveQualityReport, ExpressionReport, NaturalnessReport, PerceptualQualityTester,
230 PerformanceReport, VoiceQualityReport,
231};
232pub use performance_optimization::{
233 CompressionAlgorithm, CompressionEngine, EvictionPolicy, PrecomputationEngine, StreamingEngine,
234 StreamingQuality, VoiceCache,
235};
236pub use performance_optimization_advanced::{
237 ArchitectureCandidate, CompressedModel, DistillationConfig, DistillationResult,
238 EnergyEfficiencyConfig, EnergyEfficiencyOptimizer, EnergyOptimizationResult,
239 HardwareOptimizationResult, HardwareOptimizer, HardwareOptimizerConfig, HardwarePlatform,
240 KnowledgeDistiller, ModelCompressionConfig, ModelCompressor, NasConfig,
241 NeuralArchitectureSearcher, QatConfig, QatTrainingResult, QuantizationAwareTrainer,
242};
243pub use physical_modeling::{
244 AdvancedVocalTractModel, Complex32, PhysicalModelConfig, PhysicsAccuracyLevel, VocalTractModel,
245 VowelPreset,
246};
247pub use pitch::{PitchContour, PitchGenerator, PitchProcessor};
248pub use pitch_simd::{SimdPitchContourGenerator, SimdPitchProcessor};
249pub use precision_quality::{
250 ExpressionRecognitionReport, NaturalnessScoreReport, PitchAccuracyReport,
251 PrecisionQualityAnalyzer, TimingAccuracyReport,
252};
253pub use realtime::{LiveSession, RealtimeConfig, RealtimeEngine, RealtimeNote};
254pub use research_integration::{
255 ABTestManager,
256 AdvancedCodecConfig,
257 AdvancedNeuralCodec,
258 BatchingStrategy,
259 BottleneckDetector,
260 BottleneckReport,
261 BottleneckSeverity,
262 CacheStats,
263 CacheStrategy,
264 CircuitBreaker,
265 CircuitBreakerConfig,
266 CircuitBreakerStats,
267 CircuitState,
268 CodebookUsageStats,
269 CodecMetrics as Phase4CodecMetrics,
270 CodecStats,
272 CodecTokens,
273 ComponentHealth,
274 CompressionStats,
275 ConditioningType,
276 ConsistencyModel,
277 ConsistencyModelConfig,
278 CouplingMatrix,
279 DiffusionTransformer,
280 DiffusionTransformerConfig,
281 DiffusionTransformerInfo,
282 DistillationSchedule,
283 ExecutionTrace,
284 Experiment,
285 ExperimentMetrics,
286 ExperimentResults,
287 ExperimentStatus,
288 FallbackStrategy,
289 FieldInterpolation,
290 FlowMatchingConfig,
291 FlowMatchingObjective,
292 FlowMatchingSynthesizer,
293 GracefulDegradationManager,
294 HealthCheckThresholds,
295 HealthChecker,
296 HealthStatus,
297 HistogramStats,
298 HotReloader,
299 ImprovedRVQ,
300 InferenceConfig,
301 InferenceMetrics,
302 IntegrationMethod,
303 InterpolationMethod as VelocityInterpolationMethod,
304 LatencyOptimizer,
305 LatencyStats,
306 MetricMetadata,
307 MetricType,
308 MonitoringStats,
309 MultiScaleDiscriminator,
310 NeuralCodecConfig,
311 NeuralCodecLanguageModel,
312 NoiseSchedule,
313 OpenTelemetryTracer,
314 OptimalControl,
315 OptimalTransportConfig,
316 OptimalTransportFlow,
318 PerceptualLoss,
319 PerformanceProfiler,
320 PipelineStage,
321 PipelineStatistics,
322 PipelineVisualizer,
323 ProductionMonitor,
324 ProfileData,
325 ProfileSession,
326 ProfilingReport,
327 PrometheusMetrics,
329 QualityLevel as DegradationQualityLevel,
330 RealtimeInferenceEngine,
331 RetryExecutor,
332 RetryPolicy,
333 SamplingMethod,
334 ScoreBasedConfig,
335 ScoreBasedModel,
336 Span,
337 SpanEvent,
338 SpanStatus,
339 StageMetrics,
340 StageType,
341 TrajectoryOptimization,
342 TransportMethod,
343 TransportPlan,
344 Variant,
345 VariantResult,
346 VelocityConfig,
347 VelocityEstimation,
348 VelocityFieldPredictor,
349 WassersteinDistance,
350};
351pub use rhythm::{RhythmGenerator, RhythmProcessor, TimingController};
352pub use scalability::{
353 LargeScaleSynthesisRequest, LargeScaleSynthesisResult, MultiVoiceCoordinator,
354 PerformanceMetrics, ScalabilityConfig, ScalabilityManager, ScalabilityStatus,
355 SessionRequirements, VoiceRequirements,
356};
357pub use score::{
358 KeySignature, Mode, MusicalNote, MusicalScore, Note, ScoreProcessor, TimeSignature,
359};
360pub use score_rendering::{
361 RenderConfig, RenderFormat, ScoreRenderer, ScoreRendererBuilder, StaffPosition,
362};
363pub use styles::{
364 CulturalVariant, MusicalStyle, Ornamentation, PerformanceGuidelines, PhraseShaping,
365 StyleCharacteristics, TimbreQualities, VoiceType as StyleVoiceType,
366};
367pub use synthesis::{
368 PrecisionMetricsReport, PrecisionTargets, SynthesisEngine, SynthesisProcessor, SynthesisResult,
369};
370pub use techniques::{
371 BreathControl, LegatoProcessor, SingingTechnique, VibratoProcessor, VocalFry,
372};
373pub use types::{
374 Expression, NoteEvent, QualitySettings, SingingRequest, SingingResponse, SingingStats,
375 VoiceCharacteristics, VoiceType,
376};
377pub use vocal_effects::{
378 AutoTuneEffect, ChoirEffect, HarmonyGenerator, ScaleType, VocoderEffect, VoiceArrangement,
379 VoicePartType, VoicingRules,
380};
381pub use voice::{VoiceBank, VoiceController, VoiceManager};
382pub use voice_blending::{BlendConfig, BlendState, VoiceBlender, VoiceMorphParams};
383pub use voice_conversion::{
384 ConversionMethod, ConversionQuality, ConversionQualityMetrics, ConversionRequest,
385 ConversionResult, ConversionSource, SpeakerEmbedding, VoiceConverter, VoiceQualityMetrics,
386};
387#[cfg(feature = "wasm-support")]
388pub use wasm_support::{
389 init_logging, WasmAudioPlayer, WasmError, WasmPerformanceMonitor, WasmRealtimeSynthesizer,
390 WasmSingingEngine,
391};
392pub use zero_shot::{
393 AdaptationMethod, AdaptationMetrics, AudioSample, QualityMode, ReferenceVoice, TargetVoiceSpec,
394 VocalRange, ZeroShotConfig, ZeroShotRequest, ZeroShotResult, ZeroShotSynthesizer,
395};
396
397pub type Result<T> = std::result::Result<T, Error>;
399
400#[derive(Debug, thiserror::Error)]
402pub enum Error {
403 #[error("Configuration error: {0}")]
405 Config(String),
406
407 #[error("Processing error: {0}")]
409 Processing(String),
410
411 #[error("Model error: {0}")]
413 Model(String),
414
415 #[error("Audio error: {0}")]
417 Audio(String),
418
419 #[error("Synthesis error: {0}")]
421 Synthesis(String),
422
423 #[error("Score parsing error: {0}")]
425 ScoreParsing(String),
426
427 #[error("Voice error: {0}")]
429 Voice(String),
430
431 #[error("Effect processing error: {0}")]
433 Effect(String),
434
435 #[error("Format error: {0}")]
437 Format(String),
438
439 #[error("Harmony error: {0}")]
441 Harmony(String),
442
443 #[error("Validation error: {0}")]
445 Validation(String),
446
447 #[error("Unsupported feature: {0}")]
449 UnsupportedFeature(String),
450
451 #[error("I/O error: {0}")]
453 Io(#[from] std::io::Error),
454
455 #[error("Serialization error: {0}")]
457 Serialization(#[from] serde_json::Error),
458
459 #[error("Candle error: {0}")]
461 Candle(#[from] candle_core::Error),
462
463 #[error("FFT error: {0}")]
465 Fft(String),
466
467 #[error("MIDI error: {0}")]
469 #[cfg(feature = "midi-support")]
470 Midi(#[from] midly::Error),
471}
472
473pub mod prelude {
475 pub use crate::{
476 adaptive_learning::{
477 AdaptiveLearningConfig, AdaptiveLearningSystem, LearningStatistics,
478 PersonalizedRecommendations, UserFeedback, UserPreferences,
479 },
480 ai::{
481 AutoHarmonizer, EmotionRecognizer, EmotionResult, ExpressionFeatures, HarmonyModel,
482 HarmonyRules, ImprovisationAssistant, StyleEmbedding, StyleMetadata, StyleTransfer,
483 StyleTransferConfig, StyleTransferResult, TransferQualityMetrics,
484 },
485 audio_processing::{
486 DynamicRangeProcessor, HighQualityResampler, InterpolationMethod, PanLaw,
487 PhaseCoherenceProcessor, QualityLevel, StereoImagingProcessor,
488 },
489 config::{SingingConfig, SingingConfigBuilder},
490 core::{SingingEngine, SingingEngineBuilder},
491 custom_score::{OptimizedScore, PerformanceHints, ScoreOptimizer},
492 effects::{EffectChain, EffectProcessor, SingingEffect},
493 formats::{FormatParser, MidiParser, MusicXmlParser},
494 granular_synthesis::{
495 GrainEnvelope, GranularConfig, GranularSynthesisEffect, GranularTexture, WindowFunction,
496 },
497 harmony::{HarmonyArrangement, HarmonyType, MultiVoiceSynthesizer, VoicePart},
498 models::{
499 ModelType, SingingModel, SingingModelBuilder, TransformerConfig,
500 TransformerSynthesisModel, VoiceModel,
501 },
502 multimodal::{
503 BlendShapeWeights, HeadMotion, MultimodalResult, MultimodalSynthesizer, PhonemeTiming,
504 SimpleNote, Viseme, VisualConfig, VisualFrame, VisualTimeline,
505 },
506 musical_intelligence::{
507 ChordQuality, ChordRecognizer, ChordResult, KeyDetector, KeyMode, KeyResult,
508 MusicalAnalysis, MusicalIntelligence, RhythmAnalyzer, RhythmResult, ScaleAnalyzer,
509 ScaleResult,
510 },
511 perceptual_quality::{
512 ComprehensiveQualityReport, ExpressionReport, NaturalnessReport,
513 PerceptualQualityTester, PerformanceReport, VoiceQualityReport,
514 },
515 performance_optimization::{
516 CompressionAlgorithm, CompressionEngine, EvictionPolicy, PrecomputationEngine,
517 StreamingEngine, StreamingQuality, VoiceCache,
518 },
519 performance_optimization_advanced::{
520 ModelCompressionConfig, ModelCompressor, NasConfig, NeuralArchitectureSearcher,
521 },
522 physical_modeling::{
523 AdvancedVocalTractModel, Complex32, PhysicalModelConfig, PhysicsAccuracyLevel,
524 VocalTractModel, VowelPreset,
525 },
526 pitch::{PitchContour, PitchGenerator, PitchProcessor},
527 realtime::{LiveSession, RealtimeConfig, RealtimeEngine, RealtimeNote},
528 research_integration::{
529 ConsistencyModel, DiffusionTransformer, FlowMatchingSynthesizer,
530 NeuralCodecLanguageModel, ScoreBasedModel,
531 },
532 rhythm::{RhythmGenerator, RhythmProcessor, TimingController},
533 scalability::{
534 LargeScaleSynthesisRequest, LargeScaleSynthesisResult, MultiVoiceCoordinator,
535 PerformanceMetrics, ScalabilityConfig, ScalabilityManager, ScalabilityStatus,
536 SessionRequirements, VoiceRequirements,
537 },
538 score::{MusicalNote, MusicalScore, ScoreProcessor},
539 styles::{
540 CulturalVariant, MusicalStyle, Ornamentation, PerformanceGuidelines, PhraseShaping,
541 StyleCharacteristics, TimbreQualities, VoiceType as StyleVoiceType,
542 },
543 synthesis::{SynthesisEngine, SynthesisProcessor, SynthesisResult},
544 techniques::{
545 BreathControl, LegatoProcessor, SingingTechnique, VibratoProcessor, VocalFry,
546 },
547 types::{
548 Expression, NoteEvent, SingingRequest, SingingResponse, SingingStats,
549 VoiceCharacteristics, VoiceType,
550 },
551 vocal_effects::{
552 AutoTuneEffect, ChoirEffect, HarmonyGenerator, ScaleType, VocoderEffect,
553 VoiceArrangement, VoicePartType, VoicingRules,
554 },
555 voice::{VoiceBank, VoiceController, VoiceManager},
556 voice_blending::{BlendConfig, BlendState, VoiceBlender, VoiceMorphParams},
557 voice_conversion::{
558 ConversionMethod, ConversionQuality, ConversionQualityMetrics, ConversionRequest,
559 ConversionResult, ConversionSource, SpeakerEmbedding, VoiceConverter,
560 VoiceQualityMetrics,
561 },
562 zero_shot::{
563 AdaptationMethod, AdaptationMetrics, AudioSample, QualityMode, ReferenceVoice,
564 TargetVoiceSpec, VocalRange, ZeroShotConfig, ZeroShotRequest, ZeroShotResult,
565 ZeroShotSynthesizer,
566 },
567 Error, Result,
568 };
569}