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).
Tags are converted from UTF-8 (as used in FLAC Vorbis comment blocks) into UTF-16 for ID3v2.3 according to the following tables:
The following tags have no direct equivalent and so map to TXXX fields with the given descriptions:
|FLAC Comment||ID3 TXXX Description|
|MUSICBRAINZ_ARTISTID||MusicBrainz Artist Id|
|MUSICBRAINZ_ALBUMID||MusicBrainz Album Id|
|MUSICBRAINZ_ALBUMARTISTID||MusicBrainz Album Artist Id|
|MUSICBRAINZ_TRMID||MusicBrainz TRM Id|
Aifffffs can be mounted using the following command:
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.
Mounting via fstab is also supported. The above example could also be specified in /etc/fstab/ as the following entry:
Aifffffs is released as source with a configure script.
The following commands will configure, build and install the software:
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).
Aifffffs is released under the GNU GPLv2.
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.