PyAbsorp is a python module that has the main focus to help estimate the Sound Absorption Coefficient.

Overview

GitHub release GitHub last commit GitHub issues LICENSE

PyAbsorp logo

This is a package developed to be use to find the Sound Absorption Coefficient through some implemented models, like Biot-Allard, Johnson-Champoux and others. This project is in alpha stage.

Dependencies

PyAbsorp runs under Linux, Windows and MacOS, a Python 3.8.10 installation is needed with the latest Numpy (1.20.3 or higher), Scipy (1.6.3 or higher). Matplotlib is recommended, but not necessary.

Implemented Models

  • Delany-Bazley (with Miki and Allard-Champoux variation)
  • Biot-Allard
  • Johnson-Champoux (with Allard and Lafarge variation)
  • Rayleigh

How to Install

  1. First make sure that you have the package setuptools installed.
  2. Install through pip, by using the following command: pip install git+https://github.com/Toktom/PyAbsorp

Future Objectives

  • More analytic models (Wilson and others).
  • Code validation.
  • Implementation of absorbers models.
  • Theoretical review of the implemented models.
  • English review.

How to contribute

For more details, read the CONTRIBUTING file.

License

This project is under MIT License. Check the license here.

Authors

Contributors

You might also like...
Oliva music bot  help to play vc music
Oliva music bot help to play vc music

OLIVA V2 🎵 Requirements 📝 FFmpeg NodeJS nodesource.com Python 3.7+ PyTgCalls Commands 🛠 For all in group /play - reply to youtube url or song file

This is an AI that runs in the terminal. It is a voice assistant that can do common activities and can also help in your coding doubts like

This is an AI that runs in the terminal. It is a voice assistant that can do common activities and can also help in your coding doubts like

SolidMusic rewrite version, need help

Telegram Streamer Bot This is rewrite version of solidmusic, but it can't be deployed now, help me to make this bot running fast and good. If anyone w

A Simple Script that will help you to Play / Change Songs with just your Voice
A Simple Script that will help you to Play / Change Songs with just your Voice

Auto-Spotify using Voice Recognition A Simple Script that will help you to Play / Change Songs with just your Voice Explore the docs » Table of Conten

Python module for handling audio metadata

Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC, MP4, Monkey's Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg The

Speech recognition module for Python, supporting several engines and APIs, online and offline.

SpeechRecognition Library for performing speech recognition, with support for several engines and APIs, online and offline. Speech recognition engine/

cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

Audio fingerprinting and recognition in Python
Audio fingerprinting and recognition in Python

dejavu Audio fingerprinting and recognition algorithm implemented in Python, see the explanation here: How it works Dejavu can memorize audio by liste

Comments
  • Calculate absorption from different frequencies with the same material

    Calculate absorption from different frequencies with the same material

    I've just changed a few lines on the Material class, that no longer requires an array of frequency values to be instantiated. The frequencies are now passed as an argument of the estimate_absorption method, then it is stored for further referencing.

    This allows better coupling with other empirical, analytical and numerical models, since different methods might need a different range of frequencies.

    opened by Chum4k3r 0
  • Improved API

    Improved API

    I've been watching your development for a while now and it is really impressive!

    As my contribution to your wonderful package, I've developed two classes that may help on code modularization and reuse.

    The AirProperties class is a simple interface to the air_properties function, that can have values reset and recalculate its own properties.

    The Material class is an abstraction of a single material being studied, it holds physical information such as its thickness, porosity, tortuosity, etc, and also a reference to air properties and an array of frequencies to be modelled against.

    The great trick here is the estimate_absorption method, which take a simple string with the absorption model name (e.g. "biot-allard" for Biot-Allard model), or even easier, only the model initials (e.g. "db" for Delany-Bazley model).

    It also allows the use of model variations, such as the "allard" or "lafarge" versions of the Johnson-Champoux model by passing the corresponding string argument to the var parameter.

    I've taken the care to document the most of it and work on two example codes that does the same job as the example_johnson_champoux.py code.

    Feel free to question or to make any suggestions. Stay safe, wear mask and keep coding :D

    opened by Chum4k3r 0
  • Johnson-Champoux-Allard-Pride-Lafarge Model Implementation

    Johnson-Champoux-Allard-Pride-Lafarge Model Implementation

    I was trying to implement the Johnson-Champoux-Allard-Pride-Lafarge model, but I'm stuck because I didn't understand how to obtain the Static Viscous Tortuosity and the Static Thermal Tortuosity required in the mathematical formulation. I did some research and I dind't find anything that could help me. I looked into the book Propagation of Sound in Porous Media by Jean F. Allard and Noureddine Atalla but the explanation about Static Viscous Tortuosity it's pretty short and a bit abstract to comprehend, and I didn't find anything around Static Thermal Tortuosity. I was following the version of the mathematical formulation presented in the website APMR (Acoustical Porous Material Recipes). If someone has any suggestion to how I figure it this problem out, please contact me.

    enhancement help wanted 
    opened by Toktom 1
  • Code validation

    Code validation

    Hello I'm Michael the developer of this small project that is just the implementation of some of the models that are use to find the sound absorption coefficient and I'm looking for help. I implemented the models and so far so good. But I need help to validate that all implementations are correct. So, I need people to test the code, check for errors (within the mathematical formulations I implemented) and also suggest improvements to the project, models that could still be implemented, among other related things. So, if you have tested the code, I ask you to leave your feedback below.

    help wanted good first issue 
    opened by Toktom 2
