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 issueImplement 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.pyfor instance)The call to the implementatin of a metric using a certain method shall be explicit (for example
loudness_zwicker()instead ofloudness(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.txtin 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__.pyin the main mosqito folder
mosqito/<module>/__init__.pyin the module folder (for examplemosqito/sq_metrics/__init__.pyfor the sound quality metrics module)