Skip to main content

Crate voirs_vocoder

Crate voirs_vocoder 

Source
Expand description

§VoiRS Vocoders

Neural vocoders for converting mel spectrograms to high-quality audio. Supports HiFi-GAN, WaveGlow, and other state-of-the-art vocoders.

This crate provides a unified interface for neural vocoding with support for:

  • Multiple neural architectures (HiFi-GAN, DiffWave, WaveGlow)
  • Real-time streaming synthesis
  • Batch processing for efficiency
  • Quality control and performance monitoring
  • Singing voice processing with harmonic enhancement
  • Spatial audio processing with HRTF

§Quick Start

// This is a conceptual example - actual usage will depend on specific implementations
use voirs_vocoder::{Vocoder, MelSpectrogram, SynthesisConfig};

async fn example_usage() {
    // Create a mel spectrogram (this would typically come from a TTS model)
    let mel_data = vec![vec![0.0; 80]; 100]; // 80 mel bands, 100 time steps
    let mel = MelSpectrogram::new(mel_data, 22050, 256);
     
    // Configure synthesis parameters
    let config = SynthesisConfig::default();
     
    // Convert to audio using any Vocoder implementation
    // let audio_buffer = vocoder.vocode(&mel, Some(&config)).await?;
}

Re-exports§

pub use hifigan::HiFiGanVocoder;
pub use models::hifigan::HiFiGanConfig;
pub use models::hifigan::HiFiGanVariant;
pub use models::hifigan::HiFiGanVariants;
pub use streaming::StreamHandle;
pub use streaming::StreamingPipeline;
pub use streaming::StreamingStats;
pub use streaming::StreamingVocoder;

Modules§

adaptive_quality
Adaptive quality control system for vocoders
audio
Audio processing module for voirs-vocoder.
backends
Backend infrastructure for voirs-vocoder.
broadcast_quality
Professional broadcast quality enhancement for VoiRS
cache
Cache optimization module for improved data locality and memory access patterns
codecs
Audio codec implementations.
comprehensive_quality_metrics
Comprehensive quality metrics for all vocoder features
conditioning
Unified conditioning interface for advanced vocoder features.
config
Configuration system for voirs-vocoder.
containers
Audio container format implementations.
conversion
Voice conversion functionality for real-time voice transformation.
drivers
Real-time audio drivers for voirs-vocoder
effects
Audio effects and enhancement system for voirs-vocoder.
hifigan
Auto-generated module structure
loss
Perceptual loss functions for neural vocoder training and evaluation.
metrics
Audio quality metrics for vocoder evaluation
ml
Machine Learning Enhancement Module
models
Vocoder model definitions and implementations.
optimization_paths
Feature-specific optimization paths for vocoder operations
parallel
Parallel processing utilities for voirs-vocoder
performance
Real-time performance monitoring and quality metrics tracking
post_processing
Post-processing pipeline for audio enhancement and quality improvement
prelude
Prelude for convenient imports
profiling
Performance profiling utilities for vocoder operations
simd
SIMD acceleration for audio processing operations
streaming
Real-time streaming architecture for neural vocoders
utils
Utility modules for vocoder operations
waveglow
WaveGlow vocoder implementation.

Structs§

AudioBuffer
Audio buffer for holding PCM audio data
DummyVocoder
Dummy vocoder for testing
MelSpectrogram
Mel spectrogram representation
SynthesisConfig
Synthesis configuration
VocoderManager
Vocoder manager with multiple architecture support
VocoderMetadata
Vocoder metadata

Enums§

LanguageCode
Language codes supported by VoiRS
VocoderError
Vocoder-specific error types
VocoderFeature
Features supported by vocoders

Traits§

Vocoder
Trait for neural vocoders

Type Aliases§

Result
Result type for vocoder operations