How to contribute#

Become part of the MOSQITO community#

There are several ways to contribute to MOSQITO. You can:
  • Use it and report the bugs or missing informations.

  • Share any idea you would have to improve the documentation, if you are familiar with psychoacoustic.

  • Share any sound quality related implementation you could have developed (even in another programing language).

  • Start contributing by tackling one of the issues labeled with good first issue

  • Implement one of the function listed in the Scope of the project.

In any case, please let the community know about your future contribution through a GitHub issue.

Developer guideline#

This section is under construction. However you can find below some useful tips to understand the MOSQITO’s coding philosophy.

  • Functions that are not supposed to be called by a simple user of the toolbox shall be prefixed with “_” (_calc_slopes.py for instance)

  • The call to the implementatin of a metric using a certain method shall be explicit (for example loudness_zwicker() instead of loudness(method='zwicker'))

  • In order to make the content of the toolbox meaningful, it is recomanded to follow a 1 function = 1 .py file philosophy.

To respect the existing structure, see the Architecture of the package.

Checklist for the development of a new metric#

Warning

Each function in the library shall come with:

  • a complete docstring including the parameters definition and an example (see docstring_template.txt in the docs folder )

  • a documentation presenting the sources used for the implementation and showing how the implementation is validated (in the documentation folder)

  • a unit test (in the tests folder)

  • validation script(s) (in the validations folder)

In order to be accessible via the from mosqito import <function> and from mosqito.<module> import <function> commands, import commands shall be added to the following __init__.py files:

  • mosqito/__init__.py in the main mosqito folder

  • mosqito/<module>/__init__.py in the module folder (for example mosqito/sq_metrics/__init__.py for the sound quality metrics module)