Aifffffs

(AIFF From FLAC File System)


What is it?

Aifffffs is a user-space file-system for Linux which transcodes FLAC files to the AIFF format on the fly while mapping FLAC metadata tags and cover art to ID3v2.3 format.

Since both FLAC and AIFF are lossless formats, there is no change in audio quality when transcoding. Additionally decompression of FLAC files is quick (encoding and compression are generally slow operation), and since AIFF is an uncompressed format, the filesystem is fast to read and access, easily allowing the virtual AIFF files to be streamed and played in realtime.

Principally Aifffffs has been designed to allow a large collection of FLAC files which have been ripped using ripright to be easily accessed and imported into iTunes without any loss in quality (you can then use iTunes to create a compressed lossy version for use on iPods and similar).

Tag Mapping

Tags are converted from UTF-8 (as used in FLAC Vorbis comment blocks) into UTF-16 for ID3v2.3 according to the following tables:

FLAC CommentID3 Tag
GROUPING TIT1
TITLE TIT2
TITLESORT TSOT
SUBTITLE TIT3
GENRE TCON
MOOD TMOD
ISRC TSRC
MEDIA TMED
LABEL TPUB
DISCNUMBER TPOS
DISCSUBTITLE TSST
TRACKNUMBER TRCK
FLAC CommentID3 Tag
ALBUM TALB
ALBUMSORT TSOA
ARTIST TPE1
ARTISTSORT TSOP
ALBUMARTIST TPE2
ALBUMARTISTSORT TSO2
CONDUCTOR TPE3
COMPOSERSORT TSOC
REMIXER TPE4
PERFORMER TPE1
COMPILATION TCMP

The following tags have no direct equivalent and so map to TXXX fields with the given descriptions:

FLAC CommentID3 TXXX Description
MUSICBRAINZ_ARTISTID MusicBrainz Artist Id
MUSICBRAINZ_ALBUMID MusicBrainz Album Id
MUSICBRAINZ_ALBUMARTISTID MusicBrainz Album Artist Id
MUSICBRAINZ_TRMID MusicBrainz TRM Id
ASIN ASIN

Usage

Aifffffs can be mounted using the following command:

aifffffs [fuse options] -r dir mountpoint

The following will create a view of the directory structure under /media/music/flac at the mountpoint /media/music/aiff, using the FUSE option allow_other to give access to all users.

aifffffs -oallow_other -r /media/music/flac /media/music/aiff

Mounting via fstab is also supported. The above example could also be specified in /etc/fstab/ as the following entry:

aifffffs#-r/media/music/flac /media/music/aiff fuse allow_other 0 0

Downloads

Aifffffs is released as source with a configure script.

The following commands will configure, build and install the software:

$ ./configure
$ make
$ make check
$ make install

The following libraries must also be installed or available, otherwise the configure will fail:

Aifffffs has been built on Fedora 13, 14 and 15, as well as CentOS 5.6 (although flac-devel has to be manually installed on CentOS 5.6 as the packaged version is too old).

Licence

Aifffffs is released under the GNU GPLv2.

Bugs

Bugs, patches, and suggestions can either be emailed directly to me. Since this is hobby project it can take a long time for me to respond, but I try to review every patch and respond to all emails.

References


This page is maintained by Michael McTernan