While trying to integrate my rhythm modelling efforts into IDyOM, I realised that the problem could be solved more generally. The result is Jackdaw, a library for specifying dynamic Bayesian networks. Jackdaw allows you to specify these models compactly in Common Lisp code.

The flexibility of this framework derives from a type of deterministic constraints that can be encoded jackdaw models which I have dubbed congruency constraints. Congruency constraints are explained in chapter three of my thesis.

Jackdaw can be found here.

An introductory tutorial can be found here.

A few example implementations of various models can be found in the examples directory of the tutorial. The examples are self-contained given a working jackdaw installation.