• Remove absolute pathname in connect-to-database. (mtp-admin/music-data.lisp)
  • Create cache directories if they don't exist.

Data import

  • It is possible to import empty datasets, which cause an error when described.
  • running commands on an empty database produces an error (e.g., mtp-admin:describe-database)


  • Polyphonic viewpoints for modelling harmonic movement
  • A straightforward language for specifying viewpoints, including viewpoint schemas (e.g. interval, interval size being target viewpoints), making system more data agnostic
  • Zero barlengths sometimes cause divide by zero errors
  • Implement a 'Pace' viewpoint: measure of information rate (bits/sec), analogous to flow in speech production.

Viewpoint selection

  • Optionally specify: min-links
  • Print trace information about VP sets being tested + mean IC values record this to log file.
  • Memory errors sometimes occur with large viewpoints sets (e.g., Cpitch with no basis specified)
  • When decimal places are restricted for comparison, earlier systems are preferred within a round, so use full precision to choose between ties
  • More flexible way for user to specify constraints on viewpoint search:
    • Define labelled viewpoint classes
    • Pairs/triples of labels/wildcards specify acceptable combinations
    • User provides whitelist or blacklist spec
  • Provide recommended viewpoints for more basic viewpoints than just cpitch, onset & bioi

  • Predict over more than one dataset.
  • Allow multiple memory stores (i.e., not restricted to just two: the LTM and STM).
  • Hierarchical structure: chunk common patterns into symbols using information content and entropy as indicators of grouping structure (Pearce et al., 2010, Perception)
  • Compute predictive information (PI), expected PI and PI rate as analogs to IC, entropy and entropy rate respectively (Abdallah & Plumbley, 2009).
  • Offer the selection of alternative context strategies (e.g., include future context)
  • Allow the user to fix the weights for particular combinations, e.g. weighted viewpoints, or weighted memory stores (LTM/STM etc.)
  • Allow the user to determine order of model combination (e.g., LTM-STM first, then viewpoints vs viewpoints first then LTM/STM)

Longer-term goals

  • Implement as a web service to avoid installation woes.
  • Extend caching of results
  • Use sampling to estimate mean IC during VP selection.
  • Optimise viewpoint selection based on match with existing IC values.
  • Include unit testing code.