AeroAcoustics.jl

AeroAcoustics.jl: A Julia package for aeroacoustics - Published in JOSS (2024)

https://github.com/1oly/aeroacoustics.jl

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 19 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

polynomials mesh

Scientific Fields

Materials Science Physical Sciences - 40% confidence
Last synced: 4 months ago · JSON representation ·

Repository

A Julia package for Aeroacoustics

Basic Info
  • Host: GitHub
  • Owner: 1oly
  • License: other
  • Language: Julia
  • Default Branch: master
  • Homepage:
  • Size: 1.37 MB
Statistics
  • Stars: 31
  • Watchers: 2
  • Forks: 5
  • Open Issues: 3
  • Releases: 7
Created almost 7 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

AeroAcoustics.jl

CI Codecov status

A Julia package for Aeroacoustics and acoustic imaging.

InstallationTestsDocumentationCitation

Image

Overview

This package provide methods for working with microphone array measurements. Utilities for processing beamforming and other acoustic imaging methods are collected in this package, and it is the intention, that a suite of both well-known and state of the art methods is continuously updated.

The current set of methods include conventional frequency domain beamforming (CBF) with source power integration (SPI), and the following advanced methods:

| Method | Reference | |---------|------------| |DAMAS | Brooks, T. F. et al. (2006). A deconvolution approach for the mapping of acoustic sources (DAMAS) determined from phased microphone arrays. J. Sound Vib. 294(4), 856–879. https://doi.org/10.1016/j.jsv.2005.12.046 | |CLEAN-SC | Sijtsma, P. (2007). CLEAN based on spatial source coherence. Int.J.Aeroacou. 6(4), 357–374. https://doi.org/10.1260/147547207783359459 | |FISTA | - Beck, A., & Teboulle, M. (2009). A fast iterative shrinkage-thresholding algorithm for linear inverse problems. SIAM J. Imag. Sci., 2(1), 183-202. https://doi.org/10.1137/080716542
- Lylloff, O., et al. (2015). Improving the efficiency of deconvolution algorithms for sound source localization. J. Acou. Soc. Am, 138(1), 172-180. https://doi.org/10.1121/1.4922516 |

On the roadmap is:

| Method | Reference | |---------|------------| Functional beamforming | Dougherty, R.P. (2014). Functional beamforming. 5th Berlin Beamforming Conference, February 19–20 2014, Berlin, Germany, GFaI, e.V., Berlin. | Orthogonal beamforming | Sarradj, E. (2010). A fast signal subspace approach for the determination of absolute levels from phased microphone array measurements. J. Sound Vib. 329(9), 1553–1569. https://doi.org/10.1016/j.jsv.2009.11.009| Spectral Estimation Method (SEM) /
Covariance Matrix Fitting (CMF) | Blacodon, D. et al. (2004). Level estimation of extended acoustic sources using a parametric method. J. Airc. 41, 1360–1369. https://doi.org/10.2514/1.3053
Yardibi, T. et al. (2010). A covariance fitting approach for correlated acoustic source mapping. J. Acoust. Soc. Am. 127(5), 2920–2931. https://doi.org/10.1121/1.3365260| Generalized Inverse Beamforming (GIBF) | Suzuki, T. (2011). L1 generalized inverse beamforming algorithm resolving coherent/incoherent, distributed and multipole sources. J. Sound Vib. 330(24), 5835–5851. https://doi.org/10.1016/j.jsv.2011.05.021|

Additional methods can also be added by contributors to this repository. The code structure enables an easy and modular addition of new methods.

Denoising of the cross-spectral matrix is another important part of succesful acoustic imaging. Several different methods are on the roadmap to be implemented.

Source integration of acoustic images is another important feature of this package. The output can be produced in narrow-band, 1/3rd or 1/12th octave bands.

Installation

First install Julia and start Julia in a terminal, VS code, Jupyter or another application that can run Julia. This package is registered and can be installed with

pkg> add AeroAcoustics the package manager pkg> can be accessed by typing ].

Tests

This package constains tests used for CI, but can also be used to check if the package is working properly when installed. To run the tests, after adding the package, activate the package manager, by typing ], and write pkg> test AeroAcoustics The test suite will download an external file, that is stored in test/data.

Documentation

The documentation gives an introduction to the packages and the API.

Community and contributions

