PYIN Parameters » History » Version 30

Chris Cannam, 2019-11-18 01:57 PM

1 1 Chris Cannam
h1. PYIN Parameters
2 1 Chris Cannam
3 1 Chris Cannam
Tony uses a Vamp plugin called "pYIN":/projects/pyin for pitch and note analysis.
4 1 Chris Cannam
5 1 Chris Cannam
The plugin can be used in other Vamp plugin hosts as well - see the "pYIN project page":/projects/pyin to download the plugin separately from Tony.
6 1 Chris Cannam
7 24 Chris Cannam
pYIN has a number of processing parameters which can be adjusted, and Tony contains a number of options (on the Analysis menu) which adjust some of them. However, the names, identifiers, and default values of the pYIN parameters do not match those used in Tony. Generally this is because the parameters found in pYIN are continuous value ranges, while the settings in Tony are all on-off toggles.
8 1 Chris Cannam
9 1 Chris Cannam
Here is a table showing the correspondence between Tony menu options and pYIN parameters, as of Tony v2.1 and pYIN v1.1.
10 1 Chris Cannam
11 30 Chris Cannam
|*Tony option*|*pYIN parameter name*|*pYIN parameter id*|*pYIN parameter type*|*pYIN default value*|*Value when Tony option is on*|*Value when Tony option is off*|*Tony option default*|
12 30 Chris Cannam
|Unbiased Timing (slow)|Use non-standard precise YIN timing (slow)|@precisetime@|Toggle|Off|On|Off|Off|
13 30 Chris Cannam
|Penalise Soft Pitches|Suppress low amplitude pitch estimates|@lowampsuppression@|Range 0.0-1.0|0.1|0.2|0.0|On|
14 30 Chris Cannam
|High Onset Sensitivity|Onset sensitivity|@onsetsensitivity@|Range 0.0-1.0|0.7|0.7|0.0|On|
15 30 Chris Cannam
|Drop Short Notes|Duration pruning threshold|@prunethresh@|Range 0.0-0.2|0.1|0.1|0.0|On|
16 11 Chris Cannam
17 20 Chris Cannam
*Note*: There is a bug in Tony v2.1 (as well as earlier releases) in the handling of the "Penalise Soft Pitches" option. When you first run the application, this option is ticked in the menu, but it is not actually activated when running pYIN (the pYIN parameter is instead set to 0.0). If you switch the option off and on again in the menu, or select "Reset Options to Defaults", then the parameter will subsequently be set correctly. This state is remembered in subsequent runs, so you only have to do this once. The bug will be fixed in Tony v2.1.1. This does unfortunately mean the behaviour of v2.1.1 "out of the box" will differ slightly from the (erroneous) first-run behaviour of v2.1.
18 16 Chris Cannam
19 22 Chris Cannam
There are also some parameters in pYIN that cannot be changed in Tony, and which Tony leaves set to their default values. These are:
20 21 Chris Cannam
21 22 Chris Cannam
|*pYIN parameter name*|*pYIN parameter id*|*pYIN parameter type*|*Default*|*Notes*|
22 22 Chris Cannam
|Yin threshold distribution|@threshdistr@|8 distinct named options|"Beta (mean 0.15)"||
23 22 Chris Cannam
|Fixed-lag smoothing|@fixedlag@|Toggle|On|Allows pYIN pitch stage to run causally, and reduces memory consumption|
24 22 Chris Cannam
|Output estimates classified as unvoiced?|@outputunvoiced@|Three-way toggle|Off||
25 10 Chris Cannam
26 10 Chris Cannam
Screenshots:
27 10 Chris Cannam
28 10 Chris Cannam
|*Options in the Analysis menu of Tony that control pYIN parameters* !Screenshot_2019-11-18_13-03-34.png! |*Options available when using pYIN directly in Sonic Visualiser* !Screenshot_2019-11-18_13-04-25.png!|