# Does FluidVoice Support Real-Time Speech Synthesis?

> FluidVoice does not support real-time speech synthesis. It focuses solely on real-time speech-to-text dictation and transcription for efficient audio processing.

- Repository: [ALTIC/FluidVoice](https://github.com/altic-dev/FluidVoice)
- Tags: faq
- Published: 2026-08-16

---

**FluidVoice does not support real-time speech synthesis; it is built exclusively for real-time speech-to-text dictation and transcription.**

FluidVoice is an open-source macOS voice dictation application focused entirely on converting spoken audio into written text. While it delivers robust **real-time speech recognition** through native macOS APIs, the codebase contains no text-to-speech (TTS) engine or speech synthesis functionality.

## How FluidVoice Handles Speech Processing

The application architecture centers on three core services that manage live audio capture and streaming transcription. According to the altic-dev/FluidVoice source code, these components work together to deliver low-latency dictation without any synthesis capability.

### ASRService.swift: The Central Recognition Pipeline

The `ASRService` class in [`Sources/Fluid/Services/ASRService.swift`](https://github.com/altic-dev/FluidVoice/blob/main/Sources/Fluid/Services/ASRService.swift) orchestrates the entire speech-to-text workflow. It manages audio buffering, session lifecycle, and delegates recognition tasks to platform-specific providers.

```swift
// Start a real-time transcription session
let asr = ASRService.shared
asr.startSession(language: .englishUS) { result in
    switch result {
    case .partial(let text):
        // Update UI with interim transcription
        print("Partial: \(text)")
    case .final(let text):
        // Finalized sentence
        print("Final: \(text)")
    case .error(let err):
        print("Error: \(err)")
    }
}

```

This callback-based API returns partial and final transcription results—never synthesized audio.

### AppleSpeechProvider.swift: macOS Recognition Wrapper

[`Sources/Fluid/Services/AppleSpeechProvider.swift`](https://github.com/altic-dev/FluidVoice/blob/main/Sources/Fluid/Services/AppleSpeechProvider.swift) wraps macOS's built-in `SFSpeechRecognizer` for standard recognition tasks. As implemented in altic-dev/FluidVoice, this provider only handles incoming audio streams:

```swift
// AppleSpeechProvider – low-level call to macOS recognizer
let provider = AppleSpeechProvider()
provider.recognizeAudioStream(url: audioURL) { transcript in
    // transcript contains the spoken words – no synthesis involved
    print(transcript)
}

```

### AppleSpeechAnalyzerProvider.swift: Streaming for Low Latency

For advanced use cases requiring faster partial results, [`Sources/Fluid/Services/AppleSpeechAnalyzerProvider.swift`](https://github.com/altic-dev/FluidVoice/blob/main/Sources/Fluid/Services/AppleSpeechAnalyzerProvider.swift) implements `SFSpeechAnalyzer`—Apple's streaming recognition API introduced for continuous dictation scenarios. This remains transcription-only with no synthesis path.

## Evidence Against Speech Synthesis Support

A comprehensive review of the FluidVoice Swift source tree reveals no TTS implementation:

- **No `AVSpeechSynthesizer` imports or usage** — Apple's standard synthesis framework is entirely absent
- **No "synthesize" method calls related to audio** — the only occurrences reference UI progress bar updates
- **No synthesis settings in [`SettingsStore.swift`](https://github.com/altic-dev/FluidVoice/blob/main/SettingsStore.swift)** — located at [`Sources/Fluid/Persistence/SettingsStore.swift`](https://github.com/altic-dev/FluidVoice/blob/main/Sources/Fluid/Persistence/SettingsStore.swift), this file only stores recognition model preferences (`appleSpeech`, `appleSpeechAnalyzer`)
- **No synthesis UI in [`ContentView.swift`](https://github.com/altic-dev/FluidVoice/blob/main/ContentView.swift)** — the main interface at [`Sources/Fluid/ContentView.swift`](https://github.com/altic-dev/FluidVoice/blob/main/Sources/Fluid/ContentView.swift) displays transcription results and recording controls exclusively

## What FluidVoice Actually Does

Rather than speech synthesis, FluidVoice provides these **real-time speech-to-text features**:

- **Live streaming transcription** with partial and final result callbacks
- **Speaker diarization** to identify different speakers in recorded audio
- **Multiple recognition backends** via `appleSpeech` and `appleSpeechAnalyzer` models
- **Continuous dictation sessions** with automatic segmenting and punctuation

## Summary

- FluidVoice is **speech-to-text only** — it converts audio to text, not text to audio
- The codebase contains **zero synthesis infrastructure** — no `AVSpeechSynthesizer`, custom TTS engines, or audio generation pipelines
- **All speech-related services** (`ASRService`, `AppleSpeechProvider`, `AppleSpeechAnalyzerProvider`) handle recognition exclusively
- Users seeking real-time speech synthesis need separate macOS TTS tools or alternative applications

## Frequently Asked Questions

### Can FluidVoice read text aloud?

No. FluidVoice has no text-to-speech capability. The application only captures microphone input and returns transcribed text. For macOS text-to-speech, use system features like **Spoken Content** in Accessibility settings or third-party TTS applications.

### Does FluidVoice plan to add speech synthesis?

The current codebase shows no foundation for synthesis features. The architecture is purpose-built for recognition efficiency, with `ASRService` designed around transcription provider patterns that don't accommodate audio output generation.

### What macOS speech APIs does FluidVoice use?

FluidVoice uses `SFSpeechRecognizer` (via `AppleSpeechProvider`) and `SFSpeechAnalyzer` (via `AppleSpeechAnalyzerProvider`)—both Apple frameworks for **speech recognition only**. These APIs handle audio input and return text transcripts; they do not perform synthesis.

### Is there any speech generation in FluidVoice's audio pipeline?

No. The audio pipeline in [`ASRService.swift`](https://github.com/altic-dev/FluidVoice/blob/main/ASRService.swift) is unidirectional: microphone → buffer → recognition provider → text callback. No audio output path exists, and no synthesis classes are referenced anywhere in `Sources/Fluid/`.