Metadata-Version: 2.4
Name: sonusai-asr-sensory
Version: 1.3.0
Summary: Sensory ASR tools for SonusAI
Project-URL: Homepage, https://aaware.com
Author-email: Chris Eddington <chris@aaware.com>, Jason Calderwood <jason@aaware.com>
License-Expression: GPL-3.0-only
Requires-Python: <3.15,>=3.13
Requires-Dist: numpy~=2.4.4
Requires-Dist: sonusai~=1.3.2
Description-Content-Type: text/markdown

## SonusAI ASR Sensory

Sensory tools for SonusAI.

This package integrates Sensory ASR inference into SonusAI-compatible workflows.

## Key Features

- **Sensory ASR Integration**: Runs `snsr-eval` against Sensory acoustic/language models.
- **SonusAI Compatibility**: Uses SonusAI datatypes and ASR result conventions.
- **Simple Function Interface**: Exposes a focused `sensory(audio, **config)` entrypoint.
- **Package-Friendly Testing**: Includes pytest coverage using sample audio fixtures.

## Getting Started

### Prerequisites
- Python 3.13+ (Python 3.13 and 3.14 supported)
- `uv`
- `snsr-eval` installed and available on `PATH`
- A Sensory model available under your Sensory installation `model/` directory

### Install Dependencies
```bash
uv sync
```

### Run Tests
```bash
uv run pytest
```

## Documentation

- **[Agent Guidelines](AGENTS.md)**: AI project context, workflows, and quality rules.
- **[Project Overview](.context/overview.md)**: Technology stack and package entry points.
- **[Architecture](.context/architecture.md)**: Sensory execution flow and SonusAI integration details.
- **[CLI & Validation Commands](.context/cli_commands.md)**: Common local development commands.
- **[Standards](.context/standards.md)**: Linting, formatting, and testing requirements.
- **[Directory Map](.context/directory_map.md)**: High-level layout of this repository.
- **[Refactoring Guidelines](.context/refactoring_guidelines.md)**: AI-oriented implementation guardrails.

## Usage

```python
from sonusai.mixture.audio import read_audio
from sonusai_asr_sensory.asr_functions import sensory

audio = read_audio("tests/data/CA01_01.wav")
result = sensory(audio)
print(result.text)
```

Optional config keys for `sensory` include:
- `model`: Sensory model folder name (defaults to `stt-enUS-automotive-small_medium-2.0.8-BBB-ff.snsr`).

## Test Coverage Snapshot

Current tests validate end-to-end decoding for the canonical phrase:

- `the birch canoe slid on the smooth planks`

as defined in `tests/test_sensory.py`.
