WRID>RIFF-WAVE>CSET

DRAFT!

TODO: overview

The CSET chunk defines the code page and country, language, and dialect codes for the file

[RIFF1991]

Usage

While this chunk is defined in [RIFF1991] , it seems to be extremely rarely included in WAVE files. I haven't been able to find a single example in my collection of files.

The CSET specified countries and languages are also intended to be used in other chunks, however:

FADGI recognizes that the values for country codes, languages and dialects defined in the CSET chunk are outdated because the RIFF specification in which they are defined was last updated in 1991. To ensure maximum compatibility, use the CSET codes if the appropriate values are defined in the CSET chunk, otherwise use ISO standard code lists: ISO 3166- 1 code for Country or ISO 639-1 for Language

FADGI Guidelines for Embedding Metadata in Broadcast WAVE Files

It's not clear how to extend the CSET defined countries because both of those ISO standards map to 2-3 letter codes, while CSET specifies an integer mapping.

Spec

Chunk Name Bytes Type conditionDescriptionWRID
CSET id 4 u8[4] id = CSET ...>id
CSET size 4 u32 ...>size
CSET code_page 2 u16 Specifies the code page used for file elements. If the CSET chunk is not present, or if this field has value zero, assume standard ISO 8859/1 code page (identical to code page 1004 without code points defined in hex columns 0, 1, 8, and 9). ...>code_page
CSET country_code 2 u16 Specifies the country code used for file elements. See “ Country Codes,” following this section, for a list of currently defined country codes. If the CSET chunk is not present, or if this field has value zero, assume USA (country code 001). ...>country_code
CSET language 2 u16 Specify the language and dialect used for file elements. See “Language and Dialect Codes,” later in this chapter, for a list of language and dialect codes. If the CSET chunk is not present, or if these fields have value zero, assume US English (language code 9, dialect code 1). ...>language
CSET dialect 2 u16 Specify the language and dialect used for file elements. See “Language and Dialect Codes,” later in this chapter, for a list of language and dialect codes. If the CSET chunk is not present, or if these fields have value zero, assume US English (language code 9, dialect code 1). ...>dialect

Country Codes

Country CodeCountry
000None (assume 001 = USA)
001USA
002Canada
003Latin America
030Greece
031Netherlands
032Belgium
033France
034Spain
039Italy
041Switzerland
043Austria
044United Kingdom
045Denmark
046Sweden
047Norway
049West Germany
052Mexico
055Brazil
061Australia
064New Zealand
081Japan
082Korea
086People’s Republic of China
088Taiwan
090Turkey
351Portugal
352Luxembourg
354Iceland
358Finland

Language and Dialect Codes

Language CodeDialect CodeLanguageSpecification
00None (assume 9,1 = US English)RIFF1991
11ArabicRIFF1991
21BulgarianRIFF1991
31CatalanRIFF1991
41Traditional ChineseRIFF1991
42Simplified ChineseRIFF1991
51CzechRIFF1991
61DanishRIFF1991
71GermanRIFF1991
72Swiss GermanRIFF1991
81GreekRIFF1991
91US EnglishRIFF1991
92UK EnglishRIFF1991
101SpanishRIFF1991
102Spanish MexicanRIFF1991
111FinnishRIFF1991
121FrenchRIFF1991
122Belgian FrenchRIFF1991
123Canadian FrenchRIFF1991
124Swiss FrenchRIFF1991
131HebrewRIFF1991
141HungarianRIFF1994
151IcelandicRIFF1994
161ItalianRIFF1994
162Swiss ItalianRIFF1994
171JapaneseRIFF1994
181KoreanRIFF1994
191DutchRIFF1994
192Belgian DutchRIFF1994
201Norwegian - BokmalRIFF1994
202Norwegian - NynorskRIFF1994
211PolishRIFF1994
221Brazilian PortugueseRIFF1994
222PortugueseRIFF1994
231Rhaeto-RomanicRIFF1994
241RomanianRIFF1994
251RussianRIFF1994
261Serbo-Croatian (Latin)RIFF1994
262Serbo-Croatian (Cyrillic)RIFF1994
271SlovakRIFF1994
281AlbanianRIFF1994
291SwedishRIFF1994
301ThaiRIFF1994
311TurkishRIFF1994
321UrduRIFF1994
331BahasaRIFF1994

Learning References

Specification

  • [RIFF1991] Multimedia Programming Interface and Data Specifications (1991). See pages 56-65.
  • [RIFF1994] New Multimedia Data Types and Data Techniques (1994). See pages 12-22.