Skip to main content

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

Project description

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 📬

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

aulos-0.1.3.tar.gz (47.0 kB view details)

Uploaded Source

Built Distribution

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

aulos-0.1.3-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

File details

Details for the file aulos-0.1.3.tar.gz.

File metadata

  • Download URL: aulos-0.1.3.tar.gz
  • Upload date:
  • Size: 47.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aulos-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ba00c8bccc0bf3a9e63cd58ef5754d69e2f045eb658866ebd657bea0bac6d84e
MD5 cdc8ee4d80ba5237cd3f7c9e60708517
BLAKE2b-256 a3e049961d170fd9a5ce863ee19a5eb864a029838cdbf3b15331d9709403e979

See more details on using hashes here.

Provenance

The following attestation bundles were made for aulos-0.1.3.tar.gz:

Publisher: deploy.yml on Oujox/aulos

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

File details

Details for the file aulos-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: aulos-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 46.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aulos-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 aee598a96f59bf15ca75603cdc523c7cba6e15ec094a29191c32541bd7b22a45
MD5 c7f6e966085aa0e939d29e36f24460f1
BLAKE2b-256 99ac94edf251edd98721723d41535ff788ebea52337e01a5e895fc00c052599c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aulos-0.1.3-py3-none-any.whl:

Publisher: deploy.yml on Oujox/aulos

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