Package jazzparser :: Package taggers :: Package segmidi :: Package chordclass :: Class ChordClassMidiTagger
[hide private]
[frames] | no frames]

Class ChordClassMidiTagger

source code

    object --+            
             |            
 tagger.Tagger --+        
                 |        
models.ModelTagger --+    
                     |    
    base.SegmidiTagger --+
                         |
                        ChordClassMidiTagger

Nested Classes [hide private]
  MODEL_CLASS
Model class to go with ChordClassMidiTagger.
Instance Methods [hide private]
 
__init__(self, *args, **kwargs)
The tagger must have reference to the grammar being used to parse the input.
source code
 
get_signs(self, offset=0)
Returns a list of tuples (start, end, signtup).
source code

Inherited from base.SegmidiTagger: get_string_input, get_word

Inherited from tagger.Tagger: get_all_signs, get_tag_probability, get_word_duration

Inherited from tagger.Tagger (private): _get_input_length, _get_name

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]

Inherited from tagger.Tagger: check_options

Static Methods [hide private]

Inherited from models.ModelTagger: partition_model_name

Class Variables [hide private]
  TAGGER_OPTIONS = SegmidiTagger.TAGGER_OPTIONS+ [ModuleOption('...
Tagger-specific options.
  shell_tools = SegmidiTagger.shell_tools+ [tools.StateGridTool()]
Interactive shell tools available when this tagger is used.

Inherited from base.SegmidiTagger: COMPATIBLE_FORMALISMS, INPUT_TYPES

Inherited from tagger.Tagger: LEXICAL_PROBABILITY

Properties [hide private]

Inherited from tagger.Tagger: input_length, name

Inherited from object: __class__

Method Details [hide private]

__init__(self, *args, **kwargs)
(Constructor)

source code 

The tagger must have reference to the grammar being used to parse the input. It must also be given the full input when instantiated. The format of this input will depend on the tagger: for example, it might be a string or a MIDI file.

Parameters:
  • original_input - the input in its original, unprocessed form. This will usually be a string. This is optional, but in some circumstances things might fall apart if it hasn't been given. E.g. using a backoff model as backoff from a tagging model requires the original input to be passed to the backoff model.
  • logger - optional progress logger. Logging will be sent to this during initialization of the tagger and tagging. If not given, the logging will be lost. Subclasses may access the logger (or a dummy logger if none was given) in self.logger.
Overrides: object.__init__
(inherited documentation)

get_signs(self, offset=0)

source code 

Returns a list of tuples (start, end, signtup). These represent spans to be added to the chart, start and end being the start and end nodes.

Each signtup is a (sign,tag,probability) tuple representing a sign that the tagger wishes to add to the chart in this position. How many are returned is up to the tagger (it may wish to return more in cases where there are no clear winners, for example). If the tag is not found in the grammar, sign will be None.

Returned list is sorted by probability, highest first.

offset may be set >0 in order to retrieve further signs once some have already been returned. If offset=k, the tagger should disregard all the signs that would have been returned for offset<k and return the next bunch - as many as it sees fit. offset is incremented each time the parse fails.

The simplest approach, and that employed by most taggers, has some signs for each word and none spanning more than one word. That is, the tuples in the list would be of the form (wordnum, wordnum+1, signtup). This is by no means required, though: some taggers will want to add multi-node spans to the chart.

Overrides: tagger.Tagger.get_signs
(inherited documentation)

Class Variable Details [hide private]

TAGGER_OPTIONS

Tagger-specific options. List of ModuleOptions.

Value:
SegmidiTagger.TAGGER_OPTIONS+ [ModuleOption('decoden', filter= int, he\
lp_text= "Number of best categories to consider for each timestep", us\
age= "decoden=N, where N is an integer", default= 5),]