Skip to main content

Speech Services

Elftia integrates two categories of speech service — speech recognition (ASR, Automatic Speech Recognition) and speech synthesis (TTS, Text-to-Speech) — allowing you to switch freely between voice and text in conversations and content creation.

Use Cases

  • Automatically transcribe voice messages or recorded audio files to text
  • Convert AI replies or custom text to speech for playback
  • Use voice input when typing is inconvenient
  • Add narration to generated content

Speech Recognition (ASR)

The speech recognition feature transcribes speech from audio files into text.

Supported Providers

ProviderType identifierDescription
OpenAI Whisperopenai-whisperOpenAI's Whisper speech recognition API; supports multiple languages
ElevenLabs Scribeelevenlabs-sttElevenLabs' speech-to-text service
Fish Audiofishaudio-asrFish Audio's speech recognition service

Configuration Steps

  1. Open Settings > Media Providers > Speech Recognition
  2. Select an ASR provider
  3. Enter the API Key
  4. Select a default model (e.g. whisper-1)
  5. Save and enable
  6. (Optional) Set it as the default provider

Configuration Parameters

SettingDescriptionRequired
API KeyThe provider's API keyYes
Default modelThe model used for transcriptionNo (uses provider default)
Default providerWhether to set this as the default ASR providerNo

How to Use

  1. Select or record an audio clip
  2. The system automatically sends the audio to the configured ASR provider
  3. The transcription result is returned as text

Automatic Format Conversion

The ASR service has built-in automatic format conversion. If the uploaded audio file format is not natively supported by the Whisper API, the system attempts to automatically convert it to WAV using ffmpeg before transcription.

Natively Supported Audio Formats

FormatExtension
FLAC.flac
M4A.m4a
MP3.mp3
MP4.mp4
MPEG.mpeg, .mpga
OGG.oga, .ogg
WAV.wav
WebM.webm

Other formats (such as .amr or .silk) are automatically converted to WAV before processing.

:::info ffmpeg Dependency The automatic format conversion feature requires ffmpeg to be installed on the system. If ffmpeg is not installed, unsupported formats are sent directly to the API (and the API may refuse to process them). :::

Transcription Parameters

ParameterDescription
providerIdSpecifies the ASR provider to use (optional; defaults to the default provider)
modelIdSpecifies the model to use (optional)
languageSpecifies the audio language (optional; auto-detected if not set)

Speech Synthesis (TTS)

The speech synthesis feature converts text content into natural-sounding speech.

Supported Providers

ProviderType identifierDescription
ElevenLabselevenlabs-ttsHigh-quality multilingual speech synthesis with a rich selection of voices
Fish Audiofishaudio-ttsFish Audio's speech synthesis service

Configuration Steps

  1. Open Settings > Media Providers > Speech Synthesis
  2. Select a TTS provider
  3. Enter the API Key
  4. Select a default model
  5. Select a default voice
  6. Save and enable
  7. (Optional) Set it as the default provider

Configuration Parameters

SettingDescriptionRequired
API KeyThe provider's API keyYes
Default modelThe model used for speech synthesisNo
Default voiceThe default voice ID to useNo
Default providerWhether to set this as the default TTS providerNo

How to Use

  1. Select the text content you want to convert
  2. Choose a voice
  3. The system sends the text to the TTS provider
  4. The generated audio can be played directly or saved

Voice Selection

Each TTS provider offers multiple voices to choose from. You can:

  1. View the list of available voices in the TTS settings
  2. Preview the effect of different voices
  3. Select one voice as the default

The voice list is fetched dynamically via API and will change as the provider updates its offerings.

Output Formats

FormatDescription
mp3Universal audio format (default)
wavLossless audio format
oggOpen-source compressed format
opusEfficient compressed format
pcmRaw audio data

Synthesis Parameters

ParameterDescription
providerIdSpecifies the TTS provider to use (optional)
modelIdSpecifies the model to use (optional)
voiceIdSpecifies the voice to use (optional)
outputFormatOutput audio format (optional; defaults to mp3)
outputDirSave directory (optional)

Frequently Asked Questions

QuestionSolution
ASR transcription is emptyCheck that the audio file contains valid speech and is not corrupted
Unsupported audio formatInstall ffmpeg to enable automatic format conversion
TTS-generated speech sounds unnaturalTry switching to a different voice or model; some voices perform better in specific languages
Voice list is emptyConfirm the API key is valid and the provider service is operating normally
Transcription result is inaccurateTry specifying the correct language parameter, or select a more suitable model
TTS produces no audio outputCheck the system volume and audio output device; confirm the generated file is not empty