Class Statistics.Analyzer

java.lang.Object
eu.bandm.tscore.base.SyncEventsDouble
eu.bandm.music.applications.myKdF.Statistics.Analyzer
Enclosing class:
Statistics

class Statistics.Analyzer extends SyncEventsDouble
Analyse all voice data for chromatic progessions and splits. These found phenomena are reified and stored in Statistics.chromEffectsByCp.

A Statistics.DiatonicSplit is detected for each pair of voices with the same GPC and different accidental at the current timepoint.
A Statistics.ChromaticChange is detected for each combination of voices, both making a melodic step here, which have the same GPC but a different accidental at the predecessor timepoint and at the current timepoint, respectively. (A voice may be combined with itself, for a normal chromatic step.) // FALSCH FIXME RAUS , but only if no // * DiatonicSplit is recognized with this GPC at either timepoint.

Additionally some numeric parameters accumulated on the flight per movement are stored to Statistics.adjacentAccs, etc.

This code can operate in two different modes: (a) on unresolved ornaments, their pitches entered into diatonic clusters. (b) on a score with conventionally resolved ornaments.

  • Field Details

    • voices

      final ArrayList<Vox> voices
      All loaded voices.
    • score

      final Score_cwn score
      The current score, needed for further information on events.
    • movement

      final int movement
      The movement number, needed for print-out of results.
    • ceList

      The constructed result. Will finally be stored in the external map Statistics.chromEffectsByCp.
    • ornamentExpansion

      For clustering mode: maps events to all pitches of its ornamente's expansion.
    • adjacentAccidentals

      int adjacentAccidentals
      Register to count the max value on the fly, of the number of different accidentals synchronuous or adjacent.
    • maxDistance

      int maxDistance
      Register to count the max value on the fly, of the distance between all adjacent accidentqls.
    • lastSplits

      Diatonic splits of the preceding step, to link back the right-side framing events.
    • lastSplit

      For closing the "sub-ornament-bracket".
  • Constructor Details

  • Method Details

    • addVoice

      public void addVoice(Vox voice)
    • addAllWhitekeys

      void addAllWhitekeys(Set<WhiteKeyModOctave> wks, Event ev)
      Add all GPCs for the event to the given target set, either directly or from the expanded ornament.
    • getPitch

      Get the pitch for the event and the given GPC, either directly or from the expanded ornament. Assume that only one pitch exists (= ornament expansion is not wide as an octave).
    • memoAccidental

      void memoAccidental(Multimap<WhiteKeyModOctave,Accidental> map, Event e)
      Memorize in the map the accidental (max 1) for all GPCs occuring in the given event. Value(s) may come directly from the single note or from an ornament expanded to a diatonic cluster.
    • countOrnaments

      int countOrnaments(Event ev)
      Deliver 0 or 1, when the event carries an ornament symbol or is the expansion of another event (with ornament symbol).
    • closeOrnament

      void closeOrnament(@Opt Statistics.DiatonicSplit split)
      Marks the diatonic conflict as a closing event ornament expansion.
    • process

      public void process(double tp)
      Make one analysis step for the given timepoint.
      Specified by:
      process in class SyncEventsDouble
    • close

      public void close()