Skip to main content

Open-source toolkit for phonetics and speech-science research.

Project description

sadda

Sadda (Pali: सद्द) — sound, voice.

An open-source toolkit for phonetics and speech-science research.

Install

pip install sadda

Pre-built wheels are available for Linux x86_64, macOS arm64, and Windows x86_64 on Python 3.10–3.13. Other platforms install from sdist; you'll need a Rust toolchain locally.

Quickstart

import sadda
from pathlib import Path

proj = sadda.new_project(Path("vowels"), name="vowel-study")
bundle_id = proj.add_bundle("speaker_01", Path("rec01.wav"))

audio = proj.load_audio(bundle_id)
pitch = sadda.dsp.voiced_pitch(
    audio.samples.astype("float32"),
    audio.sample_rate,
)

proj.import_textgrid(Path("phones.TextGrid"), bundle_id)
df = proj.query(tier_id="phones")

Full walk-through at the quickstart.

What's in the box

  • Corpus model — projects, bundles, six tier types (interval, point, reference, dense numeric / vector / categorical), parent- child cardinality, append-only audit log.
  • DSP toolkit — windowing, STFT, spectrogram, intensity, pitch (autocorrelation + voicing), LPC formants, MFCC.
  • Interop — Praat TextGrid and ELAN .eaf import/export with documented lossiness and a JSON-sentinel for extra payloads.
  • Live recording — cpal-driven capture with streaming meter / pitch / intensity / formants subscribers; atomic commit into the project.
  • Recipeswith sadda.recipe.record(proj, name="..."): links operations to a named record and emits a runnable .py script.

Status by module:

Tier Modules
Stable sadda.corpus, sadda.dsp, top-level project loaders
Provisional sadda.live, sadda.recipe
Experimental none yet

Documentation

Repository structure

sadda/
├── crates/
│   ├── engine/        Core Rust engine — DSP, corpus, I/O
│   ├── python/        PyO3 bindings; built into the `sadda` Python module via maturin
│   ├── app/           Desktop GUI (egui + wgpu) — planned for Phase 2
│   └── uniffi/        UniFFI bindings for mobile (iOS / Android) — planned for Phase 8
├── python/sadda/      Python wrapper around the Rust extension
├── docs/              mkdocs-material site source
├── DEVLOG.md          Design-decision log
├── CHANGELOG.md       Versioned release history
├── Cargo.toml         Rust workspace root
├── pyproject.toml     Python project metadata + maturin config
└── mkdocs.yml         Docs site config

Development

Requirements:

  • Rust stable (managed via rust-toolchain.toml)
  • Python 3.10+
  • uv for Python environment management
# Rust workspace
cargo build
cargo test

# Python extension + tests
uv sync
uv run pytest python/tests/

# Docs site (auto-rebuilds on save)
uv pip install mkdocs-material "mkdocstrings[python]"
mkdocs serve

License

Dual-licensed under either of:

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sadda-0.1.1.tar.gz (173.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sadda-0.1.1-cp313-cp313-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.13Windows x86-64

sadda-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

sadda-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

sadda-0.1.1-cp312-cp312-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.12Windows x86-64

sadda-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sadda-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

sadda-0.1.1-cp311-cp311-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.11Windows x86-64

sadda-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sadda-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

sadda-0.1.1-cp310-cp310-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.10Windows x86-64

sadda-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sadda-0.1.1-cp310-cp310-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file sadda-0.1.1.tar.gz.

File metadata

  • Download URL: sadda-0.1.1.tar.gz
  • Upload date:
  • Size: 173.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sadda-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fb7465bb81d1cd9e62388ab250c3ce100113d440d788535986302f82bc681a5d
MD5 10ec4bbf3347f84186265fe9797d4ae4
BLAKE2b-256 07fe396b28aaca45a12a2b5dcdb9096140fcd1461b46bc828a34895a251f1ff4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1.tar.gz:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sadda-0.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sadda-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9c8a1b85f74bc7e8dd5e30c113a3d4a3ac339d9d884b54c9b5ab98fb4d09720e
MD5 1dff93fb0ed6885ddeda0ab4413b3c95
BLAKE2b-256 34135f135e6d78543ee645a836701fdc4c898761d5b9785a8983b2303791948f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sadda-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5381e45d76a8042753f761738ad55538b4291986a0cffaca0c44ce43dcb2480d
MD5 1c89b81433212da398ee51377d1e941d
BLAKE2b-256 d1f255eb387bfdd1834ab1e4a3ae0893c7ce7c34ea09163750a56002c1c135ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sadda-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8c2fa787d052d9f50ed20d817e57f6c268259a04fb677c573626431fee7d9a1
MD5 5cad9ebcab746ebd1fc20da46d10c95e
BLAKE2b-256 cc546ab809aa46ca52bbea42e2d73d6de0d07614b528a969e399f3d5e199434d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sadda-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sadda-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eab7305ece94c5a6a9c16c68f8f5f2b0262ceb0340e219b06cac482734a55c5e
MD5 b110162a824e83cb181ba4df9afee8da
BLAKE2b-256 63e777980034b37443b98f176ec211a8ec5a53207bc7f0d11ab00fcbf03f045f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sadda-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7871d5d18c482f659b811dc9aff0250396f54a76ee0dd64219e01e472b82b798
MD5 3219bfb4bdc2ff08c506d8f460895dfe
BLAKE2b-256 d2fbd43a2cc454d33870f48d8572fdb567ab21f16ea6e49884b85b968a9cd0d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sadda-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27c686f42cf58fd1c070baa2d0ffca6480162bb6c6b0e54ec74c063d636cb6a9
MD5 ae0cc0200f44b3662dc358ad7e3a3385
BLAKE2b-256 cf2f9293af26e8cf0e8ac81b69183172e9245cf561c200dc925e080c10f0d303

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sadda-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sadda-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ece635451ec7f702e06a6711d5e342aaf691f03d913081f3416a898129ca7816
MD5 de4b436b426f260db8bbbf32e7dc84b8
BLAKE2b-256 598dcbcf89579b557f84845b36e83d8941c9a6692b78332b5efe119eddbf7ef0

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sadda-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dae5aed5d9ca27fdf14d66c3b4695dbf9e529e3e46693ff9cded9afdda3c99d7
MD5 13e5958efb099ac044b8277a0345579f
BLAKE2b-256 8d448b28cf5e6dd72d8bee3814e6af24d08d7d6b0a4ad13e145484900826ece2

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sadda-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 959d716bd0788a2d427aa63ada450cc74ef18a1ba7c938d43007c7eaf8c4b7bd
MD5 6d5991ca2df5d2c4bca87326d40dfbb1
BLAKE2b-256 87dc6707e5d3b44c329d872434d4493eaa2ec6a4d2ef8fa1afcfd3de5c3586a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sadda-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sadda-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 258ed548b6cc9a8ee5c50044f9c406fd21fb65e81e4e6a134586862a673d5a2b
MD5 698a4c1ef1bc0789095a1989f9f3fb14
BLAKE2b-256 129c6dbe8a0ff5eab34cd642befda28954c732a0b55c2f049c31fb96ce2cf509

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sadda-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9cfafb525a514c721b48085bb7946d07343960df85cf644d879cc32e2d3d9161
MD5 3aeec8400de3612ee5eec733b457f9c0
BLAKE2b-256 745d2a174e9da341c76c15be84a833589ffe6fdfbebdd0969f31cff0636d1b40

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sadda-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sadda-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 211559d07843e813f0734202e6b309bcf6eb17bdf8b5a525da8a18f686cb20aa
MD5 0a68bac0f237551262b55800e79732d3
BLAKE2b-256 14f1071eefe17e2f23e06ed23accb73f86899d1aa4186e44c6f3abb30ebed41a

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on sadda-speech/sadda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page