New examples
--------
- add a new example to use multiCPU functionality to compute indices
New functionalities
-------------------
**In module util :**
Audio metadata utilities with new functions :
- check_file_format : Check Wave file consistency. Check if WAVE format is correct and if file name follows standard format. The standard format is SITENAME_DATE_TIME.WAV, with DATE as YYYYMMDD and TIME as HHMMSS
- audio_header : Get audio header information from WAVE file. Header information includes, sample rate, bit depth, number of channels, number of samples, file size and duration.
- filename_info : Get information from filename when using standard format. The standard format is SITENAME_DATE_TIME.WAV, with DATE as YYYYMMDD and TIME as HHMMSS.
- get_metadata_file : Get metadata asociated with audio recordings in audio file. Metadata includes basic information of the audio file format (sample rate, number of channels, bit depth and file size), and date information from the filename. Note however, that this function is intended for use only with audio files with a self-describing header.
- get_metadata_dir : Get metadata asociated with audio recordings in a directory. Metadata includes basic information of the audio file format (sample rate, number of channels, bit depth and file size), and date information from the filename. Note however, that this function is intended for use only with audio files with a self-describing header.
Parser
- read_raven_annot : Read raven annotations file (or labeling file) and return a Pandas Dataframe with the bounding box and the label of each region of interest (ROI). If the file exists but has no annotations, the function returns and empty dataframe.
- write_raven_annot : Write audio segmentation to text file in Audacity format, a file that can be imported and modified with Audacity. If the dataframe has no frequency delimiters, annotations are saved with standard Audacity format (temporal segmentation). If the dataframe has temporal and frequencial delimiters, the annotations are saved as spectral selection style (spectro-temporal selection). If the dataframe is empty, the function saves an empty file.
**In module sound :**
Transform the signal
- gain : Apply amplification or attenuation to the audio signal.
Minor changes
-------------------
- fix a bug in format_features
- add an argument in rand_cmap to change the seed
- fix a bug in entropy (when only zeros, entropy is 1)
- fix a bug in ADI and AEI calculation. The result is now similar to soundecology R package (see more details here :[https://github.com/scikit-maad/scikit-maad/issues/43]).
- add an optional argument to spectrogram to allow detrend to be off. This is interesting only when computing ADI and AEI
- update xeno-canto functions in order to be compliant with the new API.
- add an argument to overlay_rois in order to adapt the edge_color to the number of unique labels
- add warning in region_of_interest_index. default parameters are deprecated
- add new argument max_ratio_xy in region_of_interest_index. it defines the maximum ratio between the vertical axis (y) and horizontal axis (x) that is allowed for a ROI. This is very convenient to remove vertical spikes (e.g. rain). 10 seems a reasonable value to remove most of spikes due to light to medium rainfall.