stuff that Matt finds worthwhile... so good luck with that
home : projects : list : muscat
[edit this content]
muscat is a collection of utilities for managing and using a (personal) catalog of recorded music. muscat is still in the experimental stages, but it does already provide some valuable functions (particular for playlist generation).
muscat includes the following elements.
the "now playing" thing
utility (PHP, Winamp2 plugin) that posts identifying information about
whatever track is playing in Winamp 2
web elements (PHP) to display the "now playing" information
on a personal web page
music attributes tracking (client-based)
utility (PHP) for Winamp 2 (minibrowser-based)
for displaying and saving a brief list of key track attributes;
attributes are, for example,
mood-based or style-based ratings of the music
utility (Perl) for creating and running Winamp 2 playlists
based on user-specified attributes
which the selected tracks should match
[attributes are re-configurable,
i.e. the user can decide what attributes are most significant
and modify the code (easily) to use those attributes]
[upcoming enhancement:
selection based on how recently a track was last played]
the muscat data model (server-based)
a highly-normalized set of datbase tables (PostgreSQL)
for cataloging detailed music attributes
web-based interface (JSP) for viewing and editing these attributes
future enhancements:
multi-user capability
(so that a single catalog can serve multipler users,
with a consolidated set of musical content)
data-mining
attribute-based analysis
determining typical dependencies between attributes
(e.g., the attribute "annoying" is pretty much the same
as the attribute "grating", except when the genre is X)
profiling user judgements
(e.g., jazz music is always rated as "annoying" by user X)
making preference recommendations
by comparing judgements between users
"fingerprinting" users based on their judgements
signal-processing tie-ins
correlating user's subjective attribute judgements
with objective signal-based attributes
building systems that automatically predict / decide
"subjective" attribute judgements
utility ideas
tool to extract and synchronize ID3 information
between two catalogs (writing ID3 data onto [MP3?] files)
some ~immediate next steps:
resurrect a server-hosted track information database
tie in to ID3v2 tag reading / editing
allow for import/export of ID3v2 tags to/from the main database
effectively can be used as an "ID3v2 merge" tool,
between clients of the database
formalize / improve (cache?) album cover URL feature
candidate "music attributes" (hopefully useful in personal cataloging)
energy
darkness / brightness
annoying
angry
[attributes similar to those describing people]
[attributes similar to those describing ______]
[may be useful to think in terms of polar opposites (not necessarily exclusive opposites, though)]
[think of alternative "attribute sets" that are useful to categorize music in different scenarios (e.g., picking music for work, picking music for other people to listen to, picking music for public performance, etc.)]
[probably will have different "families" of attributes, e.g. those that describe the music's effect on me (mostly what i use right now, actually), those that describe the music's overall "quality" (as this guy used), etc.]