Metadata-Version: 2.4
Name: sonusai
Version: 1.1.2
Requires-Dist: dataclasses-json>=0.6.7,<1.0
Requires-Dist: docopt>=0.6.2,<1.0
Requires-Dist: h5py>=3.12.1,<4.0
Requires-Dist: jiwer>=4.0,<5.0
Requires-Dist: librosa>=0.10.2.post1,<1.0
Requires-Dist: matplotlib>=3.9.2,<4.0
Requires-Dist: mgzip>=0.2.1,<1.0
Requires-Dist: numpy>=2,<2.3
Requires-Dist: onnx>=1.17.0,<2.0
Requires-Dist: onnxruntime>=1.19.2,<2.0
Requires-Dist: paho-mqtt>=2.1.0,<3.0
Requires-Dist: pandas>=2.2.3,<3.0
Requires-Dist: pesq>=0.0.4,<1.0
Requires-Dist: pgzip>=0.3.5,<1.0
Requires-Dist: praatio>=6.2.0,<7.0
Requires-Dist: psutil>=7.0.0,<8.0
Requires-Dist: pyaaware>=2.3,<3.0
Requires-Dist: pyaudio>=0.2.14,<1.0
Requires-Dist: pydub>=0.25.1,<1.0
Requires-Dist: pyparsing>=3.2.3,<4.0
Requires-Dist: pystoi>=0.4.1,<1.0
Requires-Dist: pyyaml>=6.0.2,<7.0
Requires-Dist: requests>=2.32.3,<3.0
Requires-Dist: rich>=14.0.0,<15.0
Requires-Dist: samplerate>=0.2.1,<1.0
Requires-Dist: scikit-learn>=1.6.1,<2.0
Requires-Dist: scipy>=1.15.0,<2.0
Requires-Dist: sh>=2.2.2,<3.0
Requires-Dist: soundfile>=0.12.1,<1.0
Requires-Dist: sox>=1.5.0,<2.0
Requires-Dist: torch>=2.8,<3.0
Requires-Dist: torchaudio>=2.8,<3.0
Requires-Dist: tqdm>=4.66.5,<5.0
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.11, <3.12
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.11
- 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.

## 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.

