File Metadata Introduction The existing schemes for encoding metadata into audio files are extremely diverse. There are formally designed ones; some explicitly intended for use in professional broadcast settings (--e.g. CartChunk), others for general purpose "consumer" use (--e.g. ID3). Still others fall into a broad class that one may term "informal", based not on any recognized public standard but typically designed around a specific product or group of products. These informal schemes tend to be closely bound to the overall design and organization their native environment (--e.g. Rivendell's RDXL). This appendix is an attempt to document the various file metadata schemes that are recognized by Rivendell, taking note of how each scheme maps to Rivendell's foundational RDXL schema while also describing any known quirks or limitations in Rivendell's implementation thereof. It's worth noting that, especially with regard to the informal schemes, Rivendell's implementation can be a moving target; one that is updated and extended as more information is gleaned about a given scheme by Rivendell's developers. One basic rule with regard to such informal schemes in Rivendell is that, in keeping with Postel's Prescription, support is generally read-only. Supported Metadata Schemes Supported Metadata Schemes Type File Type Import Export Notes RDXL *.mp2, *.mp3, *.wav Yes Yes Native Rivendell schema CartChunk *.wav Yes Yes Formally defined ID3 *.mp2, *.mp3 Yes Yes Formally defined Scot Chunk *.wav Yes No Informal Av10 Chunk *.wav Yes No Informal
RDXL RDXL is Rivendell's native audio schema. It uses UTF-8 character encoding. Two levels of records are supported: "cart" data (exactly one record per cart) and "cut" data (zero or more records per cart). RDXL Cart Fields Field Name Data Type Max Width Notes Agency String 64 Album String 191 Artist String 191 Asynchronous Boolean n/a Valid values are 'true' or 'false' Average Hook Length Integer 191 milliseconds Average Length Integer n/a milliseconds Average Segue Length Integer n/a milliseconds Client String 64 Composer String 64 Conductor String 64 Cut Quantity Integer n/a Enforce Length Boolean n/a Valid values are 'true' or 'false' Forced Length Integer n/a milliseconds Group Name String 10 Label String 64 Last Cut Played Integer n/a Length Deviation Integer n/a milliseconds Macros String unlimited Minimum Talk Length Integer n/a milliseconds Maximum Talk Length Integer n/a milliseconds Metadata Datetime DateTime n/a Number Integer n/a Owner String 64 Publisher String 64 Song ID String 32 Title String 191 Type String n/a Valid values are 'audio' or 'macro' Year Integer n/a Usage Code integer n/a 0=Feature, 1=Open, 2=Close, 3=Theme User Defined String 191
RDXL Cut Fields Field Name Data Type Max Width Notes Cut Name String 12 Evergreen Booleans n/a Valid values are 'true' or 'false' Description String 64 Outcue String 64 Isrc String 12 Isci String 32 MusicBrainz Recording ID String 40 MusicBrainz Release ID String 40 Origin Date Time DateTime n/a Start Date Time DateTime n/a End Date Time DateTime n/a Sunday Boolean n/a Valid values are 'true' or 'false' Monday Boolean n/a Valid values are 'true' or 'false' Tuesday Boolean n/a Valid values are 'true' or 'false' Wednesday Boolean n/a Valid values are 'true' or 'false' Thursday Boolean n/a Valid values are 'true' or 'false' Friday Boolean n/a Valid values are 'true' or 'false' Saturday Boolean n/a Valid values are 'true' or 'false' Start Daypart Time n/a End Daypart Time n/a Origin Name String 64 Origin Login Name String 191 Source Hostname String 191 Origin Name String 191 Weight Integer n/a Last Play Datetime DateTime n/a Play Counter Integer n/a Coding Format Integer n/a 0=PCM16, 2=MPEG Layer II, 3=MPEG Layer III, 4=PCM24 Sample Rate Integer n/a samples/second Bit Rate Integer n/a bits/second Channels Integer n/a Start Point Integer n/a milliseconds End Point Integer n/a milliseconds Fadeup Point Integer n/a milliseconds Fadedown Point Integer n/a milliseconds Segue Start Point Integer n/a milliseconds Segue End Point Integer n/a milliseconds Segue Gain Integer n/a 1/100 dBFS Hook Start Point Integer n/a milliseconds Hook End Point Integer n/a milliseconds Talk Start Point Integer n/a milliseconds Talk End Point Integer n/a milliseconds
CartChunk CartChunk is a WAV file chunk format designed to allow the communication of basic radio traffic and continuity data between systems from diverse manufacturers and operating systems. It is explicitly specified by the Audio Engineering Society as standard AES46-2002 . CartChunk is defined as an extension to the Broadcast Wave File format, and as such is usable only with WAV files. When importing metadata from a file containing valid CartChunk, CartChunk fields will be mapped to Rivendell RDXL fields as follows: CartChunk to RDXL Field Mappings CartChunk Field Name RDXL Field Name Data Type Notes Title Title String ASCII title of cart audio sequence Artist Artist String ASCII artist or creator name CutID Cart Number String ASCII cut number identification ClientID Client String ASCII client identification Category Group Name String ASCII category ID, PSA, NEWS, etc Classification [none] String ASCII classification or auxiliary key OutCue Outcue String ASCII outcue text StartDate Start Date Time Date Applied to the Date field of Start Date Time, interpreted as the local system time zone StartTime Start Date Time Time Applied to the Time field of Start Date Time, interpreted as the local system time zone EndDate End Date Time Date Applied to the Date field of End Date Time, interpreted as the local system time zone EndTime End Date Time Time Applied to the Time field End Date Time, interpreted as the local system time zone AUDs Start Point CartChunk PostTimer See AES46-2002 Table A.2 AUDe End Point CartChunk PostTimer See AES46-2002 Table A.2 SEGs Segue Start Point CartChunk PostTimer See AES46-2002 Table A.2 SEGe Segue End Point CartChunk PostTimer See AES46-2002 Table A.2 INTs Talk Start Point CartChunk PostTimer See AES46-2002 Table A.2 INTe Talk End Point CartChunk PostTimer See AES46-2002 Table A.2 INT Talk End Point CartChunk PostTimer Variant form. When importing, also sets Talk Start Point to be equal to Start Point. Rivendell does not write this form. Point
ID3 ID3 is a metadata scheme intended for use with raw MPEG files. While not backed by a formal standards organization, ID3 is defined in a set of standards documents originally promulgated at http://id3.org/. Rivendell supports both reading and writing ID3v2.3 tags. Each tag consists of a series of frames, each of which contains a field of metadata. ID3v2.3 Frame to RDXL Field Mappings ID3v2.3 Frame Name RDXL Field Name Data Type Notes TIT2 Title String Title/songname/content description ARTIST Artist String Non-standard frame TALB Artist String Album/Movie/Show title ALBUM Artist String Non-standard frame TCOM Composer String Composer COMPOSER Composer String Non-standard frame TPUB Label String Publisher LABEL Label String Non-standard frame TPE3 Conductor String Conductor/performer refinement CONDUCTOR Conductor String Non-standard frame TYER Year Integer Year DATE Year Integer Non-standard frame YEAR Year Integer Non-standard frame ISRC Isrc String Non-standard frame TBPM Beats Per Minute String BPM (beats per minute) BPM Beats Per Minute String Non-standard frame PUBLISHER Publisher String Non-standard frame