Acoustid fingerprinter 0.4 released

I’ve just released a new version of the Acoustid fingerprinter. I’ve sneakily released 0.3 some time ago, but it was available only on Linux. The only change was support for reading of the PUID tags. This release brings that functionality also to Windows and OS X, plus a few bug fixes.

Changes since the last version are:

  • New icon:
  • HTTP proxy support using the $http_proxy environment variable
  • Support for reading PUIDs from tags
  • Fixed submission of the file format

You can download the new version on the Acoustid website.

Posted in Acoustid, Announce | Tagged , , | 12 Comments

Acoustid submissions without MBIDs

I’ve released a new version of the Acoustid server that doesn’t require submissions to include MusicBrainz recording IDs. Applications can send textual metadata (track, artist, album, album artist, year, track number, disc number) instead and the server will try to match the tags to MusicBrainz by itself. The matching is actually not yet implemented, but the server is able to collect the data. The format of the metadata is described in the web service documentation.

I’ve also released a new version of the Acoustid fingerprinter, which can utilize this new functionality and if your files don’t have MBIDs embedded in tags, it will send the metadata it can find in tags, instead of completely skipping the files. You can download the new version here:

Note that this is the first time I actually built the fingerprinter on OS X, so if the package doesn’t work for you, please let me know. It should work on Intel Macs with OS X 10.4 or never.

Posted in Acoustid, Announce | Tagged , , | 2 Comments

Chromaprint 0.4 released

A new version of Chromaprint has been released. The main change is addition of an example application that uses the public C API and FFmpeg to allow externals programs to use Chromaprint without linking to the library. Other than this, there were some build system changes and added support for the latest development version of FFmpeg.

Download:

Changes since version 0.3:

  • Support for building a Mac OS X framework.
  • Support for building a static library.
  • Simple C example (fpcalc) that can be used from external applications for fingerprint calculations.
Posted in Acoustid, Announce | Tagged , , | Leave a comment

New Acoustid web service

Some time ago I realized that having the server code in Java keeps me away from working more on it. The original reason for writing it in Java was that I expected it would do harder work, but I really don’t need a “fast” language for simply running SQL queries. Additionally, since developing simple websites in Java turned out to be a pain, I used PHP to do the Acoustid website. I have no problem with PHP, but later I wanted to start integrating the website with the rest of the fingerprint database and it felt like a waste of my time to not share code, which is not easy if some parts are in Java, some in PHP. So, today I’ve released a new version of the server which is written completely in Python.

Everything should work as before, with one additional feature — new web service. The v2 web service is very similar to the old one (which is also still fully functional), but can return response in the JSON format and finally can include MusicBrainz metadata. The data is represented in a NGS-like structure, to avoid any changes when MusicBrainz switches to NGS.

If you are familiar with MusicDNS’s PUIDs, you know that lookups normally require two HTTP requests. One to get the PUID based on the fingerprint, another one to get the metadata based on the PUID. The nice thing about having both the fingerprints and the metadata in the same database is that we can avoid one of these requests, hopefully making the audio file identification experience faster. Using JSON instead of XML should also help, because it has to transfer significantly less data.

I think that this is a big milestone, because it makes the external interface almost complete. For occasional requests it should be also fast enough, but unfortunately it will handle higher traffic well. The top item on my roadmap right know is making it much faster, to enable easier scaling of the service by throwing more hardware at it.

Posted in Acoustid | Tagged , | 1 Comment

Chromaprint 0.3 released

A new version of Chromaprint has been released. There aren’t many changes, mostly just compatibility improvements for Windows and Mac OS X, plus simple ctypes-based Python bindings.

Download:

Changes since version 0.2:

  • Fixed compilation with MSVC 2010.
  • Added support for calculating FFT using the Accelerate framework on Mac OS X and iOS.
  • Added Python bindings.
Posted in Acoustid, Announce | Tagged , , | Leave a comment