As you already know, a long-term solution for this is to support ZODB BLOB. Ticket 6805 is probably the most authoritative source on this. Unfortunately, this milestone is set to 4.0, and running it on an earlier version may not be a good solution.
Historically, there were many Plone products for storing files from the outside, storing only metadata in ZODB. I tried several of them, and in my experience there is not one that works well with the current releases of Plone / Zope. Do not believe me in this, however, I have not tried any products of this type last year or so.
Personally, I would like to find a solution that is as simple as possible and does not include Plone more than necessary. Saving music files to disk, serving them directly from apache / of any web server that you use, storing only metadata in Plone - in a product that you write yourself, will give you a reliable solution with good performance. That is, your product should create links to a path on your web server where music files are available.
If you need authorization to download music files and it is assumed that you are running lighthttpd or apache before your Zope, viewing an X-sendfile based solution is probably the best option. With the X-sendfile, you store files on disk and add a header (X-sendfile) in response when the music file should be sent to the client browser. The web server will pick this header and send the file to the client without Plone.
Some pointers:
Erik forsberg
source share