Metadata-Version: 2.4
Name: sonusai
Version: 1.3.3
Requires-Dist: dataclasses-json~=0.6.7
Requires-Dist: docopt~=0.6.2
Requires-Dist: h5py~=3.16.0
Requires-Dist: jiwer~=4.0.0
Requires-Dist: matplotlib~=3.10.8
Requires-Dist: numpy~=2.4.4
Requires-Dist: onnx~=1.21.0
Requires-Dist: onnxruntime~=1.24.4
Requires-Dist: paho-mqtt~=2.1.0
Requires-Dist: pandas~=2.3.3
Requires-Dist: pesq~=0.0.4
Requires-Dist: pgzip~=0.4.0
Requires-Dist: praatio~=6.2.2
Requires-Dist: psutil~=7.2.2
Requires-Dist: pyaaware~=3.0.1
Requires-Dist: pyaudio~=0.2.14
Requires-Dist: pyparsing~=3.3.2
Requires-Dist: pystoi~=0.4.1
Requires-Dist: pyyaml~=6.0.3
Requires-Dist: requests~=2.33.1
Requires-Dist: rich~=14.3.4
Requires-Dist: scikit-learn~=1.8.0
Requires-Dist: scipy~=1.17.1
Requires-Dist: sh~=2.2.2
Requires-Dist: sox~=1.5.0
Requires-Dist: torch~=2.11.0
Requires-Dist: tqdm~=4.67.3
Summary: Framework for building deep neural network models for sound, speech, and voice AI
Author-email: Chris Eddington <chris@aaware.com>, Jason Calderwood <jason@aaware.com>
License-Expression: GPL-3.0-only
Requires-Python: >=3.13, <3.15
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://aaware.com

# SonusAI

Aaware Sound and Voice Machine Learning Framework.

SonusAI is a Python framework for building deep neural network models for sound, speech, and voice AI, with a performance-critical core implemented in Rust.

## Key Features

- **Performance Core**: High-performance signal processing and data management in Rust.
- **Data Augmentation**: Advanced noise mixing, pitch shifting, and time-stretching.
- **Model Support**: Training and evaluation support for RCNNs, binary, and multi-label classification.
- **Mixture Generation**: Powerful engine for creating complex audio mixture databases.

## Getting Started

Refer to the [Development Guide](docs/development.md) for installation and setup instructions.

### Prerequisites
- Python 3.13+ (Python 3.13 and 3.14 supported)
- Rust Toolchain
- `uv`

### Quick Build
```bash
./build_local.sh
```

## Documentation

- **[CLI Reference](docs/cli.md)**: Detailed overview of all `sonusai` commands.
- **[Development Guide](docs/development.md)**: Setup, build, and test instructions.
- **[Data Formats & Dimensions](docs/data_formats.md)**: Technical specifications for data processing.
- **[Architecture](.context/architecture.md)**: Details on the Rust/Python integration.
- **[Plugins](.context/plugin_architecture.md)**: Summary of the plugin and extension system.

## Current Performance Investigation Focus

- Active performance work is focused on `genmixdb` (mixture database generation) to establish bottlenecks before runtime refactoring.
- Real-world benchmark scenarios are currently centered on configurations under `examples/` including `mcgsp-valid`, `vctk28n2paper`, `voicebank`, and `voicebank8kof`.
- Results are intended to guide both SonusAI core changes and downstream data-loading experience in `sonusai_torchl` projects.

## Command Overview

```
   calc_metric_spenh            Run speech enhancement and analysis
   doc                          Documentation
   evaluate                     Evaluate model performance
   genft                        Generate feature and truth data
   genmix                       Generate mixture and truth data
   genmixdb                     Generate a mixture database
   gentcst                      Generate target configuration from a subdirectory tree
   keras_onnx                   Convert a trained Keras model to ONNX
   keras_predict                Run Keras predict on a trained model
   keras_train                  Train a model using Keras
   lsdb                         List information about a mixture database
   mkmanifest                   Make ASR manifest JSON file
   mkwav                        Make WAV files from a mixture database
   onnx_predict                 Run ONNX predict on a trained model
   plot                         Plot mixture data
   post_spenh_targetf           Run post-processing for speech enhancement targetf data
   torchl_onnx                  Convert a trained Pytorch Lightning model to ONNX
   torchl_predict               Run Lightning predict on a trained model
   torchl_train                 Train a model using Lightning
   tplot                        Plot truth data
   vars                         List custom SonusAI variables
```

Use `sonusai help <command>` for detailed information on any command.

