Skip to main content
IPED provides automatic audio transcription capabilities with support for multiple speech recognition engines, including local CPU/GPU processing and cloud-based services.

Overview

Audio transcription enables:
  • Automatic speech-to-text - Convert audio recordings to searchable text
  • Multiple implementations - Choose local or cloud-based processing
  • Multi-language support - Process audio in many languages
  • Indexed results - Transcriptions added to full-text search index
  • Quality scoring - Word-level confidence scores (implementation dependent)

Available Implementations

IPED supports multiple transcription engines:

Local Processing

Vosk (Default)

Best for: Quick setup, CPU-only systems
Characteristics:
  • Runs entirely on CPU
  • No external dependencies
  • Included models: English, Portuguese (Brazil)
  • Medium accuracy
  • Fast processing
Models available at: https://alphacephei.com/vosk/models

Wav2Vec2

Best for: High accuracy with GPU
Characteristics:
  • GPU highly recommended (10x faster)
  • Better accuracy than Vosk
  • HuggingFace model support
  • Requires additional setup
Setup: Wav2Vec2 Installation Guide

Whisper

Best for: Best accuracy, GPU required
Characteristics:
  • Highest accuracy available
  • Multiple model sizes (tiny to large-v3)
  • GPU strongly recommended
  • Multilingual support
  • 4x slower than Wav2Vec2
Setup: Whisper Installation Guide

Remote Service

Best for: Distributed processing
Characteristics:
  • Offload processing to remote server
  • Share GPU resources across nodes
  • Network-based communication
  • Centralized resource management
Setup: Remote Transcription Guide

Cloud Services

Microsoft Azure

Best for: Enterprise deployments, high volume
Requirements:
  • Azure subscription and API key
  • Microsoft Speech SDK JAR in plugins folder
  • Pass subscription key: -XazureSubscriptionKey=XXXXXXXX
Download SDK:

Google Cloud Speech

Best for: Advanced features, multiple languages
Requirements:
  • Google Cloud account and credentials
  • Google Cloud Speech JAR with dependencies
  • Environment variable: GOOGLE_APPLICATION_CREDENTIALS
Download SDK:

Configuration

Audio transcription is configured in AudioTranscriptConfig.txt:

Implementation-Specific Options

Vosk Configuration

Wav2Vec2 Configuration

Whisper Configuration

Remote Service Configuration

Azure Configuration

Google Cloud Configuration

Supported Audio Formats

IPED transcribes common audio formats:
  • 3GP/3G2 - Mobile recordings
  • AAC - Advanced Audio Coding
  • AIFF - Audio Interchange File Format
  • AMR - Adaptive Multi-Rate codec (mobile)
  • MP4 Audio - MPEG-4 audio tracks
  • OGG Vorbis/Opus - Open audio formats
  • WAV - Waveform Audio File Format
  • WMA - Windows Media Audio
  • CAF - Core Audio Format
  • iLBC - Internet Low Bitrate Codec
Video audio tracks:
  • Enable video processing by adding video MIME types to mimesToProcess
  • Update convertCommand to extract audio from video

Audio Preprocessing

All audio is converted to standard format before transcription:
Why 16 kHz mono:
  • Speech recognition optimized for 16 kHz
  • Mono sufficient for speech
  • Reduces processing time
  • Smaller temporary files

Language Detection

Auto Mode

Uses locale from LocalConfig.txt:
  • Automatically matches case locale
  • Consistent with UI language
  • No manual configuration needed

Explicit Languages

Specify one or more languages:
Supported languages (implementation dependent):
  • English (en, en-US, en-GB)
  • Portuguese (pt, pt-BR, pt-PT)
  • Spanish (es, es-ES, es-MX)
  • French (fr, fr-FR, fr-CA)
  • German (de, de-DE)
  • Italian (it, it-IT)
  • Russian (ru, ru-RU)
  • Chinese (zh, zh-CN)
  • And many more…

Processing Flow

Per-Item Processing

  1. Filter items - Check MIME type and known status
  2. Convert audio - Standardize to 16kHz mono WAV
  3. Transcribe - Send to selected implementation
  4. Store results - Add to item extra attributes
  5. Index text - Make searchable in Lucene index

Transcription Results

Transcription stored as item attributes:
Results indexed for:
  • Full-text search
  • Keyword highlighting
  • Export in reports
  • Timeline correlation

Performance Comparison

Use Cases

Call Recording Analysis

  • Transcribe intercepted phone calls
  • Search for keywords and phrases
  • Identify speakers and topics
  • Generate call summaries

Voice Message Processing

  • WhatsApp/Telegram voice messages
  • Social media audio posts
  • Voicemail recordings

Interview Transcription

  • Police interviews
  • Witness statements
  • Suspect interrogations
  • Expert depositions

OSINT Audio

  • Podcast monitoring
  • Social media audio
  • Public speeches
  • News broadcasts

Quality Optimization

Improve Accuracy

  1. Use appropriate model - Match audio characteristics
    • phone_call for telephone recordings
    • video for video audio tracks
    • latest_long for long-form content
  2. Select correct language - Wrong language = poor results
  3. Use better implementation
    • Vosk → Wav2Vec2 → Whisper (increasing accuracy)
  4. Audio quality matters
    • Clear audio = better transcription
    • Reduce background noise
    • Avoid multiple speakers talking simultaneously

Improve Speed

  1. Use GPU - 10-20x speedup for Wav2Vec2/Whisper
  2. Batch processing - Increase Whisper batchSize on GPU
  3. Faster models - Whisper tiny/base vs. large
  4. Distributed processing - Remote service on multiple servers
  5. Filter scope - Use skipKnownFiles and mimesToProcess

Troubleshooting

No Transcription Generated

  • Verify audio format in mimesToProcess
  • Check audio file is not corrupted
  • Review conversion command works
  • Confirm implementation properly initialized

Low Accuracy

  • Verify correct language selected
  • Check audio quality (noise, clarity)
  • Try better implementation (Whisper)
  • Review speaker clarity and accent

Performance Issues

  • Reduce concurrent processes
  • Use GPU for Wav2Vec2/Whisper
  • Try faster model (Whisper base vs. large)
  • Enable skipKnownFiles

Memory Errors

  • Reduce Whisper batchSize
  • Use int8 precision instead of float32
  • Process fewer files concurrently
  • Use smaller Whisper model

Security Considerations

Cloud Services

  • Audio uploaded to third-party servers
  • Review legal/privacy requirements
  • Consider data sovereignty laws
  • Use encryption in transit
  • Clear audit trails

Local Processing

  • All data stays on premises
  • No external network calls
  • Suitable for classified material
  • Full control over data

Credential Management

Service addresses cleared from exported cases: