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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

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

Uploaded CPython 3.13Windows x86-64

sadda-0.1.0-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.0-cp313-cp313-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

sadda-0.1.0-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.0-cp312-cp312-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

sadda-0.1.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (3.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

sadda-0.1.0-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.0-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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sadda-0.1.0-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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 922517e7e0ab720016788e52f93cb23fed6de4aa061fff079338acc1453864e6
MD5 8939922f5b7e6ac9e53741bbac30d153
BLAKE2b-256 297ced62ea652cecfea82c537b213b680874e8b1ce2d99b16aa9f8c87e4eb06a

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sadda-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8fc331b44a19e6e1e1bebdaef8af5cc3d66ac17e1136561b5918adeb23c784da
MD5 0f073686acc901488727b3bfa901aff0
BLAKE2b-256 d505de0b289ad5a40514f76d318c44588bc4ecff24189cfe589e402fdfd4c647

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sadda-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5549acd61a9f7e054e600b86eb450f35d05c936a41e116686c18d88bcdd8f8b3
MD5 7d5ee04c2bb3ce6b5bb1d3ff4e7e05dc
BLAKE2b-256 d03a9458de30d3cb53a6f058bd8ff142d2bed3c9106e859fd0661382dc47e688

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sadda-0.1.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7fa4274b92689ba2896fa7058f706b72646b5929e7542d3b6a68a41e97118ff1
MD5 9b80ba9d2208b79605d13ddc8e350dfa
BLAKE2b-256 caa72197f419aa2f09d8c0b1051036a061fe0281120e0f87ad40dbbf5a40aab9

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sadda-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa178d55af98f5567b981f32d97c7b4b021c0d0355ef99ea33498c73dbd9d6c0
MD5 766259c34a0a9e4e6427fed32355bbef
BLAKE2b-256 6866b1f9b06c6e46ad25449f2a310d4b7cf97b776146e00b24c41f2324b19712

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sadda-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b8e76b635e40fd2c9d02126b1e73d86010cd9a27d58ae94e318439ff84f35b5
MD5 3562f31ad08e7c86a3324e1c4d2e0fe6
BLAKE2b-256 4fb7e68244dd4ec5fd8c86fe128a9ef5e4929fc274c2d06477b7ae3328f66629

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sadda-0.1.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8099a925a98fe7e3cebdd2c27780c8f39b4dcde353b0bd18f78f20874e45efc3
MD5 903dbf7cf91a3f31dc3a1cc1d604a0d4
BLAKE2b-256 42a4d324c253536eb887e36b9d9f625cd7abac5edaa5dad71221304b87dbd06f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sadda-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d191cd4e6984f69f2ed1270b1e80d78f06c32a0ca7f7d7653339db0736d597c
MD5 334f06cb34c6bee4ec99773ec0bc4b2d
BLAKE2b-256 0e67fd6426b97a1229ba5dbf03a4f4025449164a5e2da1ee96e84e40613f33c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sadda-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bde57aa3d01b58c5cb66d06b1f30d6f59b989cab6c9860c216782a5ce8af2c8f
MD5 5799f786c1d8d29114d50c3dadaef363
BLAKE2b-256 44104922ca1562c5115b4a3684b51ba95970ac639b9480cba245bb710b914a27

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sadda-0.1.0-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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e720761ac783ba17774030c3e8977ee9b96c3b5e4a22985043ea78eaf586b9f2
MD5 9a5ef9136ea8c7eaad4092d00552467c
BLAKE2b-256 a052bea3b5fd6288ce88c112cc127a1aa9b3bb19afb3e2bc1449a14584af4de8

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sadda-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76ea68643c196190510b138a900f84fc0a813d45d2388144d311606364d67b75
MD5 8f460e2e09d8d6be2a949db2852d307b
BLAKE2b-256 de3ae3baff1c05a54d63e0870430f6d3b7ac33ba224058dfff2950aac0e37308

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for sadda-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f466aadd41d7297f9de219730a7916f974f6f74248f00473a460a571763b52a0
MD5 4c5303629c64e88797fd04ea722e757c
BLAKE2b-256 a1f91ffaf3f0533bc0638ad5c0c272c2d0d89e76e8d9998090c143e5f23e77fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for sadda-0.1.0-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