Skip to main content

Crate autoagents_speech

Crate autoagents_speech 

Source
Expand description

§AutoAgents Speech

Speech (TTS/STT) provider abstractions for the AutoAgents framework.

This crate provides trait-based abstraction layers for speech providers, allowing different backends to be used interchangeably within the AutoAgents ecosystem.

§Features

§TTS (Text-to-Speech)

  • Speech Generation: Generate audio from text
  • Voice Management: Use predefined voices
  • Streaming Support: Optional streaming for real-time audio generation
  • Model Management: Support for multiple models and languages

§STT (Speech-to-Text) - Coming Soon

§Architecture

The crate follows a trait-based design with provider implementations in the providers module:

§TTS Traits

  • TTSProvider: Marker trait combining all TTS capabilities
  • TTSSpeechProvider: Speech generation capabilities
  • TTSModelsProvider: Model and language support

§Providers

Enable providers using feature flags:

  • pocket-tts: Pocket-TTS model support

§Example

use autoagents_speech::{TTSProvider, SpeechRequest, VoiceIdentifier, AudioFormat};

async fn generate_speech(provider: &dyn TTSProvider, text: &str) {
    let request = SpeechRequest {
        text: text.to_string(),
        voice: VoiceIdentifier::new("alba"),
        format: AudioFormat::Wav,
        sample_rate: Some(24000),
    };

    let response = provider.generate_speech(request).await.unwrap();
    println!("Generated {} samples", response.audio.samples.len());
}

Re-exports§

pub use error::TTSError;
pub use error::TTSResult;
pub use types::AudioChunk;
pub use types::AudioData;
pub use types::AudioFormat;
pub use types::ModelInfo;
pub use types::SharedAudioData;
pub use types::SpeechRequest;
pub use types::SpeechResponse;
pub use types::VoiceIdentifier;

Modules§

error
providers
Speech provider implementations
types

Traits§

TTSModelsProvider
Trait for TTS model management capabilities
TTSProvider
Marker Trait for TTS providers
TTSSpeechProvider
Trait for TTS speech generation capabilities