Development Roadmap - mtpearce/idyom GitHub Wiki

This is a list of ideas for future development of IDyOM.

  • General Features

    • allow prediction over more than one dataset in idyom:idyom
    • modelling of harmonic movement (in development)
    • stream segregation and polyphony
    • segmentation and modelling of abstract hierarchical groups to minimise IC
    • audio input
  • Output

    • compute predictive information (PI), expected PI and PI rate as analogs to IC, entropy and entropy rate respectively (Abdallah & Plumbley, 2009).
    • compute information rate (bits/sec), analogous to flow in speech production
  • Viewpoints

    • general language for specifying viewpoints to make the system more data agnostic
    • allow derived viewpoints to be used as target viewpoints
    • better viewpoint selection: sampling to estimate mean IC plus penalty for greater numbers of viewpoints (e.g., BIC/AIC)
    • optimise viewpoint selection based on prediction performance (IC)
    • in viewpoint selection use full precision to decide between ties (rather than rounded values)
    • More flexible specification of constraints on viewpoint selection (e.g., tuples with wildcards, whitelist/blacklist)
  • LTM / STM

    • allow user to flexibly and generally configure multiple memory stores
    • allow user to specify specifying order and method of combination for these memory stores
    • allow user to specify some or all combination weights to be fixed
    • possibly allow use of future or simultaneous context?
  • Efficiency

    • concurrent processing
    • memoizing
    • Docker / webapp
    • dynamic output
    • file-based input
  • Documentation

    • create API documentation automatically from the docstrings in each package
  • Testing

    • generalise what exists (PPM, kern import, resampling) to cover all modules