Any question regarding the installation, use or extension of the code can be posted in the Github issue tracker. If you want to add an new algorithm, you can fork this package and start developing your code and test it. If you wish to contribute to the general development, you can look for open issues or reach out to discuss further. Contributions are very welcome!

Related packages

Another noteworthy library for microphone array measurements is Acoular, written in Python. AeroAcoustics.jl draws inspiration from Acoular but focusses only on the processing of measurement data, while Acoular also has functionality for generating simulated data.

Citation

If you use this package in your work, please cite the following: @article{lylloff2024aeroacoustics, doi = {10.21105/joss.06390}, url = {https://joss.theoj.org/papers/10.21105/joss.06390}, year = {2024}, publisher = {The Open Journal}, journal = {Journal of Open Source Software}, volume = {9}, number = {97}, pages = {6390}, author = {Oliver Lylloff}, title = {AeroAcoustics.jl: A Julia package for aeroacoustics} }

Owner

  • Name: Oliver Lylloff
  • Login: 1oly
  • Kind: user
  • Location: Copenhagen, Denmark

Postdoc in experimental aeroacoustics at DTU Wind, Technical University of Denmark.

JOSS Publication

AeroAcoustics.jl: A Julia package for aeroacoustics
Published
May 28, 2024
Volume 9, Issue 97, Page 6390
Authors
Oliver Lylloff ORCID
Technical University of Denmark (DTU), Dept. of Wind and Energy Systems, Section for Airfoil and Rotor Design (ARD)
Editor
Fabian-Robert Stöter ORCID
Tags
julia acoustics aerodynamics acoustic imaging beamforming

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Lylloff
  given-names: Oliver
  orcid: "https://orcid.org/0000-0002-1596-107X"
contact:
- family-names: Lylloff
  given-names: Oliver
  orcid: "https://orcid.org/0000-0002-1596-107X"
doi: 10.5281/zenodo.11207482
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Lylloff
    given-names: Oliver
    orcid: "https://orcid.org/0000-0002-1596-107X"
  date-published: 2024-05-28
  doi: 10.21105/joss.06390
  issn: 2475-9066
  issue: 97
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6390
  title: "AeroAcoustics.jl: A Julia package for aeroacoustics"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06390"
  volume: 9
title: "AeroAcoustics.jl: A Julia package for aeroacoustics"

GitHub Events

Total
  • Create event: 5
  • Commit comment event: 5
  • Release event: 2
  • Watch event: 2
  • Delete event: 2
  • Issue comment event: 6
  • Push event: 12
  • Pull request event: 7
  • Fork event: 2
Last Year
  • Create event: 5
  • Commit comment event: 5
  • Release event: 2
  • Watch event: 2
  • Delete event: 2
  • Issue comment event: 6
  • Push event: 12
  • Pull request event: 7
  • Fork event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 258
  • Total Committers: 4
  • Avg Commits per committer: 64.5
  • Development Distribution Score (DDS): 0.027
Past Year
  • Commits: 6
  • Committers: 3
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
ollyl o****l@d****k 251
dependabot[bot] 4****] 5
Uwe Fechner u****c@g****m 1
Daniel Karrasch d****h@p****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 8
  • Total pull requests: 16
  • Average time to close issues: 9 days
  • Average time to close pull requests: 28 days
  • Total issue authors: 4
  • Total pull request authors: 6
  • Average comments per issue: 2.63
  • Average comments per pull request: 1.25
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 days
  • Issue authors: 0
  • Pull request authors: 4
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • thejasvibr (4)
  • 1oly (2)
  • nantonel (2)
  • JuliaTagBot (1)
Pull Request Authors
  • dependabot[bot] (10)
  • github-actions[bot] (6)
  • 1oly (6)
  • ufechner7 (2)
  • faroit (2)
  • dkarrasch (1)
Top Labels
Issue Labels
docs (1)
Pull Request Labels
github-actions (10) dependencies (10)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 3 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 7
juliahub.com: AeroAcoustics

A Julia package for Aeroacoustics

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 25.8%
Average: 28.8%
Dependent packages count: 38.9%
Forks count: 40.4%
Last synced: 4 months ago

Dependencies

REQUIRE julia
  • DSP *
  • Distances *
  • LinearAlgebra *
  • NLsolve *
  • Parameters *
  • Statistics *
  • julia 0.7
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest latest composite
  • julia-actions/setup-julia v1 composite