Releases(v0.2.1)
  • v0.2.1(Jun 14, 2021)

    Introduced features: [FEATURE] Delany-Bazley (with Miki and Allard-Champoux variation) model [FEATURE] Biot-Allard model [FEATURE] Johnson-Champoux (with Allard and Lafarge variation) [FEATURE] Rayleigh [FEATURE] Functions for calculating air properties (also has a class alternative, highly recommended) [FEATURE] Material class

    Source code(tar.gz)
    Source code(zip)
Owner
Michael Markus Ackermann
Acoustical Engineering Student
Michael Markus Ackermann
Python interface to the WebRTC Voice Activity Detector

py-webrtcvad This is a python interface to the WebRTC Voice Activity Detector (VAD). It is compatible with Python 2 and Python 3. A VAD classifies a p

John Wiseman 1.5k Dec 22, 2022
pedalboard is a Python library for adding effects to audio.

pedalboard is a Python library for adding effects to audio. It supports a number of common audio effects out of the box, and also allows the use of VST3® and Audio Unit plugin formats for third-party

Spotify 3.9k Jan 02, 2023
Klangbecken: The RaBe Endless Music Player

Klangbecken Klangbecken is the minimalistic endless music player for Radio Bern RaBe based on liquidsoap. It supports configurable and editable playli

Radio Bern RaBe 8 Oct 09, 2021
DCL - An easy to use diacritic library used for diacritic and accent manipulation.

Diacritics Library This library is used for adding, and removing diacritics from strings. Getting started Start by importing the module: import dcl DC

Kreus Amredes 6 Jun 03, 2022
C++ library for audio and music analysis, description and synthesis, including Python bindings

Essentia Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPL license.

Music Technology Group - Universitat Pompeu Fabra 2.3k Jan 03, 2023
digital audio workstation, instrument and effect plugins, wave editor

digital audio workstation, instrument and effect plugins, wave editor

306 Jan 05, 2023
Synchronize a local directory of songs' (MP3, MP4) metadata (genre, ratings) and playlists with a Plex server.

PlexMusicSync Synchronize a local directory of songs' (MP3, MP4) metadata (genre, ratings) and playlists (m3u, m3u8) with a Plex server. The song file

Tom Goetz 9 Jul 07, 2022
Play any song directly into your group voice chat.

Telegram VCPlayer Bot Play any song directly into your group voice chat. Official Bot : VCPlayerBot | Discussion Group : VoiceChat Music Player Suppor

Shubham Kumar 50 Nov 21, 2022
Xbot-Music - Bot Play Music and Video in Voice Chat Group Telegram

XBOT-MUSIC A Telegram Music+video Bot written in Python using Pyrogram and Py-Tg

Fariz 2 Jan 20, 2022
music library manager and MusicBrainz tagger

beets Beets is the media library management system for obsessive music geeks. The purpose of beets is to get your music collection right once and for

beetbox 11.3k Dec 31, 2022
Gammatone-based spectrograms, using gammatone filterbanks or Fourier transform weightings.

Gammatone Filterbank Toolkit Utilities for analysing sound using perceptual models of human hearing. Jason Heeris, 2013 Summary This is a port of Malc

Jason Heeris 188 Dec 14, 2022
🎵 A music bot for discord servers!

music bot A music bot for Discord Servers Features Play songs in your discord server Get the lyrics without going on a web explorer Commands Command P

1 Jul 25, 2022
A Python library and tools AUCTUS A6 based radios.

A Python library and tools AUCTUS A6 based radios.

Jonathan Hart 6 Nov 23, 2022
Praat in Python, the Pythonic way

Parselmouth - Praat in Python, the Pythonic way Parselmouth is a Python library for the Praat software. Though other attempts have been made at portin

Yannick Jadoul 786 Jan 09, 2023
Terminal-based audio-to-text converter

att Terminal-based audio-to-text converter Project description A terminal-based audio-to-text converter written in python, enabling you to convert .wa

Sven Eschlbeck 4 Dec 15, 2022
An AI for Music Generation

An AI for Music Generation

Hao-Wen Dong 1.3k Dec 31, 2022
Spotipy - Player de música simples em Python

Spotipy Player de música simples em Python, utilizando a biblioteca Pysimplegui para a interface gráfica. Este tocador é bastante simples em si, mas p

Adelino Almeida 4 Feb 28, 2022
MelGAN test on audio decoding

Official repository for the paper MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis The original work URL: https://github.com

Jurio 1 Apr 29, 2022
[Singing Log] Let your program learn to sing!

[Singing Log] Let your program learn to sing! You must have thought this was changelog when you saw the English title, but it's not, it's chànggēlog. What it does is allow your program to print logs

黄巍 22 Sep 03, 2022
TONet: Tone-Octave Network for Singing Melody Extraction from Polyphonic Music

TONet Introduction The official implementation of "TONet: Tone-Octave Network for Singing Melody Extraction from Polyphonic Music", in ICASSP 2022 We

Knut(Ke) Chen 29 Dec 01, 2022