[cc-community] Copyleft And Commerce

Terry Hancock hancock at anansispaceworks.com
Tue May 30 11:59:22 EDT 2006

Greg London wrote:
> > On Mon, 2006-05-29 at 01:22 -0400, Greg London wrote:
> >> After re-discovering Magnatune recently, I spent a couple weeks
> >> listening to albums trying to find a Rage Against the Machine
> >> sounding track with the feel of "Renegades of funk". or a track
> >> that has the feel of Jimi Hendrix's version of "Machine Gun". I
> >> havne't found either one yet. it may not exist on that site, but
> >> a tool that could let me analyze the track I'm trying to sound
> >> like, and then give me some of the songs that are closest to the
> >> sound of that track, would have shortened by search time from
> >> weeks to minutes.
> >
> > You might want to try the MusicIP Mixer
> > http://www.musicip.com/listener/products/application-downloads
> >
> > It does what you want, but all the tracks need to be on your local
> > machine AFAIK.
> >
> > Also see
> > http://blogs.magnatune.com/buckman/2006/03/bmat_recommenda.html
> >
>  I installed musicip. I had it create a mix of similar songs. The seed
>  song was "Over" by "Portishead". It's a haunting, angry, relentless,
>  emotional, track. It's powerful. It's gritty. it's a really cool
>  track that I had in mind for a video banging around in my head.
>  So, I had it create a mix. the first song on the list is "That's the
>  way love goes" by Janet Jackson. hwa?
>  Then I was curious if it actually analyzed the data and figured otu
>  attributes or simply went to a central lookup table. So I had it
>  analyze the song "Seque" by Curandero from Magnatune. A song I really
>  like. Track 3 here:
>  http://magnatune.com/artists/albums/curandero-aras/
>  WHen I told it to find songs similar, it came back with some complete
>  misses, but then also came up with "Stang's Swang" by Stevie Ray
>  Vaughn, which is actually a pretty good match.
>  It did seem to miss the fact that Seque was instrumental and gave me
>  a bunch of songs with vocals.
>  So, I think it needs some tweaking....
>  I also noticed that it is proprietary software and that the site
>  charges $19.95 to get some upgrades for better music identification
>  tools.
>  That won't work for a FLOSS music website.

So ... check out the SmartDJ link I posted, definitely free software. I'm
not sure about the file vs. URI issue -- of course, any search engine
that is based on matching the actual sound data is going to require
full downloads to do its comparisons, so it'll need plenty of bandwidth.

Of course, you could actually run it on a high-bandwidth server
instead of on your local machine.  In fact, if this is for a "FLOSS music
website", I guess you're already planning that, so nevermind.

The link, again:


or, digging a little deeper, the home page:


Strictly speaking, Smart DJ is a plugin for Amarok, but the
actual comparison is done by 'songanalysis', which is
explained here:


In fact, I just spent 150KB of my pathetic dialup access
(I'm workin' on it) downloading these packages so that
I can tell you...

it's a 1752 LoC C program, provides Autoconf and hence
a standard GNU install.

Meanwhile...  SmartDJ is ...

a 2812 LoC Python program.  The actual wrapper for
songanalysis is just 58 lines of Python, which appears
to be easily separable if you want to use this in a
server-side script.  In particular, it has no internal
module imports, only a few externals (i.e. deps on
what Smart DJ lists as deps).

The list of deps for Smart DJ includes:

- amaroK 1.3.1 or higher
- a working installation of Python
- attr (getfattr and setfattr commands)
- a Python package called python-extattr
- a Python package called python-commandsplus
- a Python package called python-Observable
- a Python package called python-amarok
- the songanalysis program (which analyzes the songs)
- (optional, highly desirable ) mpg321 (to analyze MP3)
- (optional, highly desirable) ogg321 (to analyze Ogg Vorbis files)
- (optional, highly desirable) PyQt
- (optional, highly desirable) support for extended attributes on your 
file systems
- (future optional requirements) PyKDE

according to the readme. I suspect the Amarok and
KDE deps can be dumped if you're just using the songanalysis
wrapper.  The deps on mpg321 and ogg321 are in the
songanalysis program, so you definitely need those.

If you know a smidgeon of python, you should be able to
use this as-is.  If not, though (and unwilling to learn), the
author advertises his services for customizing his code.
Claims to be cheap due to "living in a 3rd world country".
I can't vouch for that part. ;-)

However, if he's too expensive, you could always ask me
for a quote (but I don't live in a "3rd world country", unless
you count Texas).

Seriously, though, it doesn't look hard -- I imagine one could
whip together a web spider based on this without much
difficulty.  Add on RDF meta-data analysis so you can control
license, etc, and it could be quite useful for what you envision.

I picked this one out of the Freshmeat releases a few weeks
ago as part of my usual news coverage for LinuxUser. I picked
it because it was an interesting application of AI and signal
processing, and because I'd never heard of a music search
engine that matched the music itself (as opposed to the meta-
data).  Progress marches on.

I also covered a similar tool for image-matching, called


Could be even more interesting if used together, I would imagine.
(You could build an "arts spider").


Terry Hancock (hancock at AnansiSpaceworks.com)
Anansi Spaceworks http://www.AnansiSpaceworks.com

More information about the cc-community mailing list