Skip to main content

Signal processing tools for acoustics and vibrations in python, development package.

Project description

PyTTa License PyTTa Python supported versions PyTTa PyPI version PyTTa PyPI downloads PyTTa build workflow status

PyTTa (Python in Technical Acoustics)

The project began as an effort to create audio, acoustics, and vibration data acquiring and analysis toolbox to a free cost level, high-end results, combining the passion for programming with the expertise in Acoustics and Vibration of the Acoustics Engineers from the Federal University of Santa Maria (Southern Brazil).

We are students, teachers, engineers, passionate and inquiring people, on the first steps of a journey throughout the Python path to bring Acoustics to the Open Seas, Open Sources, and Open World!

Usage

We strongly recommend using Anaconda Python Distribution, as it integrates an IDE (Spyder) and lots of packages over which PyTTa is based on as Numpy, Scipy, Matplotlib, and PyPI (pip). The latter is used to install Sounddevice and PyTTa itself.

The toolbox offers some main classes intended to do measurements (Rec, PlayRec, and FRFMeasurement), handle streaming functionalities (Monitor and Streaming), handle signals/processed data (SignalObj and Analysis), filter (OctFilter), communicate with some hardware (LJU3EI1050), and also new features containing an object-oriented implementation.

There are some assistant functions intended to manipulate and visualize signals and analyses stored as SignalObj and Analysis objects. These functions are called from the toolbox's top level.

The top-level modules offer tools that receive as arguments and return PyTTa objects. Utilities comprise signal synthesis (pytta.generate), room acoustics parameters calculation (pytta.rooms), and some other calculations according to standards (pytta.iso3741).

The sub-packages contains some expansion of the toolbox, as general utilities (pytta.utils) and applications built from the toolbox's basic functionalities (pytta.roomir).

PyTTa is now a multi-paradigm toolbox, which may change in the future. We aim from this point on to be more Pythonic, and therefore, more objected-oriented.

Documentation

This package aims to be an easy interface between acousticians and vibrational engineers in the use of Python for study, engineering, or any other ends that it may suit. From import to each function and attribute we wrote a little documentation that may be useful for understanding everything available, and what is just a means to an end.

To begin, one can try:

>>> import pytta
>>> pytta.list_devices()
>>> pytta.default()

This set of commands will print the available audio I/O devices and the default parameters as they are on the default class object.

To read everything ready for use on the package, and assuming the use of Spyder IDE, one can press "ctrl+i" with the cursor in front of the module, submodule, class, methods, or function names; this will open the help menu with the documentation of the respective item.

>>> pytta|
>>> pytta.properties|
>>> pytta.generate|
>>> pytta.functions|
>>> pytta.classes|
>>> pytta.apps|
>>> pytta.utils|

The | represents the cursor position to press "ctrl+i" to use the Spyder help widget.

Inside each submodule, the user will find instructions on the available tools, and how to access them.

The documentation is also available at Read The Docs: https://pytta.readthedocs.io/

Dependencies

  • Numpy;
  • Scipy;
  • Matplotlib;
  • Sounddevice;
  • Soundfile;
  • H5py; and
  • Numba.

Installation

To install the last version compiled to pip, which can be slightly behind of development branch, do:

>>> pip install pytta

If you want to check the most up to date beta version, please get the development branch source code, clone our repository to your local git, or even install it from pip, as follows:

>>> pip install git+https://github.com/pyttamaster/pytta@development

Contributing as a user

Using the toolbox, you are already contributing. If you experience any bugs, have any suggestions or ideas, have anything to say about it, please consider sending us a message.

Contributing as a developer

Please read our CodingGuidelines and Contributing files.

Contact

Contact us at pytta@eac.ufsm.br .

Acknowledge

If you use PyTTA in your research, work, paper, or university assignment, acknowledge and cite us if possible. 🙏

BibTex file PyTTa.bib

More information

Acoustical Engineering UFSM Website

UFSM Website

Download Spyder (with Anaconda)

Or Miniconda

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

PyTTa-0.1.1.tar.gz (104.6 kB view details)

Uploaded Source

Built Distribution

PyTTa-0.1.1-py3-none-any.whl (113.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: PyTTa-0.1.1.tar.gz
  • Upload date:
  • Size: 104.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for PyTTa-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b9f31aae422fffff2f1667e01bd85a326781b3aab7a1b217c817a434a014d1bf
MD5 f0fa43c1b6900c002120e87c32efbcf4
BLAKE2b-256 f838d86babc7336c474cc9b64d126b3749ca8269c2ce097f185878eef3f8e366

See more details on using hashes here.

File details

Details for the file PyTTa-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: PyTTa-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 113.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for PyTTa-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b9b9195512fc1bf9538d5ba97207ab456be4bff7e7b046c1c50983375c2480c1
MD5 b91325b1161814a8ecfeaf8cb477aeee
BLAKE2b-256 dc73f3ca03a9ce1fbcd4c01e22c6d143c455750a9904b1f36214308fd2ee517d

See more details on using hashes here.

Supported by

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