faroit / bat_beamshapes

Directivity functions for various sound sources

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status status Documentation Status

Beamshapes

Calculate directivity of various sound source models and get their beamshapes.

This package is released under an MIT license.

Getting started with beamshapes

>>> import matplotlib.pyplot as plt 
>>> import numpy as np 
>>> import beamshapes
>>> from beamshapes import piston_in_infinite_baffle_directivity as PIB # short alias
>>> input_parameters = {'k':50, 'a':0.1}
>>> angles = np.linspace(-np.pi/2,np.pi/2,50)
>>> _, directionality = PIB(angles, input_parameters) # output the dB(D(theta)/D(on-axis))
>>> plt.figure();a0 = plt.subplot(111, projection='polar')
>>> plt.plot(angles, directionality) # plot the beamshape !!

For more detailed use-cases, check out the example gallery online!

Installation

PyPi installation (>=version 0.2.1)

pip install beamshapes

Local installation instructions For the steps below to work you need to have a working Python installation that you can access from the command line. It is recommended to do the installation in a virtual environment.

  1. Clone the Github repository git clone https://github.com/thejasvibr/bat_beamshapes.git
  2. Change directories to the downloaded repo, and switch to the dev branch: git checkout dev
  3. Install the dependencies with pip install -r beamshapes/tests/requirements_test.txt
  4. Install beamshapes with python setup.py install

Detailed documentation

For more details on the concepts and source documentation - please check out the online docs.

Citation information

If you use this package - please do consider citing the preprint:

*Beleyur, T. (2021, August 5). beamshapes : a Python package to generate directivity patterns for various sound sources. https://doi.org/10.31219/osf.io/zc52t, version {VERSIONNUMBER-HERE} *

You can access the version number of the package being used with

>>> import beamshapes
>>> print(beamshapes.__version__)

Bibtext format:

@misc{beleyur_2021,
 title={beamshapes : a Python package to generate directivity patterns for various sound sources},
 url={osf.io/zc52t},
 DOI={10.31219/osf.io/zc52t},
 publisher={OSF Preprints},
 author={Beleyur, Thejasvi},
 year={2021},
 month={Aug}
}

Future implementations

  • Piston on a cylinder
  • Rectangular piston on a prolate spheroid (paper)

TODO:

  • Add more examples
  • Remove 'a' parameter from piston in sphere directivity? (next releases, this is backwards incompatible!)

About

Directivity functions for various sound sources

License:MIT License


Languages

Language:HTML 67.4%Language:Jupyter Notebook 24.4%Language:Python 7.3%Language:TeX 0.9%Language:Sage 0.0%