Metadata-Version: 2.4
Name: radiosonic
Version: 20260312.1
Summary: Python tools for the RadioSonic platform
Author-email: Dan Boschen <admin@sigprolabs.com>
License-Expression: LicenseRef-RadioSonic-1.0
Project-URL: Homepage, https://github.com/sigprolabs/radiosonic
Project-URL: Repository, https://github.com/sigprolabs/radiosonic
Keywords: audio,dsp,signal-processing,radiosonic,jupyter
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: sounddevice
Requires-Dist: soundfile
Requires-Dist: pyserial
Requires-Dist: ipywidgets
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: jupyterlab; extra == "dev"
Dynamic: license-file

# RadioSonic

Python tools for the RadioSonic platform — audio capture, DSP utilities, and serial terminal support for Jupyter notebooks.

## Installation

```bash
pip install radiosonic
```

Or install from source:

```bash
git clone https://github.com/sigprolabs/radiosonic.git
cd radiosonic
pip install -e .
```

## Modules

- **audio** — Audio device management and recording (`capture_load`, `refresh_audio_devices`, WASAPI exclusive mode support)
- **signal** — DSP utilities (`normalize`, `xcorr` cross-correlation)
- **serial** — Jupyter-based serial terminal UI for DSP hardware (`terminal`, `send`, `send_wait`)

## Quick Start

```python
import radiosonic as rsonic

# Record 5 seconds of audio
x, fs = rsonic.capture_load("capture.wav", duration=5, fs=48_000, channels=2)

# Normalize
x_norm = rsonic.normalize(x)
```

## Requirements

- Python >= 3.10
- numpy, sounddevice, soundfile, pyserial, ipywidgets

## License

See [LICENSE](LICENSE).
