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
- allow prediction over more than one dataset in
-
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