---
myst:
  html_meta:
    'description': 'The ABR SDK is an on-device AI engine for streaming ASR and TTS. This page introduces what it does, the models and technology behind it, how it is architected, and who it is for.'
    'keywords': 'abr-sdk, on-device, asr, tts, niagara, nith, state-space model, python'
---

# ABR SDK Introduction

The ABR SDK is an on-device AI engine that enables streaming automatic speech recognition (ASR) and
text-to-speech (TTS). It is:

- **Fully streaming**, delivering the lowest latency while achieving maximum accuracy
- **Computationally efficient**, with a small memory footprint
- **Supported on multiple OS and hardware platforms:**
  - Linux (x86-64, arm64)
  - Android (arm64)
- **Available in multiple languages**, including English, Spanish, Chinese (Mandarin), and more

## Getting set up

You need an ABR Developer account and an SDK access token to access and operate the SDK on your
device. You can start your journey as an ABR developer on the
[ABR developer portal](https://dev.appliedbrainresearch.com).

To install and run the SDK, you need Python 3.10 or later and a package installer
like `pip` or `uv`. See {doc}`/getting-started/installation` for full setup instructions.

## SDK models and features

The SDK gives you the following on-device speech AI capabilities:

- **Niagara ASR**: transcribe streaming voice audio to text in real time
  - Punctuation and capitalization
  - Custom vocabulary support coming soon
- **Nith TTS**: synthesize natural-sounding speech from a text stream
  - Custom vocabulary pronunciation dictionary
  - Normalizes text to correctly pronounce dates, temperatures, currencies, and more

Both run entirely on your device. No audio or transcript data is sent to an external service during
processing.

## SDK model technology

ABR's speech AI models are built on state-space models (SSMs), a technology we invented with the
Legendre Memory Unit (LMU), which we introduced in 2019. Unlike transformer models, SSMs are derived
from continuous-time representations and require significantly less computation. Our selective use of
attention layers lets our SSMs achieve much higher performance than transformers of similar size, so
ABR's models deliver competitive performance while remaining much smaller. These models also deliver
true streaming performance, with no look-ahead or batch accumulation before producing output.

These properties make SSM-based models practical and ideal on devices with limited compute and
memory. You do not need to understand SSMs to use the SDK, but if you want to learn more you can
[read about it here](https://www.appliedbrainresearch.com/why-state-space-models-are-the-future-of-edge-ai).
The distinction matters if you are evaluating whether ABR's models fit your device's hardware budget.

## SDK architecture

The SDK is a thin API layer over a stable C application binary interface (ABI). Neural network
execution and platform-specific optimizations happen inside a compiled library you download
separately, called an [application package](concepts/application-packages.md).

Once you extract the package to a directory on your device, the SDK loads the library and weights
directly from that directory path when you create an [Asr](asr/overview.md) or [Tts](tts/overview.md)
object. There is no need to select a hardware backend or configure execution targets; the application
package already contains the correct code for the platform you selected.

## Who this documentation is for

This documentation assumes you are a developer integrating speech AI into a device or application, and
that you have the requisite Python skills to integrate this SDK.

```{toctree}
:hidden:
:caption: Getting Started
:maxdepth: 2

/getting-started/installation
/getting-started/license-activation
/getting-started/asr-quickstart
/getting-started/tts-quickstart
```

```{toctree}
:hidden:
:caption: Core Concepts
:maxdepth: 2

/concepts/application-packages
/concepts/streaming-and-chunks
/concepts/sdk-lifecycle
```

```{toctree}
:hidden:
:caption: Automatic Speech Recognition
:maxdepth: 2

/asr/overview
/asr/transcription-stages
/asr/input-format
/asr/benchmarking
/asr/examples
```

```{toctree}
:hidden:
:caption: Text-to-Speech
:maxdepth: 2

/tts/overview
/tts/input-format
/tts/examples
```

```{toctree}
:hidden:
:caption: API Reference
:maxdepth: 2

/api/index
```

```{toctree}
:hidden:
:caption: Documentation

ABR Documentation <https://docs.appliedbrainresearch.com/>
```
