stt/README.md

1.4 KiB

Real-time Speech Recognition with Vosk and Zig

This project implements a minimal real-time speech-to-text application using Vosk and Zig.

Audio Device Configuration

The application uses ALSA's default device, which is configured in alsa.conf. To use a different audio device:

  1. Find your audio devices: aplay -l or arecord -l
  2. Edit alsa.conf and update the pcm.!default section:
    pcm.!default {
        type hw
        card 3      # Change to your card number
        device 0    # Change to your device number
    }
    
  3. Rebuild and run the application

Prerequisites

  • Zig 0.15.1 (configured via mise)
  • Nix development environment configured for ALSA, and audio libraries

Vosk Model Download

The application uses the Vosk small English model for speech recognition:

Installation Steps

  1. Enter nix development environment: nix develop
  2. Build application: zig build
  3. Run: zig build run

Usage

The application will:

  • Initialize audio capture from default microphone
  • Load the Vosk speech recognition model
  • Process audio in real-time
  • Output recognized text to terminal
  • Exit on Ctrl+C

Dependencies

  • Vosk C API library
  • ALSA for audio capture

Notes

Vosk tends to recognize "light" as lake or like