diff --git a/README.md b/README.md index 9f1c8986c3564c4a84e671e05a5136993f4991b6..9688f9bfd12f8905cad5088dbf1d671e25569264 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Description -`PyAVA` is a graphical annotation tool written in Python whose purpose is to provide an esay way to draw contours on vocalisations from audio recordings. It uses [Tkinter](https://docs.python.org/3/library/tkinter.html) for its graphical interface and can be run on any OS. It does not require images (aka spectrogram) to function, only waveforms, which is its main advantage to be an easy and efficient annotation tool. +`PyAVA` is a graphical annotation tool written in Python whose purpose is to provide an easy way to draw contours on vocalisations from audio recordings. It uses [Tkinter](https://docs.python.org/3/library/tkinter.html) for its graphical interface and can be run on any OS. It does not require images (spectrogram) to function, only waveforms, which is its main advantage.  @@ -30,20 +30,24 @@ Install packages in your python environment with `$ pip install -r requirements. ## Usage ### Execution -For classic use, download PyAVA folder, then run `$python PyAVA.py -dir myWavefileFolder -out myOutputFolder` in terminal. -Run `$python PyAVA.py --help` for details. +For classic use, download PyAVA folder, then open a terminal in the folder and run `$ python PyAVA.py -dir myWavefileFolder -out myOutputFolder` in terminal. -The annotations are saved in [JSON](http://www.json.org/) files. Each file contains a dict of contours. For each contour there is a list of points, each point is defined by a list of two elements : [time (in sec), frequency (in kHz)]. +Run `$python PyAVA.py --help` for details. -### User interaction -- Use the toolbar to interact with the plot. -- User must not have any toolbar item selected in order to annotate the image. -- Left-click on a name in the listbox to activate annotation with it. -- Left-click to place a point from the selected category. -- Right-click to remove the nearest point from the selected category. -- Click on `Open file explorer` Button to change Wavefile (will end annotation of the current file). +The annotations are saved in [JSON](http://www.json.org/) files. Each file contains a dictionnary with the categories annotated. For each category there is a list of points, each point is defined by a list of two elements : [time (in sec), frequency (in Hz)]. + +### User actions +- Use the toolbar to interact with the plot (same as with matplotlib.pyplot). +- Draw lines : + - User must not have any toolbar item selected in order to annotate the spectrogram. + - Left-click on a name in the listbox to activate annotation with it. + - Left-click to place a point from the selected category. + - Right-click to remove the nearest point from the selected category. + - Mouse wheel click on a point to move it around. +- Click on `Open file explorer` Button to change Wavefile used as base (will end the annotation of the current file). - Change resolution of the spectrogram with `FFT`, `Hop length` and `clipping fields`. - Click on `Update display` button to validate inputs. +- Click on `Switch to PCEN` to switch between PCEN and spectrogram image. ### Re-use data To load and display the saved annotations, use the "Results" object. It contains several infos: coordinates of the annotations, spectrogram, waveform and more.