The primary goal of CMI is to help performers
discover music they love to play and wouldn't ever see otherwise.
This goal is explored
here.
One aspect of this goal is to help music by living amateur composers -
many of whom are great but obscure -
get discovered, performed, and recorded.
Most classical musicians get music from IMSLP,
which has a huge collection of out-of-copyright scores.
IMSLP is great if you're looking for a specific existing work,
but it doesn't have effective ways of discovering works you haven't heard of.
CMI supports two general approaches to music discovery:
-
CMI is built on a very detailed
schema
(data model).
It describes instrumentations, arrangements, movements,
creators and their roles,
genders, nationalities, dates, and so on.
Data is stored in a relational database,
and arbitrary relational queries on this data are possible.
The current interface supports queries like
'show me all the arrangements of string quartets for two pianos'
or 'show me all the music for solo violin by female French composers'.
The interface could be extended to allow even more detailed queries.
-
CMI is designed to support music discovery by
social mechanisms, including 'collaborative filtering':
you can rate things (works, people, recordings)
and when there's a critical mass of such ratings,
CMI can make recommendations for music you'll probably like
that you don't know about yet.
CMI is a non-profit project, created and operated by volunteers.
Its source code is open source and is available on
Github.
If you have questions or comments about CMI,
please contact us.
©2025 David P. Anderson