Skip to main content

aulos

Python library for speech processing and analysis from a music theory perspective.

CI/CD Test Build & Publish
Package pypi - version pypi - python versions
Meta codecov Ruff mypy License

Features ✨

  • Comprehensive tools for audio processing and analysis based on music theory principles.
  • A structured framework for organizing and working with music theory objects.
  • Flexible and extensible design, allowing seamless customization and expansion.

Installation 🛠️

Install the package using pip:

pip install aulos

Usage 📖

from aulos.TET12 import Note, PitchClass

print(Note("C#4"))
# stdout:
# <Note: C#4, scale: None>

print(PitchClass("C#"))
# stdout:
# <PitchClass: C#, scale: None>
from aulos.TET12 import Key
from aulos.TET12 import Major, Dorian, Pentatonic

print(Major(Key("C")))
# stdout:
# <Major: <Key: C>>

print(Dorian(Key("C")).components)
# stdout:
# (<PitchClass: C, scale: <Dorian: <Key: C>>>,
#  <PitchClass: D, scale: <Dorian: <Key: C>>>,
#  <PitchClass: Eb, scale: <Dorian: <Key: C>>>,
#  <PitchClass: F, scale: <Dorian: <Key: C>>>,
#  <PitchClass: G, scale: <Dorian: <Key: C>>>,
#  <PitchClass: A, scale: <Dorian: <Key: C>>>,
#  <PitchClass: Bb, scale: <Dorian: <Key: C>>>)

print(Pentatonic(Key("C")).components)
# stdout:
# (<PitchClass: C, scale: <Pentatonic: <Key: C>>>,
#  <PitchClass: D, scale: <Pentatonic: <Key: C>>>,
#  <PitchClass: E, scale: <Pentatonic: <Key: C>>>,
#  <PitchClass: G, scale: <Pentatonic: <Key: C>>>,
#  <PitchClass: A, scale: <Pentatonic: <Key: C>>>)
from aulos.TET12 import Chord
from aulos.TET12 import Major

print(Chord("C").components)
# stdout:
# (<Note: ['Dbb4', 'C4', 'B#3', 'A###3'], scale: None>,
#  <Note: ['Gbbb4', 'Fb4', 'E4', 'D##4'], scale: None>,
#  <Note: ['Abb4', 'G4', 'F##4', 'E###4'], scale: None>)

print(Chord("CM7", scale=Major("C")).components)
# stdout:
# (<Note: C4, scale: <Major: <Key: C>>>,
#  <Note: E4, scale: <Major: <Key: C>>>,
#  <Note: G4, scale: <Major: <Key: C>>>,
#  <Note: B4, scale: <Major: <Key: C>>>)
from aulos.TET12 import Note
from aulos.TET12 import JustIntonationTuner, Equal12Tuner

print(Note("C4", tuner=Equal12Tuner(440)).hz)
# stdout:
# 440.0

print(Note("A4", tuner=JustIntonationTuner(440)).hz)
# stdout:
# 733.3333333333333

Dependencies 🧩

This project uses the following libraries and tools for development and testing.

Runtime Dependencies 📂

This project's final product depends only on Python's standard library. No third-party libraries are required at runtime.

Development Libraries 🛠️

The following libraries are used during development and testing but are not included in the final product

License 📜

This project is distributed under the MIT License. For more information, refer to the LICENSE file.

Contact 📬

Metadata

Release files for aulos 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aulos 0.1.3
File Size Uploaded
aulos-0.1.3.tar.gz 47.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aulos 0.1.3
File Interpreter ABI Platform
aulos-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 93.9 kB

Release files / aulos-0.1.3.tar.gz

Download URL aulos-0.1.3.tar.gz
Size 47.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ba00c8bccc0bf3a9e63cd58ef5754d69e2f045eb658866ebd657bea0bac6d84e
BLAKE2b-256 checksum
How to use checksums
a3e049961d170fd9a5ce863ee19a5eb864a029838cdbf3b15331d9709403e979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2025.

Transparency log

Release files / aulos-0.1.3-py3-none-any.whl

Download URL aulos-0.1.3-py3-none-any.whl
Size 46.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aee598a96f59bf15ca75603cdc523c7cba6e15ec094a29191c32541bd7b22a45
BLAKE2b-256 checksum
How to use checksums
99ac94edf251edd98721723d41535ff788ebea52337e01a5e895fc00c052599c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page