Possibilities for Plugin Parameters » History » Version 9

Chris Cannam, 2014-05-08 10:17 AM

1 1 Chris Cannam
h1. Possibilities for Plugin Parameters
2 1 Chris Cannam
3 1 Chris Cannam
Two directions we could take:
4 1 Chris Cannam
5 1 Chris Cannam
 # No parameters
6 1 Chris Cannam
 # Enough parameters to be interesting
7 2 Chris Cannam
8 5 Chris Cannam
h3. Fast and Slow modes
9 4 Chris Cannam
10 2 Chris Cannam
A problem with "no parameters" is that there is such a big difference in [[Speed|processing speed]] between different configurations. There's a strong case to be made for offering at least a choice between fast/draft mode and slow/thorough mode.
11 4 Chris Cannam
12 4 Chris Cannam
 * The most obvious difference would be that "fast mode" should suppress the 5-step shift factor. 
13 4 Chris Cannam
 * We might also consider using a finer-grained time step in "slow mode". I think the current 40ms step results in audible jitter, though I may be wrong (possibly any timing imprecision results mostly from some other aspect of the method).
14 1 Chris Cannam
15 5 Chris Cannam
h3. Instrument restrictions
16 5 Chris Cannam
17 5 Chris Cannam
Presumably the method can run much faster if we are able to tell it that a piece has only one instrument in it. We might offer a dropdown of "all known instruments", "piano", "trombone" etc.
18 5 Chris Cannam
19 9 Chris Cannam
(We could separately have options for instruments to detect and instruments to return -- e.g. detect all instruments but return only the piano, or detect only the piano and return that, etc. That sounds confusing. But the confusion may be intrinsic to the meaning of "which instrument I detect" -- if you tell the plugin to detect only piano, that doesn't mean it will separate out the piano from other instruments; you have to get it to detect all the other instruments too, if you want to be able to separate out the piano. Detecting only the piano basically means you're telling it there are no other instruments, as a pure performance optimisation. Hm.)
20 9 Chris Cannam
21 8 Chris Cannam
h3. ...and Possibilities for Plugin Outputs
22 3 Chris Cannam
23 6 Chris Cannam
Currently we have one main output
24 3 Chris Cannam
25 7 Chris Cannam
 * Note transcription, including pitch in Hz and velocity
26 6 Chris Cannam
27 6 Chris Cannam
and three "intermediate data" outputs
28 6 Chris Cannam
29 1 Chris Cannam
 * Raw constant-Q
30 3 Chris Cannam
 * Filtered constant-Q
31 6 Chris Cannam
 * Pitch activation matrix
32 5 Chris Cannam
33 5 Chris Cannam
What else does the plugin know, that might be interesting?
34 1 Chris Cannam
35 5 Chris Cannam
 * Identity of predominant instrument, or of the estimated instrument for each note (not currently returned through the note transcription)
36 7 Chris Cannam
 * Approximate tuning, from the 5-step shift factor -- we currently return pitch in Hz but it's calculated only from the MIDI note, is there any merit in optionally returning a theoretically finer tuning?