<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.xiph.org/skins/common/feed.css?272"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.xiph.org/index.php?title=Special:Contributions/Martin.leese&amp;feed=atom&amp;limit=50&amp;target=Martin.leese&amp;year=&amp;month=</id>
		<title>XiphWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.xiph.org/index.php?title=Special:Contributions/Martin.leese&amp;feed=atom&amp;limit=50&amp;target=Martin.leese&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Special:Contributions/Martin.leese"/>
		<updated>2013-05-22T18:52:35Z</updated>
		<subtitle>From XiphWiki</subtitle>
		<generator>MediaWiki 1.16.1</generator>

	<entry>
		<id>http://wiki.xiph.org/StaticPlayers</id>
		<title>StaticPlayers</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/StaticPlayers"/>
				<updated>2013-04-06T15:49:42Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Silvercrest (KH 2389, KH 2380, CRB-530 and CRB-631) */ Typo &amp;quot;kays&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
On this page you can find all static players that are known to support Vorbis. This includes Hi-Fi components such as CD/DVD players and car audio equipment. For hardware that is able to run third-party software (such as PDAs and video game consoles), please visit [[VorbisSoftwarePlayers]].&lt;br /&gt;
&lt;br /&gt;
== Hi-Fi components ==&lt;br /&gt;
&lt;br /&gt;
=== [http://www.playonhd.com/en/#info A.C.Ryan] PlayOn!HD ===&lt;br /&gt;
:This player supports a lot of Audio and Video formats, and acts as a player and streamer, Network 10/100, Wifi 802.11b/g, NAS 3.5&amp;quot; SATA up to 1.5TB, 2x USB Host, Internet Radio, HDMI, UPnP client.&lt;br /&gt;
&lt;br /&gt;
=== [http://actiontec.com/products/tech/broadband/wdmp/wdmp_overview.html &amp;lt;del&amp;gt; Actiontec &amp;lt;/del&amp;gt;] &amp;lt;del&amp;gt; Wireless Digital Media Player &amp;lt;/del&amp;gt; ===&lt;br /&gt;
'''Product doesn't exist anymore'''&lt;br /&gt;
:This player is a streaming client for video, audio and images. It supports MP3, AC3, AAC, WAV, WMA, Vorbis and internet radio. Supported picture formats are JPEG, GIF, TIF, BMP and PNG. It can play back MPEG-1/-2/-4, Xvid, RMP4. It has RCA connectors, a digital output, supports HDTV and can surf the internet.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.adstech.com/ ADS Tech's] Media-Link ===&lt;br /&gt;
:This is a streaming client that uses ethernet and WLAN for connecting. It has a composite, component and s-video out and sterea and S/PDIF out. It supports MPEG-1/-2/-4, DivX, Xvid, MOV, MP3, Vorbis, AC3, WMA, JPG, BMP, GIF. The server software seems to support only windows.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.arcamsolo.com/ ARCAM] DV137, DV139, Solo Movie 5.1 ===&lt;br /&gt;
:These high-end British home cinema products are primarily DVD-Video and DVD-Audio playback devices. All support playback of Vorbis, MP3 and WMA files from CD-R and DVD-R discs. Other media supported includes SACD. Audio performance competes with dedicated high-end CD/DVD-A/SACD players whilst video can be upscaled to HD resolutions over HDMI. The DV137 and DV139 are player components whilst the Solo Movie 5.1 is an all-in-one system that includes a DAB/AM/FM radio (territory dependant), various auxiliary inputs and five channels of amplification (5 x 50W RMS into 8 Ohms).&lt;br /&gt;
&lt;br /&gt;
=== [http://www.buffalotech.com/ Buffalo's] PC-P3LWG/DVD ===&lt;br /&gt;
:This product is a DVD player and streaming client with HDTV support. It has wireless and wired networking and a USB port. The media server software only runs on Windows (UPnP AV). It supports many formats: video (SVCD/DVD/DivX HD/Xvid/RealMedia/WMV HD), audio (MP3, Vorbis, WAV, AAC, WMA, AC3) and picture (JPG, GIF, BMP, TIF, PNG). It can be integrated with the NAS solution LinkStation/TeraStation for media storage such that no PC is required.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.cyberhome.com/ Cyberhome's] DVD 635s ===&lt;br /&gt;
&lt;br /&gt;
:According to this [http://www.dv-rec.de/test/player2005/635/635.html review(german)] on [http://www.dv-rec.de DV-REC], it plays Vorbis and has '''buggy''' Ogm Video-support. The sound quality appears to be very good(accordimg the review), but there is no special Vorbis point of view about sound quality in the review. Some users report troubling noises from the build in CD/DVD-device.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.digitaltechniques.com/ Digital Technique's] 080S, 160A, 160S, 300A  ===&lt;br /&gt;
:These are music servers based on PC technology with a capacity from 80 to 300 GB. They support MP3, Vorbis, FLAC and WAV. &lt;br /&gt;
&lt;br /&gt;
=== [http://www.digitalrise.biz/ DigitalRise'] Xstream Player ===&lt;br /&gt;
:This item is part of the new generation of DVD players like the Kiss DP-600 and the models from I-O Data and Buffalo -- it can play DVDs, but also WMV-HD DVDs and supports all kinds of audio and video codecs: MPEG-1/-2/-4 (incl. DivX), WMV9, AAC, MP3, WMA and Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.dlink.com/ D-Link's] DSM-320 ===&lt;br /&gt;
:A wired and wireless UPnP streaming media player. Supports decoding Vorbis as of the 1.03 firmware. &lt;br /&gt;
&lt;br /&gt;
=== [http://www.ethernut.de/en/hardware/eir/ EIR Project] Elektor Internet Radio ===&lt;br /&gt;
:Open Source Hardware and Software Project featuring an ARM7 based Internet Radio, which uses VLSI's VS1053 decoder chip.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.hermstedt.de/hifidelio/ Hermstedt's] Hifidelio, Hifidelio Pro ===&lt;br /&gt;
:The Hifidelio is a music server in hi-fi format and designed to produce high-quality sound. It uses a CD/DVD combo drive and can thus rip Audio-CDs and read from DVD-Rs, and is also able to burn CDs. It has an in-built 4-port ethernet switch, a WLAN interface, can connect to the iPod and other portable players through USB 2.0. It can connect to other Hifidelios through the UPnP/AV standard and to iTunes shares (iTunes shopping is a future feature). The songs are stored on the 80 GB harddisk. Supported formats for decoding are: MP3, Vorbis, AAC, WMA, FLAC, WAV. The Hifidelio Pro has a 160 GB hdd and some other advanced features.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.iodata.com/ I-O Data's] AVeL LinkPlayer2 ===&lt;br /&gt;
:This piece of hardware is a DVD player and a HDTV streaming client. It supports MPEG-2, DivX, XviD and WMV9 (WMV HD), as audio tracks PCM, AC3, MP3, AAC, WMA and Vorbis. It can use ethernet, WLAN and USB 2.0 to connect to media. It is available in Japan from September.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.kenwood.com/ Kenwood's] VRS-N8100, DVF-N7080 ===&lt;br /&gt;
:The new line of networked hi-fi components are supposed to decode Vorbis over the Ethernet port: the A/V receiver VRS-N8100 and the DVD player DVF-N7080.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.kiss-technology.com/ KISS Technology's] DVD player models (basically all) ===&lt;br /&gt;
:Except for one older model (the DP-330) all DVD/DivX players from Kiss can play Vorbis files from CD-Rs and CD-RWs (but reportedly have trouble with UTF-8 comments that aren&amp;amp;#x2019;t also ASCII), as well as DivX (but not DivX Vorbis).&lt;br /&gt;
:&amp;lt;strong&amp;gt;There are reportedly problems with some versions of the firmware (2.6.6 &amp;amp;#x2264; &amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; &amp;amp;#60; 2.7.1)&amp;lt;/strong&amp;gt;, where playback is awful for a bitrates greater than 128Kb/s.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.medainc.com/ Meda Systems'] Bravo, Bravado ===&lt;br /&gt;
:These are media servers with up to 500 GB storage. They can be controlled via PDA and support MP3, WAV, WMA, Vorbis and FLAC. They can also connect to the local network via ethernet.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.xbox.com/ Microsoft's] Xbox ===&lt;br /&gt;
:The Xbox is a gaming console based on PC hardware, including a 733 MHz processor, 8 GB harddisk, a DVD drive and an Ethernet port. The console can be [http://waltercedric.com/Mambo/index.php?option=com_content&amp;amp;task=view&amp;amp;id=58&amp;amp;Itemid=40 modded] to allow the installation of third-party software, such as the [http://www.xboxmediacenter.de/ Xbox Media Center] project. Once installed the Xbox becomes a media center and streaming client. It supports vast amounts of audio, video and picture standards, including Vorbis and FLAC.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.mvixusa.com/product.php?product=mx780 Mivx] Wireless Media Player ===&lt;br /&gt;
:Does not include a hard drive - you have to supply your own IDE or SATA drive. Supports a wide variety of wireless and component connections and audio/video formats including OGG Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.momitsu.com/ Momitsu's] V880N ===&lt;br /&gt;
:The V880N is a disc player and streaming client. It supports DVD, VCD/SVCD, Audio CD, Picture CD, MP3, JPEG, DivX, Xvid on discs and MOV, Vorbis, AAC, WMA, AC3 and internet radio over ethernet. In addition to the usual TV connection it supports digital video (DVI) and audio (coaxial/optical) output in HDTV. It has a LAN interface and a PC card slot for a WLAN card.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.mpsharp.com/ MP Sharp Technologies'] Digital Jukebox ===&lt;br /&gt;
:The MPST Digital Jukebox is a Linux PC designed for audio playback and sold as a stereo component, which of course can play Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.netgem.com Netgem's] iPlayer ===&lt;br /&gt;
:The iPlayer is primarily a DVB-T receiver, which includes an in-built modem and can also use a small range of USB ethernet adaptors to connect to a network. Supported media formats include MPEG and MPEG2, MP2 and MP3 and, in the latest release, Vorbis. Technical limitations in the USB controller limit the practical bandwidth of media to around 4 megabits/second. Perhaps the reason for the rather limited range of media formats supported is that the iPlayer is based on low-cost hardware - in the UK Netgem's own branded iPlayer usually retails for around £90. Netgem also host a [http://forum.netgem.com forum]. In addition to the Netgem branded iPlayer in the UK, branded devices are available from other manufacturers such as [http://player.teac.com.au/ Teac] (the ITV-D500, for the Australian market). With the imminent launch of DTT in France, Netgem is also expected to launch a model there.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.neurostechnology.com/ Neuros] [http://www.neurostechnology.com/neuros-osd-specifications OSD] ===&lt;br /&gt;
:Hackable, nay, hack-encouraged, open-source streaming media client that plays many video and audio formats, including Vorbis and FLAC.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.neuston.com/ Neuston's] Maestro DVX-1201 ===&lt;br /&gt;
:This is a standalone DVD player that supports Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.tuxbox.org/ Nokia/Philips/Sagem] DBox2 ===&lt;br /&gt;
:This device, manufactured by Nokia, Philips and Sagem until 2002 in huge numbers for the German Pay-TV provider Premiere, is a DVB-C or DVB-S receiver. It features a 10Mbit Ethernet interface and a nifty graphics display. The original software on this device was always a bit flakey. The alternate Linux-based [http://www.tuxbox.org/ Tuxbox] project includes an audio player that perfectly plays Vorbis files from a NFS or CIFS share. Streaming is in beta state.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.olive.us/ Olive Inc's] Musica ===&lt;br /&gt;
:This is obviously a relabeled Hifidelio Pro for the US market. For details see the entry of Hermsted.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.uk.onkyo.com/en/products/tx-nr509-35637.html Onkyo] TX-NR509 ===&lt;br /&gt;
:This device plays Vorbis and FLAC files from USB sticks/portable drives and has an ethernet connection for streaming audio. I suppose that the other (similar) Onkyo devices, that have these options will play Vorbis / FLAC.&lt;br /&gt;
&lt;br /&gt;
=== [http://support.packardbell.com/uk/item/index.php?m=step2&amp;amp;i=menu_dvd Packard Bell's] DivX 350 DVD, DivX 450 Pro, DVX 460 USB ===&lt;br /&gt;
:According to Packard Bell's website these players should all be able to play Vorbis audio files. The 350 model needs to be firmware-upgraded to [http://support.packardbell.com/se/item/index.php?i=instr_releasenotes_fw_divx350pb&amp;amp;pi=platform_divx350pb&amp;amp;dhepn=A000088300 v2.19] to play Vorbis. The 450 Pro exists in three different hardware revisions all of which might not be vorbis enabled.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.phatnoise.com/products/index.php PhatNoise's] Home Player ===&lt;br /&gt;
:The Home Digital Media Player uses the same cartridges as the PhatBox, and supports Vorbis out of the box.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.pinnacleaudio.co.uk Pinnacle Audio] Athenaeum ===&lt;br /&gt;
:Pinnacle Audio Athenaeum is a high end music server it plays FLAC and Vorbis. It automatically rips CD's to FLAC, but can also encode to Vorbis. It also supports encoding and playing MP3 but does not support DRM.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.philips.com Philips] DVP-5500S/5505 DVD/DIVX/CD/SACD Player ===&lt;br /&gt;
:Although it's not written in the manual, this player indeed support Vorbis out of the box (as well as vorbis in an avi container, divx/xvid in an OGM container....) I don't know if there are limitations. I don't understand why it's not advertised.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.p4c.philips.com/cgi-bin/dcbint/cpindex.pl?ctn=DVP5106K/97&amp;amp;slg=en&amp;amp;scy=IN Philips]  DVP5106K/97 ===&lt;br /&gt;
:This plays Ogg Vorbis audio, even if the manual doesn't say so.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.pinnaclesys.com/ Pinnacle's] ShowCenter 200 ===&lt;br /&gt;
:This is a streaming box for audio and video. It supports MPEG-1, MPEG-2, MPEG-2 VOB, MPEG-4 AVI, Xvid, WMV9 and even WMV-HD video. Picture formats are JPEG, BMP, PNG and GIF. The box has native support for MP3, WAV, WMA and Vorbis (the latter requires a software and firmware upgrade to version 2.5, freely available from [http://www.pinnaclesys.com/ Pinnacle]).&lt;br /&gt;
&lt;br /&gt;
=== [http://www.pontis.de/site_e/home_e.htm Pontis'] MediaServer MS300, MS330 ===&lt;br /&gt;
:The website stupidly doesn't mention Vorbis support, but it is there, along with MP3. The MS300 is a music server that runs Linux and comes with 80 or whopping 300 GB of storage. It has an ethernet port that lets other desktops access the music via Samba, and supports hardware streaming clients that use the Slimserver protocol ([http://www.slimdevices.com/ Slimdevices], [http://www.rokulabs.com/ Roku]). The USB port and the memory card slot can be used to read in music from portable players and photos from digital cameras. Pictures can be viewed via SCART on the TV. The MS330 is similar to the MS300, but can also burn CDs from the CD drive, has a 6-in-1 memory card slot and supports MP3, Vorbis and FLAC.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.request.com/ ReQuest Multimedia] all products ===&lt;br /&gt;
:ReQuest home theatre music systems play FLAC and Vorbis songs, and can edit FLAC and Ogg comments.  They can encode CDs to FLAC, and transcode WAV to FLAC, but currently cannot encode to Vorbis. FLAC support has been there for many years; they were one of the first hardware makers to support it.  Vorbis support has been there since their 2.0 software release.  (They also support MP3 and WAV.  They do not support any DRM formats and do not enforce any DRM rules.)&lt;br /&gt;
&lt;br /&gt;
=== [http://www.reson.de/ Reson's] rh1 ===&lt;br /&gt;
:The rh1 is a Hifidelio which has been modified for audiophile requirements (new DA component etc).&lt;br /&gt;
&lt;br /&gt;
=== [http://www.rokulabs.com/ Roku's] HD1000, M1000, M2000 ===&lt;br /&gt;
:Roku's streaming audio clients support the Slimserver from Slimdevice's products (for details see below).&lt;br /&gt;
&lt;br /&gt;
=== [http://www.skipjam.com/imedia_audio_player.php SkipJam's] iMedia Audio Player, iMedia Audio Player Pro ===&lt;br /&gt;
:The iMedia Audio Player is a streaming client with two Ethernet ports and supports MP3, WAV, PCM, WMA, AAC, AC3 FLAC, and Vorbis directly.  Through PC-Server software it also plays M4A and M4P. It has two digital (optical/coaxial) and one analog output. The pro version can stream the same formats through ethernet or through built-in Homeplug power line networking, and has a built-in 30W/Chan digital amp.  The pro unit is designed for installation in-wall in a 6-gang junction box.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.mysilvercrest.de/ Silvercrest's] KH6510, KH6511, KH6515, KH6516 DVD players ===&lt;br /&gt;
:According to [http://www.hdtv-praxis.de/modules.php?op=modload&amp;amp;name=PagEd&amp;amp;file=index&amp;amp;topic_id=2&amp;amp;page_id=151&amp;amp;ppart=2 these (German) reviews], these players can play Vorbis stereo files, but not multichannel files. Silvercrest is a brand of the german discounter LIDL.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.slimdevices.com/ Slim Devices] Squeezebox, Squeezebox2, Squeezebox3, Transporter ===&lt;br /&gt;
:The [[wikipedia:Squeezebox network music player|Squeezebox]] is a streaming receiver, that uses LAN or WLAN to stream audio. It supports decoding of MP3 and raw PCM. The server software is open source and available for a number of platforms (Windows, Mac OS X, Linux, FreeBSD) and decodes other formats, like Vorbis and FLAC, on the fly to PCM before streaming. The Squeezebox2 uses the same server software, but can decode FLAC natively, which lowers network traffic for other formats than MP3 considerably. The Squeezebox3 has basically the same features as version 2, but the design has been revamped completely and is more luxurious.&lt;br /&gt;
&lt;br /&gt;
:The Squeezebox3 is advertised with native FLAC and vorbis playback support. With a current firmware update the device plays ogg vorbis streams and tracks of different bit sizes without problems. FLAC playback works as well.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [[Wikipedia:Squeezebox_%28network_music_player%29|Wikipedia article about various Squeezebox models]]&lt;br /&gt;
&lt;br /&gt;
=== [http://www.sonos.com/ Sonos'] Multi Zone Digital Music System ===&lt;br /&gt;
:Sonos is a complete music system for a house that consists of speakers that are connected wirelessly to a media server. The system also supports Vorbis and FLAC.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.playstation.com/ Sony's] Playstation 2 ===&lt;br /&gt;
:The [http://www.trend-express.com/en/medio.html Medio Digital Media Player] transforms the Playstation2 into a streaming client, supporting various audio and video formats, including Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.streamit.eu/ Streamit's] Lukas II, SIR120 and SIR120PRO ===&lt;br /&gt;
:The Lukas II is a streaming receiver with integrated loudspeaker, that uses LAN or dialup to stream audio. The SIR120 and SIR120PRO are 19&amp;quot; rack mountable streaming receivers with SD card which use LAN to stream audio. All these devices support MP3, WMA, AAC+ and Vorbis streaming.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.my-noxon.com/ Terratec's] Noxon iRadio, Noxon2Radio for iPod, Noxon2Audio. ===&lt;br /&gt;
:A WiFi radio for streaming music from the computer and the Internet.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.trans-technology.com/ Transgear's] DVX-500E, DVX-700 M20 ===&lt;br /&gt;
:The DVX-500E is a DVD player and streaming client. It supports MPEG-1/-2/DivX/Xvid/VOB/DVB and WAV/MP3/WMA/AAC/Vorbis and JPG/BMP/GIF/TIF/PNG. The DVX-700 can do the same, plus has digital video plugs, supports HD video formats and has a change slot for 3,5&amp;quot; HDDs.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.tversity.com TVersity Media Server]:  ===&lt;br /&gt;
:A UPNP/AV compliant media server that uses the Vorbis libraries to transcode audio files to the Vorbis format.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.umax.de/ Umax/Yamada]  ===&lt;br /&gt;
**DVX-6600 For the DVD/DivX player DVX-6600 a future firmware is supposed to be able to decode Vorbis, but there is no release date yet.&lt;br /&gt;
**[http://www.umax.de/WebNew/Produkte/9_HomeEntertainment/DVX-6700/DVX-6700.htm DVX-6700] &lt;br /&gt;
&lt;br /&gt;
=== [http://www.watterott.net/projects/webradio-arm WebRadio Project] ===&lt;br /&gt;
:Open Source Streaming Client based on an ARM Cortex-M3 microcontroller and VLSI's VS1053 audio codec.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.wdc.com/en/products/products.asp?driveid=572&amp;amp;language=en Western Digital TV] ===&lt;br /&gt;
:Also known as WDTV and WD TV.  An inexpensive media player, with two USB 2.0 input ports and with HDMI and composite output ports.  With the included remote control, device owners can browse the multimedia files contained on the USB devices, through the on-screen menu system.  Supports both Ogg Vorbis (tremor-1.0-svn) and FLAC (flac-1.2.1) audio playback, based on WDTV firmware 1.01.01 version.  Looks like it runs an embedded Linux operating system and a Motorola ColdFire (ARM) processor.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.yamakawa.de/ Yamakawa's] DVD-375 ===&lt;br /&gt;
:The Yamakawa DVD-375 supports Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.z500series.com/ Zensonic's] Z500 ===&lt;br /&gt;
:The Z500 is a networked multimedia player. It is almost unbelievable how many media types are supported. Video formats: HDTV, DVD, WMV9, DivX, MPEG-1, MPEG-2, MPEG-4, HighMAT, Matroska. Audio formats: Audio CD, MP3, FLAC, Vorbis, AAC, WMA, DVD Audio, and internet radios. Pictures: JPEG, PNG, TIF etc. It supports USB mass storage devices and connects through Gigabit Ethernet or WLAN to the network. The server software runs on Windows, Mac and Linux (UPnP Streaming). Among other connectors it supports the new HDMI standard.&lt;br /&gt;
&lt;br /&gt;
== Car Audio ==&lt;br /&gt;
&lt;br /&gt;
Many of the models below are older types. You may find them second hand. If you add any radio, please add the model introduction year to your description. If you find any type of radio to not be available anymore, please move it to the &amp;quot;Archive&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
=== Acoustic Solutions ICS-160 ===&lt;br /&gt;
:Plays Vorbis, MP3 and WMA from CD, USB and SD card. Can rip from CD/radio/aux to MP3 or WMA, but cannot rip to Vorbis. Displays metadata for MP3, but seems to ignore metadata for Vorbis. (Metadata display not tested for WMA.) Available in UK in [http://www.argos.co.uk/static/Product/partNumber/5005316.htm Spring/Summer 2007 Argos catalogue]. Appears to be based on the same architecture as the Yakumo Hypersound Car Eazy (see above), as the digital display and software appear to be identical, and the two models appear to have identical specifications. However, the design of the fascia is completely different.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;del&amp;gt;Alpine CDE-9846R/RM, CDE-9848RB and CDE-111R&amp;lt;/del&amp;gt; ===&lt;br /&gt;
:'''Cannot play''' Vorbis.&lt;br /&gt;
In fact, none of the Alpine can play Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== AudioVox VME 9112 ===&lt;br /&gt;
:Plays Vorbis from CD, at least up to q6.&lt;br /&gt;
&lt;br /&gt;
=== Citroën C4 Picasso ===&lt;br /&gt;
The brand new Citroën C4 Picasso with usb port can play Ogg Vorbis out of the box. More info [http://service.citroen.com/ddb/donnees/c4picasso/ed01-09/lg_fr_fr/datas/283_285_c4picasso-fr-ed01-2009.pdf here] (in french) &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;del&amp;gt;[http://www.blaupunkt.com/au/7647573510_main.asp Blaupunkt London MP37]&amp;lt;/del&amp;gt; ===&lt;br /&gt;
:Cannot play OGG Vorbis files. (In fact, support for Vorbis is ''almost'' present: it can be tricked to play an OGG Vorbis file by putting it into a subdirectory on the CD, but that's it.)&lt;br /&gt;
&lt;br /&gt;
=== [http://www.dension.com Dension] [http://www.dension.com/icelinkgateway300.php ice&amp;gt;Link Gateway 300], [http://www.dension.com/icelinkgateway400.php 400] and [http://www.dension.com/icelinkgateway500.php 500] ===&lt;br /&gt;
:Dension develops &amp;lt;i&amp;gt;connected car infotainment systems: Either as a direct stand-alone equipment, or accessory, or complete systems.&amp;lt;/i&amp;gt; Either for fitting by the OEM or aftermarket, Dension offers three different (hardware-)gateways to connect either audio players 3.5mm jack), iPods (special connector) or mass storage devices (USB), with the latter having Vorbis files stored on amongst other popular formats. The products are called [http://www.dension.com/icelinkgateway300.php ice&amp;gt;Link Gateway 300], [http://www.dension.com/icelinkgateway400.php 400] and [http://www.dension.com/icelinkgateway500.php 500]; and the support knowledge-base [http://support.dension.com/support-center/index.php?x=&amp;amp;mod_id=2&amp;amp;root=11&amp;amp;id=79 lists all supported formats]. The gateways are compatible to various OEM systems and aftermarket head units, the system used by Volkswagen (see below) may well be supplied by Dension.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.fusioncaraudio.com Fusion] CA-CD500 ===&lt;br /&gt;
:Can play Ogg Vorbis from a CD. Website and box say it can play ogg, but manual only mentions MP3/WMA/AAC - don't know why, may be because it (and it's sister unit, the CA-IP500) obviously can't play Ogg from a connected ipod. Plays Ogg very well (tested up to Q8). Downsides are that it does not read metadata, so it will only display folder and file names about each song. Also Ogg playback is not seamless between songs and seems to cause high load, so the display hangs in regular intervals.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.hb-direct.com/ H&amp;amp;B] CA-7475 / CA-7475BTi ===&lt;br /&gt;
:This device seems to be similar to the PLU2 P2-106USB, but also has Bluetooth support. It is mainly sold in France, but it is not on H&amp;amp;B's website, so it may be a phased-out model. [http://www.bestofmicro.com/actualite/22493-H-B-CA-7475BTi.html (fr)]&lt;br /&gt;
&lt;br /&gt;
=== [http://www.hb-direct.com/ H&amp;amp;B] CA-7575BTI ===&lt;br /&gt;
:[http://www.ldlc.com/fiche/PB00061312.html CA-7575BTI on ldlc website (fr)] this link says that this one is sold out at the moment (2009 05 25)&lt;br /&gt;
&lt;br /&gt;
=== [http://www.hb-direct.com/ H&amp;amp;B] CA-640BTi ===&lt;br /&gt;
:CD/CR-R(W), WMA, AAAC, MP3, Ogg Vorbis - ID3 Tag - Bluetooth - USB (also hard disk drive) and SD - iPOD - iPhone - RCA aux&lt;br /&gt;
:The capability of playing Ogg Vorbis is documented on the web site of h&amp;amp;b&lt;br /&gt;
:[http://www.rueducommerce.fr/Equipement-Automobile-GPS/Autoradios/Autoradios-CD-MP3/H-B/432120-Autoradio-CA-640BTi-CD-MP3-Bluetooth-USB-et-SD-facade-Direct-iPOD-HB.htm CA-640BTi on rueducommerce website (fr)] this one is still available at the moment (2009 05 25)&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;del&amp;gt;[http://www.hb-direct.com/ H&amp;amp;B] CA-8050BTip&amp;lt;/del&amp;gt; ===&lt;br /&gt;
:Does '''not''' support OGG Vorbis, even though it has sometimes been advertised to.&lt;br /&gt;
&lt;br /&gt;
=== Hyundai H-CDM8030 ===&lt;br /&gt;
:Can play Vorbis from USB flash drive until Q7. Very similar if not identical to Silvercrest CRB-520.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.kenwood.com/ Kenwood's] Music Keg  ===&lt;br /&gt;
:The [http://www.kenwoodusa.com/products/ListProduct.aspx?k1=2&amp;amp;k2=5&amp;amp;k3=71&amp;amp;pr=2008 Music Keg KHD-C710] uses the same system as the PhatBox below, which means Vorbis support is available. But it seems, that only the software can encode to the HD, but can't play from the Music Keg. [http://www.crutchfieldadvisor.com/S-g2FinmVl7fe/cgi-bin/ProdView.asp?print=Y&amp;amp;g=50800&amp;amp;id=detailed_info&amp;amp;i=113KHDC710]&lt;br /&gt;
&lt;br /&gt;
=== LG models radio (2012) ===&lt;br /&gt;
:[http://lg.com LG Electronics] has a range of car audio systems &amp;quot;Smart Car Audio Systems&amp;quot;. While their catalog mentions &amp;quot;ogg&amp;quot;, only the [http://www.lg.com/in/car-infotainment/dvd-cd-receivers/LG-LDF900UR.jsp LDF900UR] will play it. Other types, like the LCS510IR, LCF610IR, LCS710BR, and LCF810BR do not play Ogg, in spite of several web shops mentioning Ogg support. LG car stereo is not available world wide, only Asia and Middle-East seem to be targeted. However, at least in Germany and Switzerland the LG range is sold by various online shops.&lt;br /&gt;
&lt;br /&gt;
=== [http://origin-community.ministryofsound.com/audio/range.htm Ministry of Sound] [http://shop.ministryofsound.com/Cultures/en-GB/Products/MOSCA104X5.htm?MSCSProfile=9E133C53BD3D92DF1CE9F907D3646C9255036D7AFA803EF7A1C19406E5739EB04CA3BBA8EABD4803AC7F85E26AE78DC143DE377C1060D36EE764E752F8748B9C37DA7AE4DC53D986D49D1C7ADE21AEE447308E31C3159353F77EB0DD5B9A4EA78160B1E4E075A977762313FF570F8494A1229CE23CB601E9992AF7076FC531CC?CatalogNavigationBreadCrumbs=MinistryofSound|Audio|Car_Audio CD tuner] ===&lt;br /&gt;
:It is likely that it uses Roadstar electronics as well, because both brands are owned by Alba Plc.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.mutant.uk.com/mt1106mp3.html Mutant MT1106MP3] ===&lt;br /&gt;
:Head unit with removable 512MB audio player. Supports Vorbis according to [http://www.ciao.co.uk/Mutant_MT1106USB__Review_5649304 this review].&lt;br /&gt;
&lt;br /&gt;
=== [http://www.parrot.com/catalog/products/parrot-asteroid/ Parrot Asteroid] ===&lt;br /&gt;
Parrot is a French company that specializes in wireless products. Their &amp;quot;Asteroid&amp;quot; is a ISO compatible car stereo system with official Ogg support.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.plu2.de/ PLU2] P2-106USB ===&lt;br /&gt;
:Plays Vorbis from CD, SD and USB. ebay link on discussion page.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.riocar.org Rio Car] ===&lt;br /&gt;
The Rio Car (previously [http://www.empeg.com/ empeg]) is a Linux based harddisk receiver, but was discontinued in 2005. The latest 3.0 alpha software (which was never finished) for this device does support FLAC and gapless Vorbis playback. It may still be the only in-dash device that can hold two 2.5&amp;quot; IDE hard disc drives internally.&lt;br /&gt;
&lt;br /&gt;
=== SENCOR SCD 7405BMR ===&lt;br /&gt;
:Can play my ogg files. at least from the usb stick. Even supports tags. From CD, I did not try.&lt;br /&gt;
:Interestingly, this feature is not documented by the manufacturer / distributor. Strange ...&lt;br /&gt;
:It can play also mp3 and perhaps also wma. It can record also in mp3 format from the fm-radio or even cd.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.roadstar.com/ Roadstar] [http://www.roadstar.com/newsite/index.php?left=family&amp;amp;id=1300&amp;amp;center=productdetail&amp;amp;id_prd=365&amp;amp;right=productdownload&amp;amp;id_fam=113 CD-258US/512]  ===&lt;br /&gt;
:Car CD tuner with MP3 / WMA / Vorbis disc playback and a detachable front panel with internal Flash memory of 512 MB. Upload via USB from your PC your favourite songs to the internal memory inside the detachable panel (MP3, WMA or Vorbis file format). Encode your music in MP3 format from CD / Radio / Aux-In source to the Internal Flash Memory or USB / SD / MMC. Transfer your favourite MP3 / WMA / Vorbis files between CD disc / Internal Flash Memory / USB / SD / MMC.&lt;br /&gt;
:It displays no ID3 info on Ogg files, but it constantly displays stats and filename about the currently-playing file.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.roadstar.com/ Roadstar] CD-656USWM/FM ===&lt;br /&gt;
:Although neither the manual, nor the package or the inscriptions on the front panel mention Ogg Vorbis, it does play Ogg Vorbis files fine (the manual and the package only state that it can play MP3 and WMA files, but obviously this is not the whole truth).&lt;br /&gt;
:It plays Ogg Vorbis files both via CD/CD-R/CD-RW, via USB and via SD/MMC. It only displays the filename, the bitrate and the sampling rate during playback.&lt;br /&gt;
&lt;br /&gt;
=== SEAT Ibiza (Model 6J) ===&lt;br /&gt;
:The new SEAT Ibiza model, current as of 2009, offers a car hifi system with USB port as an option. If present, the following file types can be played via USB: MP3, WMA, AAC (in MP4 container and bitstream-only, possible extensions are .MP4, .M4A and .AAC) ''and'' Ogg Vorbis, too. For all file types, metadata is displayed (Vorbis comments, ID3 tags, MP4 file info etc.). The manual for the built-in stereo only mentions &amp;quot;MP3, WMA and AAC&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
=== [http://www.mysilvercrest.de Silvercrest] ([http://www.mysilvercrest.de/en/artikel.php?a=62 KH 2389], [http://www.mysilvercrest.de/en/artikel.php?a=98 KH 2380], [http://www.mysilvercrest.de/en/artikel.php?a=127 CRB-530] and CRB-631) ===&lt;br /&gt;
In-dash CD-MP3-Players. It is possible to plug in a USB stick and SD card into them. Vorbis works with the USB stick, SD card and CD. Silvercrest is a brand of the german discounter LIDL.&lt;br /&gt;
&lt;br /&gt;
Although LIDL's advertisement for the KH 2380 in December 2006 made a show of its Vorbis support, this is not mentioned in the manual, or any accompanying documentation. Initial impressions suggest that playback for q3 is good, and correctly plays the entire track, but is not gapless.&lt;br /&gt;
&lt;br /&gt;
* [http://www.lidl-service.com/cps/rde/xchg/SID-F19E0035-5CD53BA8/lsp/hs.xsl/product.html?id=41334046&amp;amp;title=Car+Radio&amp;amp;count=1 SAR 28 A1] (2013) officially read MP3 and WMA but can also read ogg vorbis (after a very quick test. but not able to read FLAC)&lt;br /&gt;
* [http://www.mysilvercrest.de/en/artikel.php?a=127 CRB-530] has a documented compatibility with ogg.  The ogg is fluid.&lt;br /&gt;
* [http://www.mysilvercrest.de/en/artikel.php?a=139 CRB-531] is identical, but comes without the ISO adapter cable.&lt;br /&gt;
* [http://www.mysilvercrest.de/en/artikel.php?a=126 CRE-520] is similar, but without the Bluetooth feature.&lt;br /&gt;
* CRB-631 a successor of CRB-531 has full numeric keyboard and dedicated Accept/Reject keys for better phone communication&lt;br /&gt;
I haven't found any official site, but [http://www.ebay.de/itm/CD-Autoradio-CRB-631-SilverCrest-USB-MP3-SD-CD-Bluetooth-Fernbedienung-/370546850188 here are more pictures and technical details].&lt;br /&gt;
&lt;br /&gt;
=== [http://uralauto.ru Ural] [http://www.cdd.ru ConceRt] ===&lt;br /&gt;
Russian manufacturer AAC makes an unconventional CD headunit that supports Vorbis and FLAC playback. It is being sold since end of 2005, but difficult to obtain outside Russia. An optional expansion unit provides 2.5&amp;quot; hard disk, USB port and AUX input.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.volkswagen-individual.de/ Volkswagen] Golf, Touran and others ===&lt;br /&gt;
:From January 2006 onwards all Golf, Golf Plus and Touran models will offer an USB port (MDI), which support USB sticks with music. Today it is available for virtually all models. Supported formats include MP3, WAV, WMA and Vorbis. Note that Ogg Vorbis support is only mentioned on the German Web site. On a related note, the iPod is supported, too.&lt;br /&gt;
:The new VW Polo (tested in October 2009) plays MP3, WMA, AAC (in MP4 container and bitstream-only, possible extensions are .MP4, .M4A and .AAC) ''and'' Ogg Vorbis, too.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;del&amp;gt;XcarLink or 'Audio Link&amp;quot; USB/Bluetooth/ipod adapter by Powermark&amp;lt;/del&amp;gt; ===&lt;br /&gt;
for car audio&lt;br /&gt;
:'''Cannot play''' Vorbis.&lt;br /&gt;
&lt;br /&gt;
== Car Audio - Archive (may be available second hand) ==&lt;br /&gt;
&lt;br /&gt;
=== [http://www.insignia-products.com/ Insignia's] NS-C5111 CD Car deck ===&lt;br /&gt;
:It is being sold at [http://www.bestbuy.com/ Best Buy] as of April 2006 and will play Vorbis off of a USB drive, SD Card or from Oggs encoded onto data CDs. The Vorbis ability is undocumented. There are similar (or same) complaints as noted about the Yakumo unit below. Long TOC reads and the Random button causes track-change. The system has frozen a couple of times requiring the use of a reset button (it has one). Also problems have been experienced with nested directories, it seems to only read filenames from .ogg files, displays no ID3 info, but it constantly displays stats about the currently-playing file.&lt;br /&gt;
&lt;br /&gt;
=== [http://mobile.jvc.com/product.jsp?modelId=MODL027694&amp;amp;pathId=54&amp;amp;page=1 JVC KD-G720] and [http://mobile.jvc.com/product.jsp?modelId=MODL027693&amp;amp;pathId=54&amp;amp;page=1 KD-G820] ===&lt;br /&gt;
:Both support Vorbis according to [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=29933&amp;amp;view=findpost&amp;amp;p=392489 this post], however according to tommyj's review on [http://www.crutchfield.com/S-YynrlAPfgcF/cgi-bin/ProdView.asp?g=300&amp;amp;I=257KDG820&amp;amp;id=review this page] Vorbis support is limited to the USB connector and is also quite flakey. Another source suggests that JVC [http://www.jvc.ca/en/consumer/product-detail.asp?model=KD-G720 KD-G720] and KD-G820 both have undocumented, partial Vorbis support.  Vorbis files can be played from a USB device attached to the USB port, but not from a CD.  They do not support tags.  For the vast majority of songs, q6 seems to be the highest they can reliably play.  These decks are a good option for anybody looking to play Vorbis in their car because they are available at major retailers (e.g. Best Buy) and are relatively inexpensive.&lt;br /&gt;
&lt;br /&gt;
=== JVC KD-G722 and KD-G721, KD-G821, KD-G827, KD-SH1000 (2005) ===&lt;br /&gt;
:The JVC 2005 generation of car audio can play Vorbis from USB devices. They do not recognize Vorbis tracks on other media (neither CD, nor SD-card on SH1000). Their USB slot is not powerful enough to power a real hard drive, but USB flash is no problem. The 721/722 can play Vorbis until q7 (721 and 722 only differ in color, grey or black). The 821 and 827 can play up to q5. The KD-SH1000 also plays Vorbis from USB (unknown which quality it supports).&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;del&amp;gt;JVC KD-G731/831&amp;lt;/del&amp;gt; ===&lt;br /&gt;
:These do '''not''' play Vorbis. They are the successors to the 72x/82x series, but the (undocumented) Vorbis support was '''dropped''' here.&lt;br /&gt;
:Official reply from JVC regarding support : ''&amp;quot;The following models from 2006 are the only ones to support Ogg Vorbis, KD-SH1000, KD-G821, KD-G721/722. The 2007 and planned 2008 range will not be compatible with Ogg Vorbis.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
=== Lynx CRM 2005 ===&lt;br /&gt;
:Low-Cost Car Radio with support to read Vorbis from CD, USB 1.1, SD and MMC. In Germany it's labeled as &amp;quot;Tevion CRM-2005&amp;quot; and was sold by Aldi-Süd. Both are Yakumo Hypersound clones.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.phatnoise.org/ PhatNoise's] PhatBox ===&lt;br /&gt;
:The PhatBox is an audio entertainment system for the car. It uses a cartridge to store the music, and it can be filled with music through a docking station for the PC. As of version 3.1 of the desktop software (Phatnoise Music Manager), Vorbis is supported out of the box. However, production was discontinued in 2007.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;del&amp;gt;VDO Dayton CD 2803, CD 2737 B&amp;lt;/del&amp;gt; ===&lt;br /&gt;
:'''Cannot play''' Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.vdodayton.com VDO Dayton] [http://www.vdodayton.com/default2_and_fz_menu=product_documents_and_dataid=523108.aspx CD 1537 X] and [http://www.vdodayton.com/default2_and_fz_menu=product_documents_and_dataid=523093.aspx CD 1737 X] ===&lt;br /&gt;
:These are able to play Ogg Vorbis from CD, SD/MMC and USB 1.1 devices. It can play files between 8 and 192kb/s. Up to 99 files in 99 directories (assume that means 99 in each), with names of up to 32 characters. Favorable review on [http://www.cnetfrance.fr/produits/materiels/systemes-auto-embarques/test/0,3800002254,39367497,00.htm Cnet France] (in French)&lt;br /&gt;
Update 4/2009: As of end of 2008 this brand has been discontinued; units are available mostly second hand. The 1537X works well with all sources and file types (tested with Audio CD, MP3/OGG from CD/SD/USB), except for the following drawbacks. It's a pity, with some improvements this could have been a decent player.&lt;br /&gt;
* The display (white on light blue) can not be dimmed; may be hard to read in bright light, and too bright in the night.&lt;br /&gt;
* Audible background noise when playing files on low volume, but doesn't stick out anymore when driving or turning up the volume.&lt;br /&gt;
* Directory search diplays only DOS (8.3) directory names, while file names work fine. Recommended to stick to this legacy convention from the start when naming your dirs for use with this player, else you only get 6 obfuscated characters + &amp;quot;~1&amp;quot; on the display :-(&lt;br /&gt;
* Only ASCII characters are displayed and converted to uppercase, everything else is shown as &amp;quot;*&amp;quot;.&lt;br /&gt;
* SD cards up to 2 GB only. (Large enough to get lost in your directory tree. USB devices may be larger, apparently no limits to the number of files. Tested with a 8 GB keychain.)&lt;br /&gt;
* Random playback works only for all files on the media, not per dir/album. Random state isn't remembered on next power on.&lt;br /&gt;
* Operation and text display could be better in places.&lt;br /&gt;
Update 2/2011: Bought CD1737X from the store recently. So they are still manufacturing I assume.&lt;br /&gt;
* Sound quality is surely better than Opel Corca's original VDO CDR2005.&lt;br /&gt;
* Plays OGG like a charm, has many advanced features that I heaven't heared of before:&lt;br /&gt;
  INT(SCAN) - plays every track (radio station) for 10 seconds (5 seconds) until one is selected to play on&lt;br /&gt;
  REW/FFD - rewinding and fast forward support&lt;br /&gt;
  +10/-10 - skip 10 tracks at a time (useful with big USBs)&lt;br /&gt;
  SEARCH - searching for tracks by 3 letter pattern&lt;br /&gt;
  VOL IN - predefine volume level at turn on &lt;br /&gt;
Overall satisfaction: Very high.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.vdodayton.com VDO Dayton] [http://www.vdodayton.com/default2_and_fz_menu=exclusive_line2.aspx Exclusive Line (2008):] [http://www.vdodayton.com/default2_and_fz_menu=tr_7327_b.aspx TR 7327 B] ===&lt;br /&gt;
:Advertised to have Ogg Vorbis support with bitrates from 8 up to 192 kbit/s. Manual mentions Ogg Vorbis I information tags for Album / Artist / Track name and such. So far, playback is fine and seems solid. Tag information still needs to be investigated further. Unit plays from either SD/MMC card (not SDHC!), or USB stick with max. 2GB for each. No CD drive, but spurts Bluetooth out of the box at a reasonable price. User Manual and data sheet are available as PDF for download from the product page. Included (but not mentioned anywhere) was a cable for iPod to be connected to a rear AUX input, yet support said it is Audio only, i.e. no iPod operation driven by the head unit.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;del&amp;gt; [http://www.yakumo.com/produkte/index.php?pid=1&amp;amp;ag=Autoradio Yakumo's] Hypersound Car &amp;lt;/del&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
'''Company doesn't exist anymore'''&lt;br /&gt;
&lt;br /&gt;
:This in-dash car CD player supports Vorbis, MP3, and WMA playback from CD, USB stick or MMC/SD card. Vorbis support is not obvious but are clearly specified in the Technical Specifications page of the user manual, but has been verified to work with both UK and German versions. Reservations [http://www.tomergabel.com/TheQuestForTheHolyErSound.aspx have been made] regarding the product's quality, in particular stability and performance. (There was also a Yakumo Support Forum Discussion, but Yakumo seem to have taken their forums offline as of March 2007. Partial archive [http://www.moteprime.org/article.php?id=30 here].)It supports Vorbis files on USB, MMC/SD and CD. However, as of early 2006 its firmware is notoriously flaky, no firmware update is available, and it also has poor tuner sensitivity. This is also supplied in unbranded form at various retailers, but it does have a distinctive look. [http://www.yakumo.de/produkte/index.php?pid=1&amp;amp;ag=Autoradio &amp;lt;del&amp;gt; Yakumo Car Entertainment &amp;lt;/del&amp;gt;]. [http://www.yakumo.com/datafiles/produkte/manuals/man_1037991_38_2_yakumo_hypersound_car_eazy.pdf &amp;lt;del&amp;gt; Online manual &amp;lt;/del&amp;gt;]. See also Acoustic Solutions ICS-160.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Note: Some of this information was moved from the Mobile Players page, so there may be some duplication.''&lt;br /&gt;
&lt;br /&gt;
== Media Storage ==&lt;br /&gt;
&lt;br /&gt;
=== [http://www.gennetworks.com/ GenNetwork's] GenMedia DivXStorage ===&lt;br /&gt;
:This is an external harddrive as a  video storage to connect to TV sets. It comes in various versions and storage sizes. It comes with USB 2.0 and a remote control. HDTV resolution, 5.1 sound and the following file formats are supported: MPEG-4/DVD/VCD/SVCD/AudioCD/JPEG/MP3. For the [http://www.gennetworks.com/pro_genmedia02.htm 3,5&amp;quot;] and deck version Vorbis format is mentioned.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.numark.com/ Numark's] HDX, HDMix ===&lt;br /&gt;
:These are DJ media players with a 80GB HD on-board and a CD drive. They support Hard Drive Playback of MP3, WMA, WAV, Vorbis, and FLAC (lossless) formats. See [http://www.numark.com/ homepage] for more.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.cirago.com/ Cirago's] CMC1000 and CMC500 ===&lt;br /&gt;
:These are Wireless-capable DVR or maybe just DVP devices.&lt;br /&gt;
&lt;br /&gt;
[[Category:Vorbis]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:Games_that_use_Vorbis</id>
		<title>Talk:Games that use Vorbis</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:Games_that_use_Vorbis"/>
				<updated>2012-12-29T20:36:23Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* SCS/SCSD */ Added attribution&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* I'm a beta tester (for Savage) has this been added yet? I still see quite a few .wav's (trelane)&lt;br /&gt;
* Yes, those are sound effects.  Vorbis is only used for music, because you wouldn't want to burden the CPU with decoding 24 oggs simultaneously (slothy).&lt;br /&gt;
* Of course you could decode the sound samples ahead of time and avoid the decode on the fly silliness. (xcaliber)   &lt;br /&gt;
*At the expense of load time slowness if you do it then, or install time slowness if you do it during the install.  If you do it during the install, you've only saved yourself space on the CD, which you can probably do in other ways as well.  Plus most games don't keep all the sounds loaded in memory, so decompressing them to memory isn't a good thing, it's a RAM hog.  This is why nobody should use any compressed codecs for sound effects in games.  (slothy)&lt;br /&gt;
* Doesn't the PC version of GTA San Andreas Use Vorbis?&lt;br /&gt;
* It seems like Black and White 2 by Lionhead uses Ogg Vorbis.&lt;br /&gt;
&lt;br /&gt;
Are there notability guidelines? --[[User:Damian Yerrick|Damian Yerrick]] 23:36, 21 October 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
Many of these links go to web pages that are only accessible with Adobe's proprietary Flash Player installed.  Using web pages that support open formats might be better, than the official pages.  Additionally, using a more encyclopedic resource might keep the links alive longer than the shockingly short support period for these software titles.  --[[User:Matthewcraig|Matthew Craig]] 19:21, 25 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
Vorbis doesn't seem to be compatible with Creative ALchemy or Asus Xonar GX mode (EAX 2.0 compability mode.)  It causes frequent lockup with Fallout 3 (uses mix of MP3 and Ogg audio) and Grand Theft Auto: San Andreas (no audio with GX on) to just name two.&lt;br /&gt;
&lt;br /&gt;
GX (EAX 2.0, DS3D compatibility on Vista) works fine with games using MP3, wav or other audio formats, as far as I know.&lt;br /&gt;
&lt;br /&gt;
== Grand Theft Auto: Vice City . Everything in MP3. No Vorbis. Double checked ==&lt;br /&gt;
&lt;br /&gt;
Yeah, really I've checked it right now. There is no OGG Vorbis support, and the rockstar site mentions no support for OGG Vorbis either, so vice city will have to go from the list. [[User:Gnetter|Gnetter]] 13:31, 15 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== SCS/SCSD ==&lt;br /&gt;
&lt;br /&gt;
I found that Simcity Societies (and the expansion) uses .ogg for it's audio.&lt;br /&gt;
'''===}&amp;gt;DISCLAIMER: I DO [[NOT]] OWN ANY PART OF SIMCITY SOCIETIES OR SIMCITY SOCIETIES DESTINATIONS, UNLESS BUYING THE GAME AND/OR IT'S SOUNDTRACK ON iTUNES COUNTS (TO CLEAR UP ANY CONFUSION, I DID NOT BUY THE GAME ITSELF ON iTUNES). ALSO, I DO [[NOT]] OWN ANY PART OF iTUNES, UNLESS BUYING MUSIC ON IT COUNTS.&amp;lt;{===''' [[User:Creeperchair|Creeperchair]] 20:56, 28 December 2012 (UST)&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/User_talk:DOS386</id>
		<title>User talk:DOS386</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/User_talk:DOS386"/>
				<updated>2012-12-26T18:27:01Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Handling SPAM */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For the last time, it is not &amp;quot;OGG&amp;quot;.  Please stop that.  It causes a lot of problems.  Please don't stop contributing, however.  We appreciate your help.--[[User:Saoshyant|Ivo]] 17:41, 7 August 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== not OGG ==&lt;br /&gt;
&lt;br /&gt;
&amp;gt; it '''is not &amp;quot;OGG&amp;quot;.''' Please stop that. It causes a lot of problems.&lt;br /&gt;
&lt;br /&gt;
What then ? ;-) [[User:DOS386|DOS386]] 14:46, 19 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Ogg is not an acronym and should not be treated as such.  When talking about Ogg files, as in content inside the container, you should refer to it as either Ogg Video, Ogg Audio, or Ogg Application.  When you see someone saying &amp;quot;OGG&amp;quot;, they usually mean Vorbis, so you see, you should avoid using those terms because it reveals ignorance for Ogg is not Vorbis, and Vorbis is not Ogg, although Vorbis does show up inside Ogg frequently.--[[User:Saoshyant|Ivo]] 06:49, 20 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Handling SPAM ==&lt;br /&gt;
&lt;br /&gt;
Please don't add &amp;lt;nowiki&amp;gt;{{Delete}}&amp;lt;/nowiki&amp;gt; or move newly created SPAM pages. This just makes them more difficult to process (by creating &amp;lt;nowiki&amp;gt;#REDIRECT&amp;lt;/nowiki&amp;gt;s). There are lots of editors patrolling for newly created SPAM, so there is no need to highlight such pages. (If you spot ''old'' SPAM pages then that is a different matter.) Many thanks, [[User:Martin.leese|Martin Leese]] 10:27, 26 December 2012 (PST)&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/FLACDecoders</id>
		<title>FLACDecoders</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/FLACDecoders"/>
				<updated>2012-10-29T20:14:36Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Added FLAC.js&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://flac.sourceforge.net/ xiph]&lt;br /&gt;
* [http://ffmpeg.org ffmpeg]&lt;br /&gt;
* [http://labs.official.fm/articles/2012/06/15/flac-and-aurora/ FLAC.js], a pure JavaScript FLAC decoder&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/VorbisComment</id>
		<title>VorbisComment</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/VorbisComment"/>
				<updated>2012-10-12T18:23:43Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Proposed field names */ Removed Chapter Extension as it has its own section further down&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VorbisComment is a base-level [[Metadata]] format initially created for use with Ogg [[Vorbis]]. It has since been adopted in the specifications of &lt;br /&gt;
[[Ogg]] encapsulations for other Xiph.Org codecs including [[Theora]], [[Speex]] and [[FLAC]].&lt;br /&gt;
&lt;br /&gt;
The use case for VorbisComment is given as:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
... much like someone jotting a quick note on the bottom of a CDR. It should be a little information to remember the disc by and explain it to others; a short, to-the-point text note that need not only be a couple words, but isn't going to be more than a short paragraph.[http://xiph.org/vorbis/doc/v-comment.html]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically used to provide basic information like the title and copyright holder of a work.&lt;br /&gt;
As such the scope is similar to that of ID3 tags used with MP3 files.&lt;br /&gt;
VorbisComment is widely supported on [[VorbisHardware|portable Ogg Vorbis players]] as well as streaming, editing and playback software.&lt;br /&gt;
&lt;br /&gt;
Although the syntax of VorbisComment is well-specified, various conventions exist for the field names in use.&lt;br /&gt;
The goal for this page is to codify best practices and collect proposals for standardization of VorbisComment field names.&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically encoded as the second packet in a codec stream. When VorbisComments are included in the first (ie. Theora) stream of an Ogg Theora file, they are assumed to cover all streams in the multiplexed group. [http://lists.xiph.org/pipermail/vorbis-dev/2008-December/019676.html]&lt;br /&gt;
&lt;br /&gt;
VorbisComment is the simplest and most widely-supported mechanism for storing metadata with Xiph.Org codecs. For other existing and proposed mechanisms, see [[Metadata]].&lt;br /&gt;
&lt;br /&gt;
== Recommended field names ==&lt;br /&gt;
&lt;br /&gt;
The current [http://xiph.org/vorbis/doc/v-comment.html VorbisComment recommendation] contains a recommended set&lt;br /&gt;
of field names for comments.&lt;br /&gt;
&lt;br /&gt;
== Proposed field names ==&lt;br /&gt;
&lt;br /&gt;
Some proposals for extra field names:&lt;br /&gt;
&lt;br /&gt;
* [http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html Ogg Vorbis Comment Field Recommendations]&lt;br /&gt;
* [http://gophernet.org/articles/vorbiscomment/ Proposals for extending Ogg Vorbis comments]&lt;br /&gt;
* [[Field names]]&lt;br /&gt;
&lt;br /&gt;
Comments are intended to be free-form, but for the purposes of interoperability, it is helpful to define tag sets for particular applications, and provide some guidelines for machine parsing. Note that some field names have to be non-free-form to achieve machine parsing.&lt;br /&gt;
&lt;br /&gt;
=== Cover art ===&lt;br /&gt;
&lt;br /&gt;
==== METADATA_BLOCK_PICTURE ====&lt;br /&gt;
The [http://flac.sourceforge.net/format.html#metadata_block_picture binary FLAC picture structure] is base64 encoded and placed within a VorbisComment with the tag name &amp;quot;METADATA_BLOCK_PICTURE&amp;quot;. This is the preferred and recommended way of embedding cover art within VorbisComments. It has the following benefits:&lt;br /&gt;
&lt;br /&gt;
* Easy to use for developers since the identical (or similar) structure is also used by FLAC and MP3.&lt;br /&gt;
* The cover art can either be linked or embedded within the stream.&lt;br /&gt;
* Common picture file formats are supported (jpg and png).&lt;br /&gt;
* A description may be included and the picture type (front cover, back cover...) and image mime type are provided.&lt;br /&gt;
* Base64 encoded data is invariant under UTF-8 and a valid UTF-8 string, so obeys the rules for comment data.&lt;br /&gt;
&lt;br /&gt;
Implementations interpreting or writing picture blocks should note the following details:  &lt;br /&gt;
&lt;br /&gt;
===== General encoding/decoding =====&lt;br /&gt;
* Failure to decode a picture block should not prevent playback of the file (failure to deal with the particularly large packet required by the comment header is a separate problem with the player implementation).&lt;br /&gt;
* Base64 encoding is used as in section 4 of [http://www.faqs.org/rfcs/rfc4648.html RFC4648]. We note that line feeds are not allowed and padding characters ('=') are required.&lt;br /&gt;
* Applications adding picture blocks should inform users that some applications or hardware may not support them and should provide a method to remove the blocks (this is expected to be trivial for applications capable of adding them).&lt;br /&gt;
&lt;br /&gt;
===== Block handling =====&lt;br /&gt;
* The unencoded format is that of the [http://flac.sourceforge.net/format.html#metadata_block_picture FLAC picture block].  The fields are stored in big endian order as in FLAC, picture data is stored according to the relevant standard.&lt;br /&gt;
* Picture data should be stored in PNG or JPEG formats or linked separately.  It is recommended readers support both PNG and JPEG&lt;br /&gt;
* Allowed values for the MIME string are &amp;quot;image/&amp;quot;, &amp;quot;image/png&amp;quot;, &amp;quot;image/jpeg&amp;quot; and &amp;quot;--&amp;gt;&amp;quot; (the link indicator) and &amp;quot;&amp;quot; (length 0).  An empty MIME string indicates type &amp;quot;image/&amp;quot;&lt;br /&gt;
* Fields present in the ID3V2.4.0 [http://www.id3.org/id3v2.4.0-frames#line-1085 Attached Picture Frame] (APIC Frame) take the same interpretation as in the ID3V2.4.0 format with the following exceptions (following the FLAC format):&lt;br /&gt;
** The description field is UTF-8 (encoded without ID3V2's initial 'encoding byte')&lt;br /&gt;
** String fields are not null terminated: their preceding length fields are used instead.&lt;br /&gt;
&lt;br /&gt;
===== Linked images =====&lt;br /&gt;
Support for linked images is optional for applications handling picture blocks. When a linked picture is indicated the following rules are observed:&lt;br /&gt;
* The picture data is a complete URL indicating the picture to be used, relative URLs are allowed (note relative URLs do not start with a protocol specifier and are retrieved with the same protocol as the file being processed).&lt;br /&gt;
* Links are ISO-8859-1 encoded&lt;br /&gt;
* Applications MAY retrieve linked images via the file:// protocol.&lt;br /&gt;
* Applications MUST obtain user approval if they wish to retrieve images via remote protocols.&lt;br /&gt;
* Link targets may become unavailable: applications supporting linked images SHOULD recover gracefully from this and MAY report the absence to the user.&lt;br /&gt;
* The type of the linked file is not restricted to JPEG and JFIF and applications MAY support other formats&lt;br /&gt;
* If the application does not support linked images, the target is unavailable, not permitted or an unknown format the picture block should be skipped.&lt;br /&gt;
* Applications may make links available to users, this is of particular use when links are unsupported or of unsupported type&lt;br /&gt;
&lt;br /&gt;
===== Image dimension fields =====&lt;br /&gt;
* The height, width, colour depth and 'number of colours' fields are for purely informational purposes.  Applications MUST NOT use them for decoding purposes, but MAY display them to the user and MAY use them to make a decision whether to skip the block (for example if selecting the most appropriate among multiple blocks).&lt;br /&gt;
* Applications writing picture blocks MUST set these fields correctly OR set them all to zero.&lt;br /&gt;
&lt;br /&gt;
===== Multiple blocks =====&lt;br /&gt;
* Multiple image blocks MAY be included as separate METADATA_BLOCK_PICTURE comments.&lt;br /&gt;
* There may only be one each of picture type (APIC type) 1 and 2 in a Vorbis stream.&lt;br /&gt;
* Block order is significant for some types and applications should preserve the comment order when reading or writing VorbisComment headers. The block order may be used to determine the order pictures are presented to the user.&lt;br /&gt;
&lt;br /&gt;
===== Playback tests =====&lt;br /&gt;
Embedding a picture into the file might break playback of existing players (especially hardware players, software players could be updated easily). A workaround would be to link the picture within the tag. Furthermore users should become informed in some way that embedding a picture COULD cause problems (as stated above).&lt;br /&gt;
&lt;br /&gt;
In order to test if there are playback problems, there are test files available [http://www.audioranger.com/coverart_mk.ogg here] and [http://www.audioranger.com/coverart_im.ogg here]. You're invited to download one of these test files (or both), test playback on your software and hardware players, and report the results here on the wiki.&lt;br /&gt;
&lt;br /&gt;
'''Tested software players'''&lt;br /&gt;
* Audacious 1.5.1: no problem&lt;br /&gt;
* foobar2000: no problems&lt;br /&gt;
* Gnome: built-in preview playback: no problem&lt;br /&gt;
* MediaMonkey: no problems&lt;br /&gt;
* Media Player Classic (unicode build) 6.4.9.1: no problem&lt;br /&gt;
* RoarAudio: no problems (server and client side)&lt;br /&gt;
* Rythmbox 0.11.6: no problem&lt;br /&gt;
* Totem 2.24.3: no problem&lt;br /&gt;
* VLC 0.9.4/0.9.6: doesn't play&lt;br /&gt;
** Patch send to VLC to fix this - should get in 1.0.0&lt;br /&gt;
* WinAmp: no problems&lt;br /&gt;
* Windows Media Player 11: no problem&lt;br /&gt;
* XMPlay 3.4.2: no problem&lt;br /&gt;
* Nero ShowTime: no problem&lt;br /&gt;
* Songbird 1.8.0: no problem, able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested hardware players'''&lt;br /&gt;
* Logitech Squeezebox: Supported as of January 2009 (server version 7.3.3)&lt;br /&gt;
* Sandisk Sansa Fuze (Firmware 01.01.22): Hangs up when trying to playback the demo file - had to reset the player&lt;br /&gt;
** Note: The &amp;quot;Fuze&amp;quot; can play ogg vorbis files which have embedded pictures from &amp;quot;Easytag&amp;quot;&lt;br /&gt;
* Cowon iAudio U3 (Firmware 1.29, 4 GB): works&lt;br /&gt;
* Cowon D2: no problem (latest Firmware: 2.59, 8GB Version)&lt;br /&gt;
* iRiver E100: no problem (latest Firmware: 1.16 G_U, 8GB Version)&lt;br /&gt;
* iRiver T20: doesn't play (firmware: 1.71, 1GB)&lt;br /&gt;
* Samsung YP-R1: no problem (latest Firmware: 3.07, 16GB Version)&lt;br /&gt;
&lt;br /&gt;
'''Tested tag editors'''&lt;br /&gt;
* Easytag 2.1.6: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.42e: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.47b: is able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested other software'''&lt;br /&gt;
* Total Recorder: capable to work with artwork according to the specification.&lt;br /&gt;
&lt;br /&gt;
==== Unofficial COVERART field (deprecated) ====&lt;br /&gt;
There also exists an unofficial, not well supported comment field named &amp;quot;COVERART&amp;quot;. It includes a base64-encoded string of the binary picture data (usually a JPEG file, but this could be a different file format too). The disadvantages are that&lt;br /&gt;
* no additional information like a description about the cover art or its type (front cover, back cover etc.) is provided,&lt;br /&gt;
* the cover art can't be linked&lt;br /&gt;
* the base64 string is displayed within many tag editors as plain text because of their missing support for this &amp;quot;COVERART&amp;quot; field&lt;br /&gt;
* it may breaks the playback on hardware players because of a large VorbisComment header&lt;br /&gt;
The unofficial &amp;quot;COVERART&amp;quot; field is supported for example by such software as AudioShell (http://www.softpointer.com/AudioShell.htm) - read/write, and Total Recorder (http://www.totalrecorder.com/)- only read.&lt;br /&gt;
&lt;br /&gt;
===== Conversion to METADATA_BLOCK_PICTURE =====&lt;br /&gt;
Old &amp;quot;COVERART&amp;quot; tags should be converted to the new METADATA_BLOCK_PICTURE tag (see above for its specification). This conversion is straightforward and is suggested to be done the following way:&lt;br /&gt;
&lt;br /&gt;
* Decode the COVERART tag. A program MAY check the signature of the embedded picture in order to determine whether it is an allowed type. Lossless conversion from disallowed types to allowed types MAY be carried out.&lt;br /&gt;
* Fill out the FLAC block with the binary picture data. If the MIME type of the picture is unknown or can't be determined, the MIME type &amp;quot;image/&amp;quot; MAY be used instead. Supplying image dimensions, color depth etc. is optional (see specification above).&lt;br /&gt;
* In the absence of other information the picture type 'Other' should be used. Applications may want to allow users to select a default type or specify the type to use.&lt;br /&gt;
* Encode the new picture block, remove the COVERART tag from the comments and add the METADATA_BLOCK_PICTURE entry.&lt;br /&gt;
* If multiple tags are being converted the order of the METADATA_BLOCK_PICTURE tags should be the same as that of the COVERART tags they are replacing.&lt;br /&gt;
&lt;br /&gt;
=== Chapter Extension ===&lt;br /&gt;
&lt;br /&gt;
These are used to include navigation points, for example:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHAPTER001=00:00:00.000&lt;br /&gt;
CHAPTER001NAME=Chapter 1&lt;br /&gt;
CHAPTER001URL=http://...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the [[Chapter Extension]] page for more details.&lt;br /&gt;
&lt;br /&gt;
=== Date and time ===&lt;br /&gt;
&lt;br /&gt;
The goal is to specify '''one''' standard format for describing date and/or time.&lt;br /&gt;
&lt;br /&gt;
==== ISO proposal ====&lt;br /&gt;
The date format for any field describing a date must follow the ISO 8601 standard: YYYY-MM-DD, shortened to just YYYY-MM or simply YYYY.&lt;br /&gt;
&lt;br /&gt;
We have been recommending this usage with the DATE tag for some time. It is proposed that the spec be amended to include this information for machinability.&lt;br /&gt;
&lt;br /&gt;
The time format for any field '''except''' track duration must be specified with leading T and ending with a time zone. Schemas with and without dates: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
YYYY-MM-DDTHH:MM:SS+TS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
THH:MM+TZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ENCODER ===&lt;br /&gt;
&lt;br /&gt;
The goal is to attribute encoder software. This value can be used in the future to determine which files can be improved by being re encoded with a newer version.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': What is lacking from the vendor string present in the spec from the start? All libvorbis and encoder tunings I'm aware of have recorded the encoder version here.&lt;br /&gt;
&lt;br /&gt;
Rationale for not using the vendor string:&lt;br /&gt;
* The vendor string is usually used to store the name and version of the underlying codec library&lt;br /&gt;
* The idea of ENCODER is to store the name of the user-visible application, for example &amp;lt;tt&amp;gt;ffmpeg2theora&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* It can be useful for debugging to store the name and version of the calling application.&lt;br /&gt;
* The libvorbis API does not let applications override the vendor string.&lt;br /&gt;
&lt;br /&gt;
==== Proposal: Inclusion of URL in ENCODER value ====&lt;br /&gt;
The encoder field name must be a unique URL providing both encoder software name and version. If no unique URL address is available were both name and version is available; then the version number can be specified by separating with a space character. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ENCODER=http://flac.sourceforge.net/ 1.2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that ffmpeg2theora uses ENCODER, but does not include a url. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
&lt;br /&gt;
==== Proposal: ENCODED_BY ====&lt;br /&gt;
&lt;br /&gt;
I've also seen ENCODED_BY. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
: ENCODED_BY is usually the person who did the encoding. This should not be part of the recommendation due to legal problems around deliberate and accidental distribution to third parties. Basically the name of the encoder should not be included to protect encoders from their own egos and possible legal prosecution. ''Added by Aleksandersen on September 20, 2007''&lt;br /&gt;
&lt;br /&gt;
=== Improving license data ===&lt;br /&gt;
&lt;br /&gt;
The goal is to provide a method for proclaiming license and copyright information (basically clarifying ‘distribution rights (if any) and ownership’).&lt;br /&gt;
&lt;br /&gt;
The [http://xiph.org/vorbis/doc/v-comment.html specification document] describes LICENSE and COPYRIGHT fields. But is not clear enough about whether these should be machine-readable.&lt;br /&gt;
&lt;br /&gt;
We should consider working together with Creative Commons to have complementary and interlinked information on the Creative Commons and Xiph wikis. Refer to the [http://wiki.creativecommons.org/Ogg Ogg page] in the Creative Commons wiki.&lt;br /&gt;
&lt;br /&gt;
==== New RIGHTS field name proposal ====&lt;br /&gt;
One proposal is to replace the COPYRIGHT and LICENSE field names with RIGHTS. RIGHTS must be a human-readable copyright statement. Basic example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But this is not machine-readable. Adding two complementary field names should do the trick: RIGHTS-DATE, describing the date of copyright; and RIGHTS-URI, providing a method for linking to a license. Software agents can assume that multiple songs uses the sameURIs, such as in the case for Creative Commons. Full example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © 2019 Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-DATE=2019-04&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-URI=http://somewhere.com/license.xhtml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Software such as for multimedia management and playback are encouraged to display the RIGHTS statement as a linked phrase using RIGHTS-URI.&lt;br /&gt;
&lt;br /&gt;
RIGHTS-DATE does not need to be displayed as it is required in the human readable version by international copyright agreements. RIGHTS-DATE can be used to determine when a copyrighted work falls under the public domain and related matters. (''The Beatles''' copyright on their original studio recordings (not the remixes) are soon expiering. So mechanisms such as the RIGHTS-DATE are indeed required in music management and filesharing software!)&lt;br /&gt;
&lt;br /&gt;
To remain machine-readable it would be required to have at most one instance of each RIGHTS field name. All fields would of course remain optional.&lt;br /&gt;
&lt;br /&gt;
The ''Dublin Core Metadata Initiative'' recommends the use of ‘rights’ to describe license and copyright matters. The web feed format Atom 1.0 has implemented a rights element in their specification.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': The triplet RIGHTS, RIGHTS-DATE, RIGHTS-URI is an example of structured metadata. VorbisComments are inherently unstructured, and this should be respected. Structured metadata belongs in a different stream, such as XML (using [[Metadata#XMLEmbedding|XMLEmbedding]]).&lt;br /&gt;
&lt;br /&gt;
==== Improving existing fields proposal ====&lt;br /&gt;
Similar to the DATE tag above, we have generally recommended that a URL uniquely identifying the license be included in the LICENSE field to allow machine identification of the license. This is in agreement with the proposal in the Creative Commons wiki. Since the COPYRIGHT field is a human-readable statement of the copyright, like the proposed RIGHTS tag above, some people include a license url there. Therefore if a url can't be found in a LICENSE tag if any, applications should use one from the COPYRIGHT tag, if any. Contact information for verification, attribution, relicensing, etc. can be obtained from the COPYRIGHT field, but Creative Commons also recommend a separate CONTACT tag for this information. This is reasonable, so we propose it be included.&lt;br /&gt;
&lt;br /&gt;
=== Geo Location fields ===&lt;br /&gt;
&lt;br /&gt;
The existing LOCATION field is meant to carry a human readable location for the recording/creation of the media file. &lt;br /&gt;
&lt;br /&gt;
Having geographical coordinates according to [http://en.wikipedia.org/wiki/World_Geodetic_System WGS84] can be useful as well, especially in a form that can be machine parsed. The agreed format is similar to this [http://en.wikipedia.org/wiki/Geo_(microformat) geo microformat]:&lt;br /&gt;
&lt;br /&gt;
GEO_LOCATION= ''latitude'' ; ''longitude'' [; ''elevation'' ] &lt;br /&gt;
&lt;br /&gt;
where each value is a fixed point decimal number formatted in the C locale with a period (.) for the radix. Values are separated with a ';' and white space is not significant. The elevation is optional.&lt;br /&gt;
&lt;br /&gt;
''latitude'' is the geo latitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the equator, negative values for southern latitudes) (C double).&lt;br /&gt;
&lt;br /&gt;
''longitude'' is the geo longitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, negative values for western longitudes). (C double).&lt;br /&gt;
&lt;br /&gt;
''elevation'' is the geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level) (C double).&lt;br /&gt;
&lt;br /&gt;
=== Replay Gain ===&lt;br /&gt;
&lt;br /&gt;
The REPLAYGAIN_* fields implement the Replay Gain proposal for storing a track relative volume adjustment, which can be used to &amp;quot;fix&amp;quot; quiet or loud sounding Vorbis or FLAC streams. The set of tags is intended to be machine parsed, and has the following form: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REPLAYGAIN_TRACK_GAIN=-7.03 dB&lt;br /&gt;
REPLAYGAIN_TRACK_PEAK=1.21822226&lt;br /&gt;
REPLAYGAIN_ALBUM_GAIN=-6.37 dB&lt;br /&gt;
REPLAYGAIN_ALBUM_PEAK=1.21822226&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See http://www.replaygain.org/ for detailed information about Replay Gain and how the different values are calculated.&lt;br /&gt;
&lt;br /&gt;
=== Tantalos resource ID ===&lt;br /&gt;
Tantalos is a protocol to auto locate and access content in a network scope (normally 'LAN' but can also be bigger like 'company network'). It uses UUIDs to identify resources. There are two groups of those UUIDs: IDs generated using the meta data of the track and IDs generated in some other way (for example random IDs, see UUID specs). The later group may need to be passed with the track. The VCLT Playlist format (see below) uses 'HASH={UUID}id...' with hex-dash format for this (HASH={UUID}e278173d-4d6d-4c66-95ec-4ec85eedc7d1).&lt;br /&gt;
--[[User:Ph3-der-loewe|Ph3-der-loewe]] 02:05, 13 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
== Other (non-proposed field names) ==&lt;br /&gt;
=== VCLT playlist format ===&lt;br /&gt;
The VCLT playlist format uses some ''keys'' which look like VorbisComments but they aren't nor they are proposed to become (expect for HASH). This includes the keys STREAMURL, FILENAME, FILEURL, LENGTH, HASH (see above for this one), SIGNALINFO, AUDIOINFO and OFFSET. You can find more infos about those at [https://bts.keep-cool.org/wiki/Specs/VCLT https://bts.keep-cool.org/wiki/Specs/VCLT].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
* [http://sbooth.org/importers/ OggImporter] &amp;amp;ndash; imports Ogg Vorbis and Ogg FLAC files to Spotlight.&lt;br /&gt;
* vorbiscomment &amp;amp;ndash; a commandline tool, part of [[VorbisTools]].&lt;br /&gt;
* [http://www.xiph.org/oggz/ oggz-comment] &amp;amp;ndash; a commandline tool, part of [[Oggz]] tool. It can add comments to multitrack and video files.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/VorbisComment</id>
		<title>VorbisComment</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/VorbisComment"/>
				<updated>2012-10-12T18:07:44Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Chapter Extension */ Updated example to match simpler format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VorbisComment is a base-level [[Metadata]] format initially created for use with Ogg [[Vorbis]]. It has since been adopted in the specifications of &lt;br /&gt;
[[Ogg]] encapsulations for other Xiph.Org codecs including [[Theora]], [[Speex]] and [[FLAC]].&lt;br /&gt;
&lt;br /&gt;
The use case for VorbisComment is given as:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
... much like someone jotting a quick note on the bottom of a CDR. It should be a little information to remember the disc by and explain it to others; a short, to-the-point text note that need not only be a couple words, but isn't going to be more than a short paragraph.[http://xiph.org/vorbis/doc/v-comment.html]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically used to provide basic information like the title and copyright holder of a work.&lt;br /&gt;
As such the scope is similar to that of ID3 tags used with MP3 files.&lt;br /&gt;
VorbisComment is widely supported on [[VorbisHardware|portable Ogg Vorbis players]] as well as streaming, editing and playback software.&lt;br /&gt;
&lt;br /&gt;
Although the syntax of VorbisComment is well-specified, various conventions exist for the field names in use.&lt;br /&gt;
The goal for this page is to codify best practices and collect proposals for standardization of VorbisComment field names.&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically encoded as the second packet in a codec stream. When VorbisComments are included in the first (ie. Theora) stream of an Ogg Theora file, they are assumed to cover all streams in the multiplexed group. [http://lists.xiph.org/pipermail/vorbis-dev/2008-December/019676.html]&lt;br /&gt;
&lt;br /&gt;
VorbisComment is the simplest and most widely-supported mechanism for storing metadata with Xiph.Org codecs. For other existing and proposed mechanisms, see [[Metadata]].&lt;br /&gt;
&lt;br /&gt;
== Recommended field names ==&lt;br /&gt;
&lt;br /&gt;
The current [http://xiph.org/vorbis/doc/v-comment.html VorbisComment recommendation] contains a recommended set&lt;br /&gt;
of field names for comments.&lt;br /&gt;
&lt;br /&gt;
== Proposed field names ==&lt;br /&gt;
&lt;br /&gt;
Some proposals for extra field names:&lt;br /&gt;
&lt;br /&gt;
* [http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html Ogg Vorbis Comment Field Recommendations]&lt;br /&gt;
* [http://gophernet.org/articles/vorbiscomment/ Proposals for extending Ogg Vorbis comments]&lt;br /&gt;
* [[Field names]]&lt;br /&gt;
* [[Chapter Extension]]&lt;br /&gt;
&lt;br /&gt;
Comments are intended to be free-form, but for the purposes of interoperability, it is helpful to define tag sets for particular applications, and provide some guidelines for machine parsing. Note that some field names have to be non-free-form to achieve machine parsing.&lt;br /&gt;
&lt;br /&gt;
=== Cover art ===&lt;br /&gt;
&lt;br /&gt;
==== METADATA_BLOCK_PICTURE ====&lt;br /&gt;
The [http://flac.sourceforge.net/format.html#metadata_block_picture binary FLAC picture structure] is base64 encoded and placed within a VorbisComment with the tag name &amp;quot;METADATA_BLOCK_PICTURE&amp;quot;. This is the preferred and recommended way of embedding cover art within VorbisComments. It has the following benefits:&lt;br /&gt;
&lt;br /&gt;
* Easy to use for developers since the identical (or similar) structure is also used by FLAC and MP3.&lt;br /&gt;
* The cover art can either be linked or embedded within the stream.&lt;br /&gt;
* Common picture file formats are supported (jpg and png).&lt;br /&gt;
* A description may be included and the picture type (front cover, back cover...) and image mime type are provided.&lt;br /&gt;
* Base64 encoded data is invariant under UTF-8 and a valid UTF-8 string, so obeys the rules for comment data.&lt;br /&gt;
&lt;br /&gt;
Implementations interpreting or writing picture blocks should note the following details:  &lt;br /&gt;
&lt;br /&gt;
===== General encoding/decoding =====&lt;br /&gt;
* Failure to decode a picture block should not prevent playback of the file (failure to deal with the particularly large packet required by the comment header is a separate problem with the player implementation).&lt;br /&gt;
* Base64 encoding is used as in section 4 of [http://www.faqs.org/rfcs/rfc4648.html RFC4648]. We note that line feeds are not allowed and padding characters ('=') are required.&lt;br /&gt;
* Applications adding picture blocks should inform users that some applications or hardware may not support them and should provide a method to remove the blocks (this is expected to be trivial for applications capable of adding them).&lt;br /&gt;
&lt;br /&gt;
===== Block handling =====&lt;br /&gt;
* The unencoded format is that of the [http://flac.sourceforge.net/format.html#metadata_block_picture FLAC picture block].  The fields are stored in big endian order as in FLAC, picture data is stored according to the relevant standard.&lt;br /&gt;
* Picture data should be stored in PNG or JPEG formats or linked separately.  It is recommended readers support both PNG and JPEG&lt;br /&gt;
* Allowed values for the MIME string are &amp;quot;image/&amp;quot;, &amp;quot;image/png&amp;quot;, &amp;quot;image/jpeg&amp;quot; and &amp;quot;--&amp;gt;&amp;quot; (the link indicator) and &amp;quot;&amp;quot; (length 0).  An empty MIME string indicates type &amp;quot;image/&amp;quot;&lt;br /&gt;
* Fields present in the ID3V2.4.0 [http://www.id3.org/id3v2.4.0-frames#line-1085 Attached Picture Frame] (APIC Frame) take the same interpretation as in the ID3V2.4.0 format with the following exceptions (following the FLAC format):&lt;br /&gt;
** The description field is UTF-8 (encoded without ID3V2's initial 'encoding byte')&lt;br /&gt;
** String fields are not null terminated: their preceding length fields are used instead.&lt;br /&gt;
&lt;br /&gt;
===== Linked images =====&lt;br /&gt;
Support for linked images is optional for applications handling picture blocks. When a linked picture is indicated the following rules are observed:&lt;br /&gt;
* The picture data is a complete URL indicating the picture to be used, relative URLs are allowed (note relative URLs do not start with a protocol specifier and are retrieved with the same protocol as the file being processed).&lt;br /&gt;
* Links are ISO-8859-1 encoded&lt;br /&gt;
* Applications MAY retrieve linked images via the file:// protocol.&lt;br /&gt;
* Applications MUST obtain user approval if they wish to retrieve images via remote protocols.&lt;br /&gt;
* Link targets may become unavailable: applications supporting linked images SHOULD recover gracefully from this and MAY report the absence to the user.&lt;br /&gt;
* The type of the linked file is not restricted to JPEG and JFIF and applications MAY support other formats&lt;br /&gt;
* If the application does not support linked images, the target is unavailable, not permitted or an unknown format the picture block should be skipped.&lt;br /&gt;
* Applications may make links available to users, this is of particular use when links are unsupported or of unsupported type&lt;br /&gt;
&lt;br /&gt;
===== Image dimension fields =====&lt;br /&gt;
* The height, width, colour depth and 'number of colours' fields are for purely informational purposes.  Applications MUST NOT use them for decoding purposes, but MAY display them to the user and MAY use them to make a decision whether to skip the block (for example if selecting the most appropriate among multiple blocks).&lt;br /&gt;
* Applications writing picture blocks MUST set these fields correctly OR set them all to zero.&lt;br /&gt;
&lt;br /&gt;
===== Multiple blocks =====&lt;br /&gt;
* Multiple image blocks MAY be included as separate METADATA_BLOCK_PICTURE comments.&lt;br /&gt;
* There may only be one each of picture type (APIC type) 1 and 2 in a Vorbis stream.&lt;br /&gt;
* Block order is significant for some types and applications should preserve the comment order when reading or writing VorbisComment headers. The block order may be used to determine the order pictures are presented to the user.&lt;br /&gt;
&lt;br /&gt;
===== Playback tests =====&lt;br /&gt;
Embedding a picture into the file might break playback of existing players (especially hardware players, software players could be updated easily). A workaround would be to link the picture within the tag. Furthermore users should become informed in some way that embedding a picture COULD cause problems (as stated above).&lt;br /&gt;
&lt;br /&gt;
In order to test if there are playback problems, there are test files available [http://www.audioranger.com/coverart_mk.ogg here] and [http://www.audioranger.com/coverart_im.ogg here]. You're invited to download one of these test files (or both), test playback on your software and hardware players, and report the results here on the wiki.&lt;br /&gt;
&lt;br /&gt;
'''Tested software players'''&lt;br /&gt;
* Audacious 1.5.1: no problem&lt;br /&gt;
* foobar2000: no problems&lt;br /&gt;
* Gnome: built-in preview playback: no problem&lt;br /&gt;
* MediaMonkey: no problems&lt;br /&gt;
* Media Player Classic (unicode build) 6.4.9.1: no problem&lt;br /&gt;
* RoarAudio: no problems (server and client side)&lt;br /&gt;
* Rythmbox 0.11.6: no problem&lt;br /&gt;
* Totem 2.24.3: no problem&lt;br /&gt;
* VLC 0.9.4/0.9.6: doesn't play&lt;br /&gt;
** Patch send to VLC to fix this - should get in 1.0.0&lt;br /&gt;
* WinAmp: no problems&lt;br /&gt;
* Windows Media Player 11: no problem&lt;br /&gt;
* XMPlay 3.4.2: no problem&lt;br /&gt;
* Nero ShowTime: no problem&lt;br /&gt;
* Songbird 1.8.0: no problem, able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested hardware players'''&lt;br /&gt;
* Logitech Squeezebox: Supported as of January 2009 (server version 7.3.3)&lt;br /&gt;
* Sandisk Sansa Fuze (Firmware 01.01.22): Hangs up when trying to playback the demo file - had to reset the player&lt;br /&gt;
** Note: The &amp;quot;Fuze&amp;quot; can play ogg vorbis files which have embedded pictures from &amp;quot;Easytag&amp;quot;&lt;br /&gt;
* Cowon iAudio U3 (Firmware 1.29, 4 GB): works&lt;br /&gt;
* Cowon D2: no problem (latest Firmware: 2.59, 8GB Version)&lt;br /&gt;
* iRiver E100: no problem (latest Firmware: 1.16 G_U, 8GB Version)&lt;br /&gt;
* iRiver T20: doesn't play (firmware: 1.71, 1GB)&lt;br /&gt;
* Samsung YP-R1: no problem (latest Firmware: 3.07, 16GB Version)&lt;br /&gt;
&lt;br /&gt;
'''Tested tag editors'''&lt;br /&gt;
* Easytag 2.1.6: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.42e: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.47b: is able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested other software'''&lt;br /&gt;
* Total Recorder: capable to work with artwork according to the specification.&lt;br /&gt;
&lt;br /&gt;
==== Unofficial COVERART field (deprecated) ====&lt;br /&gt;
There also exists an unofficial, not well supported comment field named &amp;quot;COVERART&amp;quot;. It includes a base64-encoded string of the binary picture data (usually a JPEG file, but this could be a different file format too). The disadvantages are that&lt;br /&gt;
* no additional information like a description about the cover art or its type (front cover, back cover etc.) is provided,&lt;br /&gt;
* the cover art can't be linked&lt;br /&gt;
* the base64 string is displayed within many tag editors as plain text because of their missing support for this &amp;quot;COVERART&amp;quot; field&lt;br /&gt;
* it may breaks the playback on hardware players because of a large VorbisComment header&lt;br /&gt;
The unofficial &amp;quot;COVERART&amp;quot; field is supported for example by such software as AudioShell (http://www.softpointer.com/AudioShell.htm) - read/write, and Total Recorder (http://www.totalrecorder.com/)- only read.&lt;br /&gt;
&lt;br /&gt;
===== Conversion to METADATA_BLOCK_PICTURE =====&lt;br /&gt;
Old &amp;quot;COVERART&amp;quot; tags should be converted to the new METADATA_BLOCK_PICTURE tag (see above for its specification). This conversion is straightforward and is suggested to be done the following way:&lt;br /&gt;
&lt;br /&gt;
* Decode the COVERART tag. A program MAY check the signature of the embedded picture in order to determine whether it is an allowed type. Lossless conversion from disallowed types to allowed types MAY be carried out.&lt;br /&gt;
* Fill out the FLAC block with the binary picture data. If the MIME type of the picture is unknown or can't be determined, the MIME type &amp;quot;image/&amp;quot; MAY be used instead. Supplying image dimensions, color depth etc. is optional (see specification above).&lt;br /&gt;
* In the absence of other information the picture type 'Other' should be used. Applications may want to allow users to select a default type or specify the type to use.&lt;br /&gt;
* Encode the new picture block, remove the COVERART tag from the comments and add the METADATA_BLOCK_PICTURE entry.&lt;br /&gt;
* If multiple tags are being converted the order of the METADATA_BLOCK_PICTURE tags should be the same as that of the COVERART tags they are replacing.&lt;br /&gt;
&lt;br /&gt;
=== Chapter Extension ===&lt;br /&gt;
&lt;br /&gt;
These are used to include navigation points, for example:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHAPTER001=00:00:00.000&lt;br /&gt;
CHAPTER001NAME=Chapter 1&lt;br /&gt;
CHAPTER001URL=http://...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the [[Chapter Extension]] page for more details.&lt;br /&gt;
&lt;br /&gt;
=== Date and time ===&lt;br /&gt;
&lt;br /&gt;
The goal is to specify '''one''' standard format for describing date and/or time.&lt;br /&gt;
&lt;br /&gt;
==== ISO proposal ====&lt;br /&gt;
The date format for any field describing a date must follow the ISO 8601 standard: YYYY-MM-DD, shortened to just YYYY-MM or simply YYYY.&lt;br /&gt;
&lt;br /&gt;
We have been recommending this usage with the DATE tag for some time. It is proposed that the spec be amended to include this information for machinability.&lt;br /&gt;
&lt;br /&gt;
The time format for any field '''except''' track duration must be specified with leading T and ending with a time zone. Schemas with and without dates: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
YYYY-MM-DDTHH:MM:SS+TS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
THH:MM+TZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ENCODER ===&lt;br /&gt;
&lt;br /&gt;
The goal is to attribute encoder software. This value can be used in the future to determine which files can be improved by being re encoded with a newer version.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': What is lacking from the vendor string present in the spec from the start? All libvorbis and encoder tunings I'm aware of have recorded the encoder version here.&lt;br /&gt;
&lt;br /&gt;
Rationale for not using the vendor string:&lt;br /&gt;
* The vendor string is usually used to store the name and version of the underlying codec library&lt;br /&gt;
* The idea of ENCODER is to store the name of the user-visible application, for example &amp;lt;tt&amp;gt;ffmpeg2theora&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* It can be useful for debugging to store the name and version of the calling application.&lt;br /&gt;
* The libvorbis API does not let applications override the vendor string.&lt;br /&gt;
&lt;br /&gt;
==== Proposal: Inclusion of URL in ENCODER value ====&lt;br /&gt;
The encoder field name must be a unique URL providing both encoder software name and version. If no unique URL address is available were both name and version is available; then the version number can be specified by separating with a space character. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ENCODER=http://flac.sourceforge.net/ 1.2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that ffmpeg2theora uses ENCODER, but does not include a url. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
&lt;br /&gt;
==== Proposal: ENCODED_BY ====&lt;br /&gt;
&lt;br /&gt;
I've also seen ENCODED_BY. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
: ENCODED_BY is usually the person who did the encoding. This should not be part of the recommendation due to legal problems around deliberate and accidental distribution to third parties. Basically the name of the encoder should not be included to protect encoders from their own egos and possible legal prosecution. ''Added by Aleksandersen on September 20, 2007''&lt;br /&gt;
&lt;br /&gt;
=== Improving license data ===&lt;br /&gt;
&lt;br /&gt;
The goal is to provide a method for proclaiming license and copyright information (basically clarifying ‘distribution rights (if any) and ownership’).&lt;br /&gt;
&lt;br /&gt;
The [http://xiph.org/vorbis/doc/v-comment.html specification document] describes LICENSE and COPYRIGHT fields. But is not clear enough about whether these should be machine-readable.&lt;br /&gt;
&lt;br /&gt;
We should consider working together with Creative Commons to have complementary and interlinked information on the Creative Commons and Xiph wikis. Refer to the [http://wiki.creativecommons.org/Ogg Ogg page] in the Creative Commons wiki.&lt;br /&gt;
&lt;br /&gt;
==== New RIGHTS field name proposal ====&lt;br /&gt;
One proposal is to replace the COPYRIGHT and LICENSE field names with RIGHTS. RIGHTS must be a human-readable copyright statement. Basic example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But this is not machine-readable. Adding two complementary field names should do the trick: RIGHTS-DATE, describing the date of copyright; and RIGHTS-URI, providing a method for linking to a license. Software agents can assume that multiple songs uses the sameURIs, such as in the case for Creative Commons. Full example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © 2019 Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-DATE=2019-04&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-URI=http://somewhere.com/license.xhtml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Software such as for multimedia management and playback are encouraged to display the RIGHTS statement as a linked phrase using RIGHTS-URI.&lt;br /&gt;
&lt;br /&gt;
RIGHTS-DATE does not need to be displayed as it is required in the human readable version by international copyright agreements. RIGHTS-DATE can be used to determine when a copyrighted work falls under the public domain and related matters. (''The Beatles''' copyright on their original studio recordings (not the remixes) are soon expiering. So mechanisms such as the RIGHTS-DATE are indeed required in music management and filesharing software!)&lt;br /&gt;
&lt;br /&gt;
To remain machine-readable it would be required to have at most one instance of each RIGHTS field name. All fields would of course remain optional.&lt;br /&gt;
&lt;br /&gt;
The ''Dublin Core Metadata Initiative'' recommends the use of ‘rights’ to describe license and copyright matters. The web feed format Atom 1.0 has implemented a rights element in their specification.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': The triplet RIGHTS, RIGHTS-DATE, RIGHTS-URI is an example of structured metadata. VorbisComments are inherently unstructured, and this should be respected. Structured metadata belongs in a different stream, such as XML (using [[Metadata#XMLEmbedding|XMLEmbedding]]).&lt;br /&gt;
&lt;br /&gt;
==== Improving existing fields proposal ====&lt;br /&gt;
Similar to the DATE tag above, we have generally recommended that a URL uniquely identifying the license be included in the LICENSE field to allow machine identification of the license. This is in agreement with the proposal in the Creative Commons wiki. Since the COPYRIGHT field is a human-readable statement of the copyright, like the proposed RIGHTS tag above, some people include a license url there. Therefore if a url can't be found in a LICENSE tag if any, applications should use one from the COPYRIGHT tag, if any. Contact information for verification, attribution, relicensing, etc. can be obtained from the COPYRIGHT field, but Creative Commons also recommend a separate CONTACT tag for this information. This is reasonable, so we propose it be included.&lt;br /&gt;
&lt;br /&gt;
=== Geo Location fields ===&lt;br /&gt;
&lt;br /&gt;
The existing LOCATION field is meant to carry a human readable location for the recording/creation of the media file. &lt;br /&gt;
&lt;br /&gt;
Having geographical coordinates according to [http://en.wikipedia.org/wiki/World_Geodetic_System WGS84] can be useful as well, especially in a form that can be machine parsed. The agreed format is similar to this [http://en.wikipedia.org/wiki/Geo_(microformat) geo microformat]:&lt;br /&gt;
&lt;br /&gt;
GEO_LOCATION= ''latitude'' ; ''longitude'' [; ''elevation'' ] &lt;br /&gt;
&lt;br /&gt;
where each value is a fixed point decimal number formatted in the C locale with a period (.) for the radix. Values are separated with a ';' and white space is not significant. The elevation is optional.&lt;br /&gt;
&lt;br /&gt;
''latitude'' is the geo latitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the equator, negative values for southern latitudes) (C double).&lt;br /&gt;
&lt;br /&gt;
''longitude'' is the geo longitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, negative values for western longitudes). (C double).&lt;br /&gt;
&lt;br /&gt;
''elevation'' is the geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level) (C double).&lt;br /&gt;
&lt;br /&gt;
=== Replay Gain ===&lt;br /&gt;
&lt;br /&gt;
The REPLAYGAIN_* fields implement the Replay Gain proposal for storing a track relative volume adjustment, which can be used to &amp;quot;fix&amp;quot; quiet or loud sounding Vorbis or FLAC streams. The set of tags is intended to be machine parsed, and has the following form: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REPLAYGAIN_TRACK_GAIN=-7.03 dB&lt;br /&gt;
REPLAYGAIN_TRACK_PEAK=1.21822226&lt;br /&gt;
REPLAYGAIN_ALBUM_GAIN=-6.37 dB&lt;br /&gt;
REPLAYGAIN_ALBUM_PEAK=1.21822226&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See http://www.replaygain.org/ for detailed information about Replay Gain and how the different values are calculated.&lt;br /&gt;
&lt;br /&gt;
=== Tantalos resource ID ===&lt;br /&gt;
Tantalos is a protocol to auto locate and access content in a network scope (normally 'LAN' but can also be bigger like 'company network'). It uses UUIDs to identify resources. There are two groups of those UUIDs: IDs generated using the meta data of the track and IDs generated in some other way (for example random IDs, see UUID specs). The later group may need to be passed with the track. The VCLT Playlist format (see below) uses 'HASH={UUID}id...' with hex-dash format for this (HASH={UUID}e278173d-4d6d-4c66-95ec-4ec85eedc7d1).&lt;br /&gt;
--[[User:Ph3-der-loewe|Ph3-der-loewe]] 02:05, 13 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
== Other (non-proposed field names) ==&lt;br /&gt;
=== VCLT playlist format ===&lt;br /&gt;
The VCLT playlist format uses some ''keys'' which look like VorbisComments but they aren't nor they are proposed to become (expect for HASH). This includes the keys STREAMURL, FILENAME, FILEURL, LENGTH, HASH (see above for this one), SIGNALINFO, AUDIOINFO and OFFSET. You can find more infos about those at [https://bts.keep-cool.org/wiki/Specs/VCLT https://bts.keep-cool.org/wiki/Specs/VCLT].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
* [http://sbooth.org/importers/ OggImporter] &amp;amp;ndash; imports Ogg Vorbis and Ogg FLAC files to Spotlight.&lt;br /&gt;
* vorbiscomment &amp;amp;ndash; a commandline tool, part of [[VorbisTools]].&lt;br /&gt;
* [http://www.xiph.org/oggz/ oggz-comment] &amp;amp;ndash; a commandline tool, part of [[Oggz]] tool. It can add comments to multitrack and video files.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Chapter_Extension</id>
		<title>Chapter Extension</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Chapter_Extension"/>
				<updated>2012-10-12T18:03:09Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Zapped blank line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chapters are a means of providing direct and semantically relevant navigation points for a media file. On particular use case are so-called [http://en.wikipedia.org/wiki/Enhanced_podcast &amp;quot;enhanced podcasts&amp;quot;], i.e. audio files with additional chapter markers.&lt;br /&gt;
&lt;br /&gt;
Chapters are typically provided for a recorded file, not for a live resource.&lt;br /&gt;
&lt;br /&gt;
Since chapters are used for navigation - in particular to avoid having to listen to large amounts of undesired content in order to get to desired content - it is important that the information about chapters is available at the start of a media file to be able to be displayed without having to decode the media file. Therefore, we regard chapters as header-style metadata.&lt;br /&gt;
&lt;br /&gt;
Header-style metadata has traditionally been transported in [[VorbisComment]] headers inside Ogg.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
We therefore propose an extensions to VorbisComment for transporting chapters. We introduce VorbisComment fields called CHAPTERxxx and CHAPTERxxxNAME with xxx being a number between 000 and 999. (1000 chapters are assumed to be sufficient.)&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxx field name is the start time of the chapter (Hour:Min:DecimalSeconds). See the [[#Examples|examples]] below.&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxxNAME field name is just a text string (8 bit clean UTF-8 encoded values, as is required for VorbisComments).&lt;br /&gt;
&lt;br /&gt;
This should basically support the same input format that [http://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Matroska chapters] support, too.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
An example chapter file with two sequential chapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:05:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 2&lt;br /&gt;
&lt;br /&gt;
== Further Fields ==&lt;br /&gt;
&lt;br /&gt;
Other fields can also be used to support enhanced podcasts:&lt;br /&gt;
&lt;br /&gt;
* a field to extend chapters with a url to navigate to while listening to a chapter of a podcast:&lt;br /&gt;
&lt;br /&gt;
 CHAPTERxxxURL=http&amp;amp;#058;//...&amp;lt;!-- &amp;amp;#058; for colon used to suppress automatic link --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebVTT ==&lt;br /&gt;
&lt;br /&gt;
We expect people may also want support for hierarchically structured chapters with subchapters etc. This specification does not support this need. We recommend making use of WebVTT as a chapter format specification to satisfy this need. At a future time we expect a mapping of WebVTT into Ogg to allow for embedding of such files into Ogg, too.&lt;br /&gt;
&lt;br /&gt;
WebVTT is a more modern means of specifying chapters [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text that use cues with chapter titles] and can deal with time overlapping cues.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/TransOgg</id>
		<title>TransOgg</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/TransOgg"/>
				<updated>2012-09-28T16:32:32Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: I lied (it didn't work correctly under Preview)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:transOgg}}&lt;br /&gt;
[[Image:proposed-transogg-logo.png|415px|right]]&lt;br /&gt;
&lt;br /&gt;
= What is transOgg? =&lt;br /&gt;
&lt;br /&gt;
For a long time there have been discussions of what we in Xiph would change in the Ogg container once we considered it appropriate to break spec. transOgg is an updated Ogg container (ie Ogg v 2) that makes some changes to the&lt;br /&gt;
Ogg transport layer and more directly tackles metadata.  [[TransOggChangesFromOgg|transOgg: Changes from Ogg]] summarizes the major changes from the original Ogg container design.&lt;br /&gt;
This page presents an overview of nebulous transOgg design points and rationale.&lt;br /&gt;
&lt;br /&gt;
As of today, transOgg exists only in the form of the whitepapers and structure proposals here.  This spec is only in the very early stages of being written.  No code exists as yet.&lt;br /&gt;
&lt;br /&gt;
= Design Points =&lt;br /&gt;
&lt;br /&gt;
In no particular order:&lt;br /&gt;
&lt;br /&gt;
* transOgg is degined for local storage and packet-based transport. Some intended uses include:&lt;br /&gt;
** HTTP push/pull streaming (eg, HTML5, icecast/shoutcast).&lt;br /&gt;
** local file storage (eg, digital video storage and online distribution) &lt;br /&gt;
** physical media (eg, digital video distribution on optical media)&lt;br /&gt;
** packet broadcast (eg, UDP multicast, encrypted multicast)&lt;br /&gt;
&lt;br /&gt;
* transOgg is designed for variable, unpredictably sized data payloads with no minumum or maximum size.&lt;br /&gt;
&lt;br /&gt;
* The transOgg container is structurally designed for streaming (both live and progressive download).  It is not possible to construct a valid transOgg stream that is unsuitable for streaming.&lt;br /&gt;
&lt;br /&gt;
* transOgg defines two steam types: continuous-time and discontinuous-time.  Continuous-time streams are gapless media such as video and audio. Discontinuous-time streams are media types with unpredictably or irregularly placed data, such as subtitles and timed metadata.&lt;br /&gt;
&lt;br /&gt;
* transOgg metadata is structurally encapsulated into the transport stream but located at fixed, predictable positions (excepting streamed metadata, which are treated as a discontinuous stream).&lt;br /&gt;
&lt;br /&gt;
* transOgg retains Ogg's flat page structure. The new/tweaked page primitive is a blend of Ogg pages, Matroska clusters/blocks and NUT packets.  Achievable minimum overhead drops to under .04%; practical overhead improves upon NUT, Ogg and Matroska.&lt;br /&gt;
&lt;br /&gt;
* A transOgg stream always captures and begins demux within 128kB maximum. Fine-grained capture is necessary for efficient streaming, seeking and scrubbing.  The overhead tradeoff of a frequent capture pattern is negligable and fully offset by other improvements.&lt;br /&gt;
&lt;br /&gt;
* Multiplexing of multiple elementary streams is performed by interleaving at the page level.  The multiplexing algorithm is fully specified, deterministic and delivers optimal buffering behavior. There is no educated guessing or multiple possible practices.&lt;br /&gt;
&lt;br /&gt;
* transOgg buffering is simple and explicitly specified.&lt;br /&gt;
&lt;br /&gt;
* transOgg implements nonlinear features such as menus, chapters, loop points, and branch points out of its linear stream transport by borrowing from CMML, Skeleton and Matroska's EBML metadata specification.&lt;br /&gt;
&lt;br /&gt;
* Valid transOgg streams may be concatenated to form a new, valid transOgg stream.  Mandatory reverse linkage at the end of each stream eliminates the need for interpolated bisection search when opening concatenated streams.  Cross-link metadata provides file-global indexing and chaptering for chained streams.&lt;br /&gt;
&lt;br /&gt;
* transOgg metadata begins and ends every stream.  Metadata is mandatory, fully specified, and part of 'container knowledge'.&lt;br /&gt;
** A transOgg stream must begin with the master metadata header.  This master header is the first page[s] of the physical transOgg bitstream as well as the logical master metadata stream.&lt;br /&gt;
** The metadata stream is a discontinuous stream that may  provide additional timed metadata and events throughout the stream,  similar to NUT 'info packets'.&lt;br /&gt;
** A transOgg stream must end with metadata footer page[s] that provide, among other things, reverse linkage to the beginning of the stream.&lt;br /&gt;
** Tags (user contributed metadata) and Cues (the index)  may appear at the head of the stream or in the footer, as may any  other metadata elements that could not be known before stream end in  a live stream (eg, duration).  Single-pass creation tools write these elements in the footer metadata.  Tools can later move these elements to the header metadata.  All other metadata elements may  appear only in the header.&lt;br /&gt;
&lt;br /&gt;
* Headerless capture, multicast, and stateless unicast MAY be supported within the metadata stream using &amp;quot;rolling headers&amp;quot;, similar to the &amp;quot;rolling intra&amp;quot; mechanism proposed for the Theora videocodec. This allows stream capture and playback in a bounded timeperiod without OOB transmission of headers or bitrate spikes.  It also facilitates file recovery in the event the stream headers are lost.&lt;br /&gt;
&lt;br /&gt;
* Structural codec metadata, such as timebase, keyframing, coding delay, page duration, etc, are replicated in the transOgg container.  Unlike Ogg (and to a lesser degree Matroska), no knowledge must be queried or assumed based on the specific codecs in use inorder to mux, demux, remux, repaginate, transmux, or seek in a bitstream.&lt;br /&gt;
&lt;br /&gt;
* As in NUT, all streams have their own rational timebase.  The encoding used is a parameterized generalization of Ogg granule positions. The granule timebase and parameters are fully specified and declared in the container. The granule mechanism is capable of exact sample positioning without approximation, expressing PTS and DTS of out-of-order encodings, preroll/delay of keyframe-lesscodecs, and distance from last syncpoint.&lt;br /&gt;
&lt;br /&gt;
* All encapsulated packets are stamped with full DTS, PTS, duration, delay, and syncpoint distance.&lt;br /&gt;
&lt;br /&gt;
* Whenever possible, the transOgg specification presents a single, correct, optimal MUST behavior.  Whenever possible, the container design seeks to make MUST behaviors structural.  We avoid handwaving essential behaviors into 'best practices' documents 'to be specified later'.&lt;br /&gt;
&lt;br /&gt;
* the core transOgg container seeks to avoid optional structures, switches, code paths, and features in its framing mechanisms. Optional structures and features are acceptable (and necessary) within metadata.&lt;br /&gt;
&lt;br /&gt;
= High level design =&lt;br /&gt;
&lt;br /&gt;
The high level transOgg design consists of a transport, metadata, and&lt;br /&gt;
specified practices.  These pieces are conceptually seperable, but the&lt;br /&gt;
container cannot succeed missing any one.&lt;br /&gt;
&lt;br /&gt;
== Transport ==&lt;br /&gt;
&lt;br /&gt;
Transport is the mechanism of encapsulating and delivering data.&lt;br /&gt;
transOgg uses a modified/updated Ogg page mechanism for data and&lt;br /&gt;
metadata delivery.&lt;br /&gt;
&lt;br /&gt;
Transport benefits from a simple, fixed encoding.  Optional features,&lt;br /&gt;
arbitrary extensibility, recursive or non-flat heirarchy, and&lt;br /&gt;
conditional semantic encoding are undesirable complications in a low&lt;br /&gt;
level transport and should be used only when clearly advantageous or&lt;br /&gt;
unavoidable.  Specifying transport as a self-contained layer also&lt;br /&gt;
seperates correct transport behavior and corner cases from the rest of&lt;br /&gt;
the container behavior.&lt;br /&gt;
&lt;br /&gt;
Raw A/V media is fundamentally time-linear in atomic form.  Networks&lt;br /&gt;
and storage media deliver data for consumption in a time-linear stream&lt;br /&gt;
of bytes.  Both suggest that a linear encoding is optimal for the&lt;br /&gt;
low-level encapsulation.  Metadata can build non-linear presentation&lt;br /&gt;
from linear segments.  Nonlinear structural metadata appears at the&lt;br /&gt;
beginning and end of the stream; as such, this metadata can also be&lt;br /&gt;
placed in the linear transport easily as the beginning and end of&lt;br /&gt;
data.  Encapsulating metadata in the transport like the streaming data&lt;br /&gt;
also makes it trivial to support streamed metadata and 'rolling&lt;br /&gt;
headers' using preexisting transport mechanisms. (*-- discuss both&lt;br /&gt;
chaining and multi-segment; metadata that can reach across segments?&lt;br /&gt;
etc?)&lt;br /&gt;
&lt;br /&gt;
== Metadata ==&lt;br /&gt;
&lt;br /&gt;
Metadata is everything in a stream/file that is not the media stream&lt;br /&gt;
itself.  transOgg proposes use a packed encoding for metadata types unlikely to see much flux, and an extensibly-structured encoding for more free-form types (eg, Matroska-style metadata in an EBML&lt;br /&gt;
encoding for stream tagging).&lt;br /&gt;
&lt;br /&gt;
Metadata encompasses a number of semantically quite different&lt;br /&gt;
concepts, eg:&lt;br /&gt;
&lt;br /&gt;
* 1: data about how the individual streams are encoded and encapsulated (codec id, timebase, continuous/discontinuous encoding, codec private data, etc). This metadata is essential to base container operation and must function as container knowledge.  It is always located in a fixed position at the beginning of the file as it must be read to bootstrap container operation.&lt;br /&gt;
&lt;br /&gt;
* 2: data about navigating the file as it's currently arranged (linkages, indexing, chapters).  This data is either essential to high-level container operation or essential to the application depending on how the implementation abstractions work out.&lt;br /&gt;
&lt;br /&gt;
* 3: data about how the streams are presented for playback (langauge, primary angle, available soundtrack languages, menus).  This data is needed by the application.&lt;br /&gt;
&lt;br /&gt;
* 4: user-supplied comments, one-shot auxiliary data (tags, album art). This data is needed by the application and the user.&lt;br /&gt;
&lt;br /&gt;
Each kind of metadata shares some basic traits.  It is heirarchical,&lt;br /&gt;
largely conditional, and benefits from a rich stable of optional&lt;br /&gt;
elements to be used as appropraite.  It is also likely that aside from&lt;br /&gt;
the MUST elements required for playback (mostly from list 1), not all&lt;br /&gt;
metadata will be interesting to all players.  An obvious use case is a&lt;br /&gt;
memory and CPU constrained mobile device with no bitmapped display&lt;br /&gt;
which would want to entirely ignore/skip large album art chunks.&lt;br /&gt;
&lt;br /&gt;
== Specified practices ==&lt;br /&gt;
&lt;br /&gt;
Specified practices provide the instruction manual for proper use of&lt;br /&gt;
the container system in all cases where the container structure allows&lt;br /&gt;
multiple behavioral or encoding possibilities.  'best practices' is a&lt;br /&gt;
more common term, however 'best' connotes that such guidelines are&lt;br /&gt;
merely suggestive.  Specified practices are effectively MUST clauses&lt;br /&gt;
that govern proper behavior rather than valid data.&lt;br /&gt;
&lt;br /&gt;
Specified practices are an especially weak point of current FOSS&lt;br /&gt;
container offerings.  Developers of open projects often value a system&lt;br /&gt;
that offers many equivalent ways of performing a task, and leave it to&lt;br /&gt;
higher-level developers (or worse, the user) to somehow make an&lt;br /&gt;
informed decision of how to proceed.  In the container space, this is&lt;br /&gt;
undesirable bordering on disaster; 'more' is 'less'.&lt;br /&gt;
&lt;br /&gt;
To choose an absurd example, it might be technologically nifty to be&lt;br /&gt;
able to place an index into the middle of a file, but what could it&lt;br /&gt;
possibly accomplish?  Absurd flexibility results in absurd bugs.  When&lt;br /&gt;
absurd or clearly suboptimal choices are structurally possible, the&lt;br /&gt;
spec should not be silent on the subject.  The spec MUST explicitly&lt;br /&gt;
address allowed and disallowed behavior to the most complete degree&lt;br /&gt;
achievable.&lt;br /&gt;
&lt;br /&gt;
= Proposals / Commentary Requested =&lt;br /&gt;
&lt;br /&gt;
transOgg is a specification in the early stages of design.  As such, we're soliciting feedback on specific design proposals below, with more to be added over time as the design process approaches new milestones.&lt;br /&gt;
&lt;br /&gt;
* [[TransOgg_Seeking_Proposals]]: Three proposed seeking mechanism variants for transOgg.&lt;br /&gt;
&lt;br /&gt;
= Specification =&lt;br /&gt;
&lt;br /&gt;
* [[TransOgg_Page]]: Specification of transOgg page primitive&lt;br /&gt;
* [[TransOgg_Transport]]: Specification of transOgg stream&lt;br /&gt;
* [[TransOgg_Metadata]]: Specification of transOgg stream metadata&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/TransOgg</id>
		<title>TransOgg</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/TransOgg"/>
				<updated>2012-09-28T16:28:42Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Added {{DISPLAYTITLE:transOgg}}.  Changes HTML &amp;lt;title&amp;gt; tag, but not article title.  Should work when Wiki upgraded to 1.7.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:transOgg}}&lt;br /&gt;
[[Image:proposed-transogg-logo.png|415px|right]]&lt;br /&gt;
&lt;br /&gt;
Due to limitations of wiki-syntax, it should be noted that this page cannot be correctly titled 'transOgg'.  The 't' in 'transOgg' is lowercase.&lt;br /&gt;
&lt;br /&gt;
= What is transOgg? =&lt;br /&gt;
&lt;br /&gt;
For a long time there have been discussions of what we in Xiph would change in the Ogg container once we considered it appropriate to break spec. transOgg is an updated Ogg container (ie Ogg v 2) that makes some changes to the&lt;br /&gt;
Ogg transport layer and more directly tackles metadata.  [[TransOggChangesFromOgg|transOgg: Changes from Ogg]] summarizes the major changes from the original Ogg container design.&lt;br /&gt;
This page presents an overview of nebulous transOgg design points and rationale.&lt;br /&gt;
&lt;br /&gt;
As of today, transOgg exists only in the form of the whitepapers and structure proposals here.  This spec is only in the very early stages of being written.  No code exists as yet.&lt;br /&gt;
&lt;br /&gt;
= Design Points =&lt;br /&gt;
&lt;br /&gt;
In no particular order:&lt;br /&gt;
&lt;br /&gt;
* transOgg is degined for local storage and packet-based transport. Some intended uses include:&lt;br /&gt;
** HTTP push/pull streaming (eg, HTML5, icecast/shoutcast).&lt;br /&gt;
** local file storage (eg, digital video storage and online distribution) &lt;br /&gt;
** physical media (eg, digital video distribution on optical media)&lt;br /&gt;
** packet broadcast (eg, UDP multicast, encrypted multicast)&lt;br /&gt;
&lt;br /&gt;
* transOgg is designed for variable, unpredictably sized data payloads with no minumum or maximum size.&lt;br /&gt;
&lt;br /&gt;
* The transOgg container is structurally designed for streaming (both live and progressive download).  It is not possible to construct a valid transOgg stream that is unsuitable for streaming.&lt;br /&gt;
&lt;br /&gt;
* transOgg defines two steam types: continuous-time and discontinuous-time.  Continuous-time streams are gapless media such as video and audio. Discontinuous-time streams are media types with unpredictably or irregularly placed data, such as subtitles and timed metadata.&lt;br /&gt;
&lt;br /&gt;
* transOgg metadata is structurally encapsulated into the transport stream but located at fixed, predictable positions (excepting streamed metadata, which are treated as a discontinuous stream).&lt;br /&gt;
&lt;br /&gt;
* transOgg retains Ogg's flat page structure. The new/tweaked page primitive is a blend of Ogg pages, Matroska clusters/blocks and NUT packets.  Achievable minimum overhead drops to under .04%; practical overhead improves upon NUT, Ogg and Matroska.&lt;br /&gt;
&lt;br /&gt;
* A transOgg stream always captures and begins demux within 128kB maximum. Fine-grained capture is necessary for efficient streaming, seeking and scrubbing.  The overhead tradeoff of a frequent capture pattern is negligable and fully offset by other improvements.&lt;br /&gt;
&lt;br /&gt;
* Multiplexing of multiple elementary streams is performed by interleaving at the page level.  The multiplexing algorithm is fully specified, deterministic and delivers optimal buffering behavior. There is no educated guessing or multiple possible practices.&lt;br /&gt;
&lt;br /&gt;
* transOgg buffering is simple and explicitly specified.&lt;br /&gt;
&lt;br /&gt;
* transOgg implements nonlinear features such as menus, chapters, loop points, and branch points out of its linear stream transport by borrowing from CMML, Skeleton and Matroska's EBML metadata specification.&lt;br /&gt;
&lt;br /&gt;
* Valid transOgg streams may be concatenated to form a new, valid transOgg stream.  Mandatory reverse linkage at the end of each stream eliminates the need for interpolated bisection search when opening concatenated streams.  Cross-link metadata provides file-global indexing and chaptering for chained streams.&lt;br /&gt;
&lt;br /&gt;
* transOgg metadata begins and ends every stream.  Metadata is mandatory, fully specified, and part of 'container knowledge'.&lt;br /&gt;
** A transOgg stream must begin with the master metadata header.  This master header is the first page[s] of the physical transOgg bitstream as well as the logical master metadata stream.&lt;br /&gt;
** The metadata stream is a discontinuous stream that may  provide additional timed metadata and events throughout the stream,  similar to NUT 'info packets'.&lt;br /&gt;
** A transOgg stream must end with metadata footer page[s] that provide, among other things, reverse linkage to the beginning of the stream.&lt;br /&gt;
** Tags (user contributed metadata) and Cues (the index)  may appear at the head of the stream or in the footer, as may any  other metadata elements that could not be known before stream end in  a live stream (eg, duration).  Single-pass creation tools write these elements in the footer metadata.  Tools can later move these elements to the header metadata.  All other metadata elements may  appear only in the header.&lt;br /&gt;
&lt;br /&gt;
* Headerless capture, multicast, and stateless unicast MAY be supported within the metadata stream using &amp;quot;rolling headers&amp;quot;, similar to the &amp;quot;rolling intra&amp;quot; mechanism proposed for the Theora videocodec. This allows stream capture and playback in a bounded timeperiod without OOB transmission of headers or bitrate spikes.  It also facilitates file recovery in the event the stream headers are lost.&lt;br /&gt;
&lt;br /&gt;
* Structural codec metadata, such as timebase, keyframing, coding delay, page duration, etc, are replicated in the transOgg container.  Unlike Ogg (and to a lesser degree Matroska), no knowledge must be queried or assumed based on the specific codecs in use inorder to mux, demux, remux, repaginate, transmux, or seek in a bitstream.&lt;br /&gt;
&lt;br /&gt;
* As in NUT, all streams have their own rational timebase.  The encoding used is a parameterized generalization of Ogg granule positions. The granule timebase and parameters are fully specified and declared in the container. The granule mechanism is capable of exact sample positioning without approximation, expressing PTS and DTS of out-of-order encodings, preroll/delay of keyframe-lesscodecs, and distance from last syncpoint.&lt;br /&gt;
&lt;br /&gt;
* All encapsulated packets are stamped with full DTS, PTS, duration, delay, and syncpoint distance.&lt;br /&gt;
&lt;br /&gt;
* Whenever possible, the transOgg specification presents a single, correct, optimal MUST behavior.  Whenever possible, the container design seeks to make MUST behaviors structural.  We avoid handwaving essential behaviors into 'best practices' documents 'to be specified later'.&lt;br /&gt;
&lt;br /&gt;
* the core transOgg container seeks to avoid optional structures, switches, code paths, and features in its framing mechanisms. Optional structures and features are acceptable (and necessary) within metadata.&lt;br /&gt;
&lt;br /&gt;
= High level design =&lt;br /&gt;
&lt;br /&gt;
The high level transOgg design consists of a transport, metadata, and&lt;br /&gt;
specified practices.  These pieces are conceptually seperable, but the&lt;br /&gt;
container cannot succeed missing any one.&lt;br /&gt;
&lt;br /&gt;
== Transport ==&lt;br /&gt;
&lt;br /&gt;
Transport is the mechanism of encapsulating and delivering data.&lt;br /&gt;
transOgg uses a modified/updated Ogg page mechanism for data and&lt;br /&gt;
metadata delivery.&lt;br /&gt;
&lt;br /&gt;
Transport benefits from a simple, fixed encoding.  Optional features,&lt;br /&gt;
arbitrary extensibility, recursive or non-flat heirarchy, and&lt;br /&gt;
conditional semantic encoding are undesirable complications in a low&lt;br /&gt;
level transport and should be used only when clearly advantageous or&lt;br /&gt;
unavoidable.  Specifying transport as a self-contained layer also&lt;br /&gt;
seperates correct transport behavior and corner cases from the rest of&lt;br /&gt;
the container behavior.&lt;br /&gt;
&lt;br /&gt;
Raw A/V media is fundamentally time-linear in atomic form.  Networks&lt;br /&gt;
and storage media deliver data for consumption in a time-linear stream&lt;br /&gt;
of bytes.  Both suggest that a linear encoding is optimal for the&lt;br /&gt;
low-level encapsulation.  Metadata can build non-linear presentation&lt;br /&gt;
from linear segments.  Nonlinear structural metadata appears at the&lt;br /&gt;
beginning and end of the stream; as such, this metadata can also be&lt;br /&gt;
placed in the linear transport easily as the beginning and end of&lt;br /&gt;
data.  Encapsulating metadata in the transport like the streaming data&lt;br /&gt;
also makes it trivial to support streamed metadata and 'rolling&lt;br /&gt;
headers' using preexisting transport mechanisms. (*-- discuss both&lt;br /&gt;
chaining and multi-segment; metadata that can reach across segments?&lt;br /&gt;
etc?)&lt;br /&gt;
&lt;br /&gt;
== Metadata ==&lt;br /&gt;
&lt;br /&gt;
Metadata is everything in a stream/file that is not the media stream&lt;br /&gt;
itself.  transOgg proposes use a packed encoding for metadata types unlikely to see much flux, and an extensibly-structured encoding for more free-form types (eg, Matroska-style metadata in an EBML&lt;br /&gt;
encoding for stream tagging).&lt;br /&gt;
&lt;br /&gt;
Metadata encompasses a number of semantically quite different&lt;br /&gt;
concepts, eg:&lt;br /&gt;
&lt;br /&gt;
* 1: data about how the individual streams are encoded and encapsulated (codec id, timebase, continuous/discontinuous encoding, codec private data, etc). This metadata is essential to base container operation and must function as container knowledge.  It is always located in a fixed position at the beginning of the file as it must be read to bootstrap container operation.&lt;br /&gt;
&lt;br /&gt;
* 2: data about navigating the file as it's currently arranged (linkages, indexing, chapters).  This data is either essential to high-level container operation or essential to the application depending on how the implementation abstractions work out.&lt;br /&gt;
&lt;br /&gt;
* 3: data about how the streams are presented for playback (langauge, primary angle, available soundtrack languages, menus).  This data is needed by the application.&lt;br /&gt;
&lt;br /&gt;
* 4: user-supplied comments, one-shot auxiliary data (tags, album art). This data is needed by the application and the user.&lt;br /&gt;
&lt;br /&gt;
Each kind of metadata shares some basic traits.  It is heirarchical,&lt;br /&gt;
largely conditional, and benefits from a rich stable of optional&lt;br /&gt;
elements to be used as appropraite.  It is also likely that aside from&lt;br /&gt;
the MUST elements required for playback (mostly from list 1), not all&lt;br /&gt;
metadata will be interesting to all players.  An obvious use case is a&lt;br /&gt;
memory and CPU constrained mobile device with no bitmapped display&lt;br /&gt;
which would want to entirely ignore/skip large album art chunks.&lt;br /&gt;
&lt;br /&gt;
== Specified practices ==&lt;br /&gt;
&lt;br /&gt;
Specified practices provide the instruction manual for proper use of&lt;br /&gt;
the container system in all cases where the container structure allows&lt;br /&gt;
multiple behavioral or encoding possibilities.  'best practices' is a&lt;br /&gt;
more common term, however 'best' connotes that such guidelines are&lt;br /&gt;
merely suggestive.  Specified practices are effectively MUST clauses&lt;br /&gt;
that govern proper behavior rather than valid data.&lt;br /&gt;
&lt;br /&gt;
Specified practices are an especially weak point of current FOSS&lt;br /&gt;
container offerings.  Developers of open projects often value a system&lt;br /&gt;
that offers many equivalent ways of performing a task, and leave it to&lt;br /&gt;
higher-level developers (or worse, the user) to somehow make an&lt;br /&gt;
informed decision of how to proceed.  In the container space, this is&lt;br /&gt;
undesirable bordering on disaster; 'more' is 'less'.&lt;br /&gt;
&lt;br /&gt;
To choose an absurd example, it might be technologically nifty to be&lt;br /&gt;
able to place an index into the middle of a file, but what could it&lt;br /&gt;
possibly accomplish?  Absurd flexibility results in absurd bugs.  When&lt;br /&gt;
absurd or clearly suboptimal choices are structurally possible, the&lt;br /&gt;
spec should not be silent on the subject.  The spec MUST explicitly&lt;br /&gt;
address allowed and disallowed behavior to the most complete degree&lt;br /&gt;
achievable.&lt;br /&gt;
&lt;br /&gt;
= Proposals / Commentary Requested =&lt;br /&gt;
&lt;br /&gt;
transOgg is a specification in the early stages of design.  As such, we're soliciting feedback on specific design proposals below, with more to be added over time as the design process approaches new milestones.&lt;br /&gt;
&lt;br /&gt;
* [[TransOgg_Seeking_Proposals]]: Three proposed seeking mechanism variants for transOgg.&lt;br /&gt;
&lt;br /&gt;
= Specification =&lt;br /&gt;
&lt;br /&gt;
* [[TransOgg_Page]]: Specification of transOgg page primitive&lt;br /&gt;
* [[TransOgg_Transport]]: Specification of transOgg stream&lt;br /&gt;
* [[TransOgg_Metadata]]: Specification of transOgg stream metadata&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-09-12T20:04:44Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* What is Opus? Who created it? */ Tense&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? Who created it? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a totally open, royalty-free, highly versatile audio codec. It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's SILK codec and Xiph.Org's CELT codec. It has been standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. &lt;br /&gt;
&lt;br /&gt;
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group.&lt;br /&gt;
&lt;br /&gt;
=== How does Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format. Further, the Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for usage as part of the basic infrastructure of the Internet. See the Opus [http://opus-codec.org/comparison comparison page] for more details.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus? What programs support Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus decoding support is now included in many applications, including Firefox and Foobar2000, as well as in frameworks such as GStreamer. For now, the best way to '''encode''' Opus files is to use the opusenc command-line tool from the opus-tools package. For real-time applications, Opus support should soon be available in the Google webrtc codebase. Opus is still a new codec, expect many more applications to support it in the near future.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===&lt;br /&gt;
&lt;br /&gt;
Yes and no. Opus encoding tools like opusenc will happily encode files that are sampled at 96 or 192 kHz. However, input files at these rates are internally converted to 48 kHz, and then only frequencies up to 20 kHz are encoded. The reason is simple: lossy codecs are designed to preserve audible details while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go. See Monty's [http://people.xiph.org/~xiphmont/demo/neil-young.html 24/192 Music Downloads ...and why they make no sense] for more details. &lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3). See the [http://www.opus-codec.org/license/ licensing page] for details.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. In addition to a linear prediction &amp;quot;SILK mode&amp;quot; and a MDCT &amp;quot;CELT mode&amp;quot; it has a &amp;quot;hybrid mode,&amp;quot; where speech frequencies up to 8 kHz are encoded with LP while those above 8 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch between these modes seamlessly, without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improves on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
=== Will all future Opus releases comply with the [http://tools.ietf.org/html/rfc6716 Opus specification]? ===&lt;br /&gt;
&lt;br /&gt;
Yes.&lt;br /&gt;
&lt;br /&gt;
=== In what way is Opus optimized for the Internet? ===&lt;br /&gt;
&lt;br /&gt;
Opus being optimized for the Internet obviously means that it has good packet loss robustness and concealment, but it goes further. One of the first things we've been asked when designing Opus was to make the rate '''really''' adaptable because we never know what kind of rates will be available. This not only meant having a wide range of bitrates, but also being able to vary in small increments. This is why Opus scales from about 6 kb/s to 512 kb/s, in increments of 0.4 kb/s (one byte with 20 ms frames). The reason Opus can have more than 1200 possible bitrates spending 11 bits signalling the bitrate is because UDP already encodes the packet size. One last aspect is that Opus is simple to transport over RTP, as can be seen from [http://tools.ietf.org/html/draft-spittka-payload-rtp-opus Opus RTP payload format]. For example, it's possible to decode RTP packets without having even seen the SDP or any out-of-band signalling. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes; the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;br /&gt;
&lt;br /&gt;
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates or channel counts.  It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation].&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder.&lt;br /&gt;
&lt;br /&gt;
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].&lt;br /&gt;
&lt;br /&gt;
=== How do I report a bug? ===&lt;br /&gt;
&lt;br /&gt;
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report]. Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur. If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc. Also, don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should interoperate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
Note that it's generally preferable for a decoder to output at 48kHz even when you know the original input was 44.1kHz, not only because you can skip resampling but also because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/TransOgg</id>
		<title>TransOgg</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/TransOgg"/>
				<updated>2012-09-03T18:29:42Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* What is transOgg? */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Due to limitations of wiki-syntax, it should be noted that this page cannot be correctly titled 'transOgg'.  The 't' in 'transOgg' is lowercase.&lt;br /&gt;
&lt;br /&gt;
= What is transOgg? =&lt;br /&gt;
&lt;br /&gt;
For a long time there have been discussions of what we in Xiph would change in the Ogg container once we considered it appropriate to break spec. transOgg is an updated Ogg container (ie Ogg v 2) that makes some changes to the&lt;br /&gt;
Ogg transport layer and more directly tackles metadata.  [[TransOggChangesFromOgg|transOgg: Changes from Ogg]] summarizes the major changes from the original Ogg container design.&lt;br /&gt;
This page presents an overview of nebulous transOgg design points and rationale.&lt;br /&gt;
&lt;br /&gt;
As of today, transOgg exists only in the form of the whitepapers and structure proposals here.  This spec is only in the very early stages of being written.  No code exists as yet.&lt;br /&gt;
&lt;br /&gt;
= Design Points =&lt;br /&gt;
&lt;br /&gt;
In no particular order:&lt;br /&gt;
&lt;br /&gt;
* transOgg is degined for local storage and packet-based transport. Some intended uses include:&lt;br /&gt;
** HTTP push/pull streaming (eg, HTML5, icecast/shoutcast).&lt;br /&gt;
** local file storage (eg, digital video storage and online distribution) &lt;br /&gt;
** physical media (eg, digital video distribution on optical media)&lt;br /&gt;
** packet broadcast (eg, UDP multicast, encrypted multicast)&lt;br /&gt;
&lt;br /&gt;
* transOgg is designed for variable, unpredictably sized data payloads with no minumum or maximum size.&lt;br /&gt;
&lt;br /&gt;
* The transOgg container is structurally designed for streaming (both live and progressive download).  It is not possible to construct a valid transOgg stream that is unsuitable for streaming.&lt;br /&gt;
&lt;br /&gt;
* transOgg defines two steam types: continuous-time and discontinuous-time.  Continuous-time streams are gapless media such as video and audio. Discontinuous-time streams are media types with unpredictably or irregularly placed data, such as subtitles and timed metadata.&lt;br /&gt;
&lt;br /&gt;
* transOgg metadata is structurally encapsulated into the transport stream but located at fixed, predictable positions (excepting streamed metadata, which are treated as a discontinuous stream).&lt;br /&gt;
&lt;br /&gt;
* transOgg retains Ogg's flat page structure. The new/tweaked page primitive is a blend of Ogg pages, Matroska clusters/blocks and NUT packets.  Achievable minimum overhead drops to under .04%; practical overhead improves upon NUT, Ogg and Matroska.&lt;br /&gt;
&lt;br /&gt;
* A transOgg stream always captures and begins demux within 128kB maximum. Fine-grained capture is necessary for efficient streaming, seeking and scrubbing.  The overhead tradeoff of a frequent capture pattern is negligable and fully offset by other improvements.&lt;br /&gt;
&lt;br /&gt;
* Multiplexing of multiple elementary streams is performed by interleaving at the page level.  The multiplexing algorithm is fully specified, deterministic and delivers optimal buffering behavior. There is no educated guessing or multiple possible practices.&lt;br /&gt;
&lt;br /&gt;
* transOgg buffering is simple and explicitly specified.&lt;br /&gt;
&lt;br /&gt;
* transOgg implements nonlinear features such as menus, chapters, loop points, and branch points out of its linear stream transport by borrowing from CMML, Skeleton and Matroska's EBML metadata specification.&lt;br /&gt;
&lt;br /&gt;
* Valid transOgg streams may be concatenated to form a new, valid transOgg stream.  Mandatory reverse linkage at the end of each stream eliminates the need for interpolated bisection search when opening concatenated streams.  Cross-link metadata provides file-global indexing and chaptering for chained streams.&lt;br /&gt;
&lt;br /&gt;
* transOgg metadata begins and ends every stream.  Metadata is mandatory, fully specified, and part of 'container knowledge'.&lt;br /&gt;
** A transOgg stream must begin with the master metadata header.  This master header is the first page[s] of the physical transOgg bitstream as well as the logical master metadata stream.&lt;br /&gt;
** The metadata stream is a discontinuous stream that may  provide additional timed metadata and events throughout the stream,  similar to NUT 'info packets'.&lt;br /&gt;
** A transOgg stream must end with metadata footer page[s] that provide, among other things, reverse linkage to the beginning of the stream.&lt;br /&gt;
** Tags (user contributed metadata) and Cues (the index)  may appear at the head of the stream or in the footer, as may any  other metadata elements that could not be known before stream end in  a live stream (eg, duration).  Single-pass creation tools write these elements in the footer metadata.  Tools can later move these elements to the header metadata.  All other metadata elements may  appear only in the header.&lt;br /&gt;
&lt;br /&gt;
* Headerless capture, multicast, and stateless unicast MAY be supported within the metadata stream using &amp;quot;rolling headers&amp;quot;, similar to the &amp;quot;rolling intra&amp;quot; mechanism proposed for the Theora videocodec. This allows stream capture and playback in a bounded timeperiod without OOB transmission of headers or bitrate spikes.  It also facilitates file recovery in the event the stream headers are lost.&lt;br /&gt;
&lt;br /&gt;
* Structural codec metadata, such as timebase, keyframing, coding delay, page duration, etc, are replicated in the transOgg container.  Unlike Ogg (and to a lesser degree Matroska), no knowledge must be queried or assumed based on the specific codecs in use inorder to mux, demux, remux, repaginate, transmux, or seek in a bitstream.&lt;br /&gt;
&lt;br /&gt;
* As in NUT, all streams have their own rational timebase.  The encoding used is a parameterized generalization of Ogg granule positions. The granule timebase and parameters are fully specified and declared in the container. The granule mechanism is capable of exact sample positioning without approximation, expressing PTS and DTS of out-of-order encodings, preroll/delay of keyframe-lesscodecs, and distance from last syncpoint.&lt;br /&gt;
&lt;br /&gt;
* All encapsulated packets are stamped with full DTS, PTS, duration, delay, and syncpoint distance.&lt;br /&gt;
&lt;br /&gt;
* Whenever possible, the transOgg specification presents a single, correct, optimal MUST behavior.  Whenever possible, the container design seeks to make MUST behaviors structural.  We avoid handwaving essential behaviors into 'best practices' documents 'to be specified later'.&lt;br /&gt;
&lt;br /&gt;
* the core transOgg container seeks to avoid optional structures, switches, code paths, and features in its framing mechanisms. Optional structures and features are acceptable (and necessary) within metadata.&lt;br /&gt;
&lt;br /&gt;
= High level design =&lt;br /&gt;
&lt;br /&gt;
The high level transOgg design consists of a transport, metadata, and&lt;br /&gt;
specified practices.  These pieces are conceptually seperable, but the&lt;br /&gt;
container cannot succeed missing any one.&lt;br /&gt;
&lt;br /&gt;
== Transport ==&lt;br /&gt;
&lt;br /&gt;
Transport is the mechanism of encapsulating and delivering data.&lt;br /&gt;
transOgg uses a modified/updated Ogg page mechanism for data and&lt;br /&gt;
metadata delivery.&lt;br /&gt;
&lt;br /&gt;
Transport benefits from a simple, fixed encoding.  Optional features,&lt;br /&gt;
arbitrary extensibility, recursive or non-flat heirarchy, and&lt;br /&gt;
conditional semantic encoding are undesirable complications in a low&lt;br /&gt;
level transport and should be used only when clearly advantageous or&lt;br /&gt;
unavoidable.  Specifying transport as a self-contained layer also&lt;br /&gt;
seperates correct transport behavior and corner cases from the rest of&lt;br /&gt;
the container behavior.&lt;br /&gt;
&lt;br /&gt;
Raw A/V media is fundamentally time-linear in atomic form.  Networks&lt;br /&gt;
and storage media deliver data for consumption in a time-linear stream&lt;br /&gt;
of bytes.  Both suggest that a linear encoding is optimal for the&lt;br /&gt;
low-level encapsulation.  Metadata can build non-linear presentation&lt;br /&gt;
from linear segments.  Nonlinear structural metadata appears at the&lt;br /&gt;
beginning and end of the stream; as such, this metadata can also be&lt;br /&gt;
placed in the linear transport easily as the beginning and end of&lt;br /&gt;
data.  Encapsulating metadata in the transport like the streaming data&lt;br /&gt;
also makes it trivial to support streamed metadata and 'rolling&lt;br /&gt;
headers' using preexisting transport mechanisms. (*-- discuss both&lt;br /&gt;
chaining and multi-segment; metadata that can reach across segments?&lt;br /&gt;
etc?)&lt;br /&gt;
&lt;br /&gt;
== Metadata ==&lt;br /&gt;
&lt;br /&gt;
Metadata is everything in a stream/file that is not the media stream&lt;br /&gt;
itself.  transOgg proposes use a packed encoding for metadata types unlikely to see much flux, and an extensibly-structured encoding for more free-form types (eg, Matroska-style metadata in an EBML&lt;br /&gt;
encoding for stream tagging).&lt;br /&gt;
&lt;br /&gt;
Metadata encompasses a number of semantically quite different&lt;br /&gt;
concepts, eg:&lt;br /&gt;
&lt;br /&gt;
* 1: data about how the individual streams are encoded and encapsulated (codec id, timebase, continuous/discontinuous encoding, codec private data, etc). This metadata is essential to base container operation and must function as container knowledge.  It is always located in a fixed position at the beginning of the file as it must be read to bootstrap container operation.&lt;br /&gt;
&lt;br /&gt;
* 2: data about navigating the file as it's currently arranged (linkages, indexing, chapters).  This data is either essential to high-level container operation or essential to the application depending on how the implementation abstractions work out.&lt;br /&gt;
&lt;br /&gt;
* 3: data about how the streams are presented for playback (langauge, primary angle, available soundtrack languages, menus).  This data is needed by the application.&lt;br /&gt;
&lt;br /&gt;
* 4: user-supplied comments, one-shot auxiliary data (tags, album art). This data is needed by the application and the user.&lt;br /&gt;
&lt;br /&gt;
Each kind of metadata shares some basic traits.  It is heirarchical,&lt;br /&gt;
largely conditional, and benefits from a rich stable of optional&lt;br /&gt;
elements to be used as appropraite.  It is also likely that aside from&lt;br /&gt;
the MUST elements required for playback (mostly from list 1), not all&lt;br /&gt;
metadata will be interesting to all players.  An obvious use case is a&lt;br /&gt;
memory and CPU constrained mobile device with no bitmapped display&lt;br /&gt;
which would want to entirely ignore/skip large album art chunks.&lt;br /&gt;
&lt;br /&gt;
== Specified practices ==&lt;br /&gt;
&lt;br /&gt;
Specified practices provide the instruction manual for proper use of&lt;br /&gt;
the container system in all cases where the container structure allows&lt;br /&gt;
multiple behavioral or encoding possibilities.  'best practices' is a&lt;br /&gt;
more common term, however 'best' connotes that such guidelines are&lt;br /&gt;
merely suggestive.  Specified practices are effectively MUST clauses&lt;br /&gt;
that govern proper behavior rather than valid data.&lt;br /&gt;
&lt;br /&gt;
Specified practices are an especially weak point of current FOSS&lt;br /&gt;
container offerings.  Developers of open projects often value a system&lt;br /&gt;
that offers many equivalent ways of performing a task, and leave it to&lt;br /&gt;
higher-level developers (or worse, the user) to somehow make an&lt;br /&gt;
informed decision of how to proceed.  In the container space, this is&lt;br /&gt;
undesirable bordering on disaster; 'more' is 'less'.&lt;br /&gt;
&lt;br /&gt;
To choose an absurd example, it might be technologically nifty to be&lt;br /&gt;
able to place an index into the middle of a file, but what could it&lt;br /&gt;
possibly accomplish?  Absurd flexibility results in absurd bugs.  When&lt;br /&gt;
absurd or clearly suboptimal choices are structurally possible, the&lt;br /&gt;
spec should not be silent on the subject.  The spec MUST explicitly&lt;br /&gt;
address allowed and disallowed behavior to the most complete degree&lt;br /&gt;
achievable.&lt;br /&gt;
&lt;br /&gt;
= Specification =&lt;br /&gt;
&lt;br /&gt;
* [[TransOgg_Page]]: Specification of transOgg page primitive&lt;br /&gt;
* [[TransOgg_Transport]]: Specification of transOgg stream&lt;br /&gt;
* [[TransOgg_Metadata]]: Specification of transOgg stream metadata&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Vorbis</id>
		<title>Vorbis</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Vorbis"/>
				<updated>2012-08-25T14:11:27Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Undo revision 13574 by Jenifferjones (talk) SPAM link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Vorbis''' is a patent-clear, fully open, general purpose audio encoding format standard that rivals or even surpasses the 'upcoming' generation of proprietary codecs ([[Wikipedia:Advanced Audio Coding|AAC]] and [[Wikipedia:TwinVQ|TwinVQ]], also known as VQF). There is no raw Vorbis stream defined, instead the Vorbis codec is typically used in the [[Ogg]] container format for audio files. Because for a long time the Ogg container was quasi exclusive for Vorbis people often refer to it as 'Ogg Vorbis'. Later the FLAC audio codec as well as the video codecs Theora and Dirac began to be used inside Ogg too. In 2010 the [[WebM]] format was defined using the Vorbis codec inside the WebM container.&lt;br /&gt;
&lt;br /&gt;
libvorbis, a BSD-licensed source implementation of Vorbis as a library is available; See the [http://xiph.org/vorbis/ Ogg Vorbis page] for documentation, downloads and distribution terms.&lt;br /&gt;
&lt;br /&gt;
Many hard- and software players support Ogg Vorbis; see [http://www.vorbis.com/ vorbis.com] or the links below for a list of all the players we know about.&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
&lt;br /&gt;
* [[Vorbis Hardware]]: List of hardware-players supporting Ogg Vorbis&lt;br /&gt;
* [[Vorbis Software Players]]: List of media players that can play Ogg Vorbis&lt;br /&gt;
* [[Vorbis Software Encoders]]: List of libvorbis frontends&lt;br /&gt;
* [[Vorbis Decoders]]: List of decoders (e.g. Xiph, Tremor, JOrbis, etc)&lt;br /&gt;
* [[Vorbis Encoders]]: List of encoders (e.g. Xiph, aoTuV, GT, vorbis-java)&lt;br /&gt;
* [[Vorbis-tools]]: Reference tools maintained by Xiph.org&lt;br /&gt;
* [[Games that use Vorbis]]: List of games using Ogg Vorbis&lt;br /&gt;
* [[VorbisStreams]]: Stations streaming with the [[Vorbis]] codec&lt;br /&gt;
* [[VorbisCasts]]: Audiocasts publishing Ogg [[Vorbis]] feeds&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.vorbis.com/ Vorbis.com]&lt;br /&gt;
* [[Wikipedia: Vorbis]]&lt;br /&gt;
* [http://www.rjamorim.com/test/multiformat128/results.html 128kbps public listening test]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=35438 80kbps personal listening test]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=36465 180kbps personal listening test with classical music]&lt;br /&gt;
* [http://www.maresweb.de/listening-tests/mf-128-1/results.htm 128kbps public listening test]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vorbis]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Icecast</id>
		<title>Icecast</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Icecast"/>
				<updated>2012-08-25T14:11:06Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Undo revision 13576 by Jenifferjones (talk) SPAM link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Icecast''' is an open source multi-platform streaming server. It supports [[Ogg]] [[Vorbis]], Ogg [[Theora]], and [[MP3]].&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.icecast.org/ Icecast homepage]&lt;br /&gt;
* [http://dir.xiph.org/index.php Stream directory]&lt;br /&gt;
* [http://www.nabble.com/Icecast-f2880.html Icecast archive / forum] - an Icecast mailing list archive that combines both user and dev lists. It is hosted by [http://www.nabble.com/ Nabble]. You can search or browse Icecast discussions here.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*trunk http://svn.xiph.org/icecast/trunk/icecast&lt;br /&gt;
*kh-branch http://svn.xiph.org/icecast/branches/kh/icecast&lt;br /&gt;
**diff to trunk&lt;br /&gt;
***fast pre-buffering aka burst-on-connect. &amp;lt;br&amp;gt;State a burst size in bytes to indicate how much should be sent at listener connect.&lt;br /&gt;
***mp3 accepts artist and title separately on the url.&lt;br /&gt;
***program invocation at stream start and end, per mount based.&lt;br /&gt;
***on-demand relays, activated on first listener, disconnected when listenersfalls to 0. &amp;lt;br&amp;gt;Available for master relays as well.&lt;br /&gt;
***multiple Ogg codec streaming. Current codecs handled are Theora, Vorbis, Speex, Writ.&lt;br /&gt;
***Clients are started at theora key frame if theora is being streamed.&lt;br /&gt;
***Added URL and command based listener authentication&lt;br /&gt;
***server xml reload, and reopen logging available via admin url&lt;br /&gt;
***slave startup re-organised so that relays are more independant&lt;br /&gt;
***on xml reload, active sources are updated as well&lt;br /&gt;
***When max-listeners reached, a HTTP 302 code can be sent to redirect clients to alternative slave hosts.&lt;br /&gt;
***authenticated relays, those that match the relay user/pass, bypass the max-listener check&lt;br /&gt;
&lt;br /&gt;
== Wish List ==&lt;br /&gt;
&lt;br /&gt;
As good ideas are never a waste, and for tracking purposes, please list here all the features you're missing in icecast trunk.&lt;br /&gt;
&lt;br /&gt;
Note: please check that the feature you request is not already in trunk before posting !&lt;br /&gt;
&lt;br /&gt;
* WebM streaming&lt;br /&gt;
* OggOpus streaming&lt;br /&gt;
* PUT method support&lt;br /&gt;
* Ponies&lt;br /&gt;
&lt;br /&gt;
[[Category:Xiph-related Software]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-08-22T18:42:24Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Who created Opus? */ Typos (OK, done now)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a format for compressing audio to efficiently transmit it across networks. Opus allows for music-grade high quality audio at low data rates while not delaying the signal much. Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. The Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for for usage as part of the basic infrastructure of the Internet.&lt;br /&gt;
&lt;br /&gt;
=== Who created Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus was created by combining Xiph.Org's CELT development codec and Skype's SILK codec as part of a cooperative effort in the IETF codec working group. Opus has been in development since early 2007 and will be published as the IETF standard '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus / What programs use Opus? ===&lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3).&lt;br /&gt;
&lt;br /&gt;
=== How does the quality of Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
See the Opus [http://opus-codec.org/comparison comparison page] for more on this.&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. Opus has been tested and is known to run on the following (non-exhaustive list) platforms: x86, x86-64, ARM, Itanium, Blackfin, SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes, the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. It can not only run in &amp;quot;SILK mode&amp;quot; and in &amp;quot;CELT mode&amp;quot;, but also in &amp;quot;hybrid mode&amp;quot; where speech frequencies up to 8 kHz are encoded with SILK while those above 8 kHz are encoded with CELT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch mode seamlessly. It is possible to change between all the modes without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, does it mean the development will stop? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bits it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improve on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== What is difference between supporting Opus and supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates, bandwidths, or channel counts.  Its recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation]&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder&lt;br /&gt;
&lt;br /&gt;
If it still doesn't work, the best option is to ask on the [http://lists.xiph.org/mailman/listinfo/opus mailing list]&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should inter-work with other sampling rate by transparently performing sample rate conversion behind the scenes. It's generally preferable to run the output at 48kHz even when you know the original input was 44.1kHz because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in the latest IETF draft (and eventually RFC) of Opus is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-08-22T18:41:25Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Who created Opus? */ It *is* a proposed standard, and soon *will be* a standard.  See http://www.rfc-editor.org/auth48/rfc6716&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a format for compressing audio to efficiently transmit it across networks. Opus allows for music-grade high quality audio at low data rates while not delaying the signal much. Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. The Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for for usage as part of the basic infrastructure of the Internet.&lt;br /&gt;
&lt;br /&gt;
=== Who created Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus was created by combining Xiph.Org's CELT development codec and Skype's SILK codec as part of a cooperative effort in the IETF codec working group. Opus has been in development since early 2007 and will be published as an IETF standard: '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus / What programs use Opus? ===&lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3).&lt;br /&gt;
&lt;br /&gt;
=== How does the quality of Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
See the Opus [http://opus-codec.org/comparison comparison page] for more on this.&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. Opus has been tested and is known to run on the following (non-exhaustive list) platforms: x86, x86-64, ARM, Itanium, Blackfin, SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes, the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. It can not only run in &amp;quot;SILK mode&amp;quot; and in &amp;quot;CELT mode&amp;quot;, but also in &amp;quot;hybrid mode&amp;quot; where speech frequencies up to 8 kHz are encoded with SILK while those above 8 kHz are encoded with CELT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch mode seamlessly. It is possible to change between all the modes without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, does it mean the development will stop? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bits it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improve on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== What is difference between supporting Opus and supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates, bandwidths, or channel counts.  Its recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation]&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder&lt;br /&gt;
&lt;br /&gt;
If it still doesn't work, the best option is to ask on the [http://lists.xiph.org/mailman/listinfo/opus mailing list]&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should inter-work with other sampling rate by transparently performing sample rate conversion behind the scenes. It's generally preferable to run the output at 48kHz even when you know the original input was 44.1kHz because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in the latest IETF draft (and eventually RFC) of Opus is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-08-22T18:37:03Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Who created Opus? */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a format for compressing audio to efficiently transmit it across networks. Opus allows for music-grade high quality audio at low data rates while not delaying the signal much. Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. The Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for for usage as part of the basic infrastructure of the Internet.&lt;br /&gt;
&lt;br /&gt;
=== Who created Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus was created by combining Xiph.Org's CELT development codec and Skype's SILK codec as part of a cooperative effort in the IETF codec working group. Opus has been in development since early 2007 and will be published as an IETF proposed standard: '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus / What programs use Opus? ===&lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3).&lt;br /&gt;
&lt;br /&gt;
=== How does the quality of Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
See the Opus [http://opus-codec.org/comparison comparison page] for more on this.&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. Opus has been tested and is known to run on the following (non-exhaustive list) platforms: x86, x86-64, ARM, Itanium, Blackfin, SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes, the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. It can not only run in &amp;quot;SILK mode&amp;quot; and in &amp;quot;CELT mode&amp;quot;, but also in &amp;quot;hybrid mode&amp;quot; where speech frequencies up to 8 kHz are encoded with SILK while those above 8 kHz are encoded with CELT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch mode seamlessly. It is possible to change between all the modes without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, does it mean the development will stop? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bits it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improve on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== What is difference between supporting Opus and supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates, bandwidths, or channel counts.  Its recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation]&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder&lt;br /&gt;
&lt;br /&gt;
If it still doesn't work, the best option is to ask on the [http://lists.xiph.org/mailman/listinfo/opus mailing list]&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should inter-work with other sampling rate by transparently performing sample rate conversion behind the scenes. It's generally preferable to run the output at 48kHz even when you know the original input was 44.1kHz because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in the latest IETF draft (and eventually RFC) of Opus is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Ambisonics</id>
		<title>Ambisonics</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Ambisonics"/>
				<updated>2012-06-17T14:23:12Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* UHJ format */ Fixed broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;i&amp;gt;&lt;br /&gt;
This page is part of the XiphWiki, and is aimed at people developing file &lt;br /&gt;
formats and associated software for Ambisonics. For an general introduction &lt;br /&gt;
to Ambisonics, please go to the &lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
[[Wikipedia:Ambisonics|Wikipedia page on Ambisonics]].&lt;br /&gt;
&lt;br /&gt;
'''Ambisonics''' is a surround sound system first developed in the 1970s. &lt;br /&gt;
Its main difference from other surround techniques is that it separates &lt;br /&gt;
transmission channels from speaker feeds, the speaker feeds being derived &lt;br /&gt;
using a decoder situated in the living room.  Decoders can be implemented &lt;br /&gt;
in either hardware or software. Typically more speakers are used than &lt;br /&gt;
transmission channels, and the more speakers used then the more stable the &lt;br /&gt;
resulting soundfield. Speakers can be arranged in a number of configurations, &lt;br /&gt;
regular polygons being the most popular.&lt;br /&gt;
&lt;br /&gt;
Ambisonic files can come in a number of different formats. The main one is &lt;br /&gt;
called B-Format, the other formats being derived from this. UHJ format is &lt;br /&gt;
mono- and stereo-compatible. G-Format is a set of speaker feeds, so can be &lt;br /&gt;
enjoyed in surround sound without the need for a decoder in the living room.&lt;br /&gt;
&lt;br /&gt;
== Ambisonics and 5.1 ==&lt;br /&gt;
&lt;br /&gt;
Ambisonics and conventional 5.1 surround sound are very different. 5.1 is a &lt;br /&gt;
set speaker feeds, the signal only being fully defined for sounds coming &lt;br /&gt;
from a speaker. Phantom images between speakers can be created, but the &lt;br /&gt;
technique to do so is left unspecified. Many 5.1 releases use pair-wise &lt;br /&gt;
mixing to create phantom images. This is understandable as almost all &lt;br /&gt;
stereo recordings are mixed using pair-wise mixing.&lt;br /&gt;
&lt;br /&gt;
Pair-wise mixing is also called &amp;quot;pan-potting&amp;quot;, &amp;quot;amplitude mixing&amp;quot; and &lt;br /&gt;
&amp;quot;intensity stereophony&amp;quot;. It mixes signals into the feeds for a pair of &lt;br /&gt;
speakers to create the illusion that a sound is coming from a point &lt;br /&gt;
somewhere between the speakers. During mixing, the apparent location of &lt;br /&gt;
each sound is determined only by the relative amplitude of that sound in &lt;br /&gt;
the two speakers.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pair-wise mixing works poorly when the speakers are to the &lt;br /&gt;
rear of the listener and not-at-all when they are to one side. You can &lt;br /&gt;
demonstrate this for yourself by performing &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/experiment.html a very simple experiment].&lt;br /&gt;
Pair-wise mixing did not work in the quadraphonic era and it will not work &lt;br /&gt;
now. Such an absolute statement can be made because the way that humans &lt;br /&gt;
localise sound has not changed.&lt;br /&gt;
&lt;br /&gt;
Ambisonics is fundamentally different from 5.1. What is encoded in &lt;br /&gt;
Ambisonics is not speaker feeds, but ''direction''. When mixing in &lt;br /&gt;
Ambisonics, the positions of the speakers are unknown &lt;br /&gt;
''and are of no interest''. Further, when Ambisonics is decoded to speaker &lt;br /&gt;
feeds all of the speakers cooperate to localise a sound in its correct &lt;br /&gt;
position so, for example, when the speakers on the left push those on the &lt;br /&gt;
right pull. The speakers all contribute to the creation of a single &lt;br /&gt;
coherent soundfield.&lt;br /&gt;
&lt;br /&gt;
=== Ambisonics to 5.1 ===&lt;br /&gt;
Converting Ambisonics to 5.1 is straightforward, and is discussed below &lt;br /&gt;
(see [[#G-Format|G-Format]]).&lt;br /&gt;
&lt;br /&gt;
=== 5.1 to Ambisonics ===&lt;br /&gt;
Converting 5.1 to Ambisonics is more difficult. It is easy to make the &lt;br /&gt;
five speaker feeds phantom images, called &amp;quot;virtual speakers&amp;quot;. (The &amp;quot;.1&amp;quot; &lt;br /&gt;
channel can be folded into W.)  The problem with this is that even if the &lt;br /&gt;
Ambisonic rendering is perfect, the result will only be as good as the &lt;br /&gt;
original 5.1 played through ''real'' speakers. It will not be an &lt;br /&gt;
improvement. Nobody has yet come up with a way for Ambisonics to improve &lt;br /&gt;
5.1; 5.1 is simply too broken.&lt;br /&gt;
&lt;br /&gt;
== B-Format ==&lt;br /&gt;
&lt;br /&gt;
B-Format is a single coherent soundfield composed of a set of related &lt;br /&gt;
channels.  The number of channels used depends on whether the soundfiled &lt;br /&gt;
is horizontal-only or full-sphere, and on the order. These B-Format &lt;br /&gt;
channels are transmission channels, not speaker feeds. Listening to &lt;br /&gt;
B-Format requires a decoder in your living room. Some numbers of &lt;br /&gt;
channels are tabulated below.&lt;br /&gt;
&lt;br /&gt;
=== Channel correlation ===&lt;br /&gt;
Compression techniques typically make use of channel correlation to &lt;br /&gt;
remove redundancy from the audio data, and so improve the compression &lt;br /&gt;
ratio.&lt;br /&gt;
&lt;br /&gt;
The correlation between B-Format channels depends on the content.  &lt;br /&gt;
Four-channel B-Format consists of an &lt;br /&gt;
omni-directional component, called W, and three figure-of-eight &lt;br /&gt;
components pointing forward, left and up, called X, Y, Z. &lt;br /&gt;
([http://members.tripod.com/martin_leese/Ambisonic/Harmonic.html Pictures are available].) &lt;br /&gt;
Three-channel, horizontal-only B-Format simply omits the Z channel. This &lt;br /&gt;
means that anything in X also appears in W. Same for Y and Z. (W is &lt;br /&gt;
omni-directional; everything appears in W.) Also, if content comes from &lt;br /&gt;
Front-Left then it appears equally in X and Y. Same for content from &lt;br /&gt;
Front-Right, Back-Left, Back-Right; only the relative polarities change. &lt;br /&gt;
So there can be a lot of correlation between B-Format channels, but it is &lt;br /&gt;
content dependent.&lt;br /&gt;
&lt;br /&gt;
One problem with B-Format is that it is big on low-frequency phase. The &lt;br /&gt;
phase relationships between the different B-Format channels are important &lt;br /&gt;
if the resulting soundfield is to correctly &amp;quot;gel&amp;quot;. This may be a problem &lt;br /&gt;
when B-Format channels are compressed using lossy compression.&lt;br /&gt;
&lt;br /&gt;
There is a file specification in use for downloadable B-Format files &lt;br /&gt;
called the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification].&lt;br /&gt;
&lt;br /&gt;
=== Limitations of the &amp;quot;.amb&amp;quot; specification ===&lt;br /&gt;
The [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] &lt;br /&gt;
for downloadable B-Format files is based on the WAVE-EX format.  There are &lt;br /&gt;
currently over 200 pieces available in this format &lt;br /&gt;
[http://www.ambisonia.com for free download]. Most of these are &lt;br /&gt;
first-order full-sphere soundfields. (The same website also has details of &lt;br /&gt;
[http://www.ambisonia.com/wiki/index.php/Playback_Software ad hoc software decoders].) &lt;br /&gt;
Some of the limitations of the specification are:  &lt;br /&gt;
&lt;br /&gt;
#It is limited to 4 GByte files (2 GBytes if somebody screwed up).&lt;br /&gt;
#It is limited to third-order soundfields and below. While third-order looks like a lot (16 channels), there already exists a prototype mic that can record up to fourth-order (25 channels).&lt;br /&gt;
#No compression (particularly lossless).&lt;br /&gt;
&lt;br /&gt;
The reason that the &amp;quot;.amb&amp;quot; file specification is limited to third-order &lt;br /&gt;
and below is because it uses the number of channels to uniquely define the &lt;br /&gt;
soundfield order. Unfortunately this simple and elegant scheme does not &lt;br /&gt;
work above third-order as ambiguities creep in. (One ambiguity is &lt;br /&gt;
illustrated in the table below.)&lt;br /&gt;
&lt;br /&gt;
A more general file format will have to use something else, such as &lt;br /&gt;
''Malham notation'', or storing both the horizontal-order and &lt;br /&gt;
height-order. There is a one-to-one correspondence between Malham notation &lt;br /&gt;
and the pair of orders, and either can generate the number of channels.&lt;br /&gt;
&lt;br /&gt;
==== Malham notation ====&lt;br /&gt;
Malham notation specifies the order of a B-Format soundfield using a &lt;br /&gt;
string of characters, each character being either '''f''' (for full-sphere) &lt;br /&gt;
or '''h''' (for horizontal). The first character in the string specifies &lt;br /&gt;
the type of the first-order components, the second character the type of &lt;br /&gt;
the second-order components, etc.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Horizontal&amp;lt;br&amp;gt;order&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Height&amp;lt;br&amp;gt;order&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Soundfield_type&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Malham&amp;lt;br&amp;gt;notation&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Number&amp;lt;br&amp;gt;of_channels&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Channels&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1|| 0||horizontal||'''h'''|| 3||WXY&lt;br /&gt;
|-&lt;br /&gt;
| 1|| 1||full-sphere||'''f'''|| 4||WXYZ&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 0||horizontal||'''hh'''|| 5||WXYUV&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 1||mixed-order||'''fh'''|| 6||WXYZUV&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 2||full-sphere||'''ff'''|| 9||WXYZRSTUV&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 0||horizontal||'''hhh'''|| 7||WXYUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 1||mixed-order||'''fhh'''|| 8||WXYZUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 2||mixed-order||'''ffh'''|| 11||WXYZRSTUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 3||full-sphere||'''fff'''|| 16||WXYZRSTUVKLMNOPQ&lt;br /&gt;
|-&lt;br /&gt;
| 4|| 0||horizontal||'''hhhh'''|| 9||extra channels unlabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from B-Format ===&lt;br /&gt;
Converting a B-Format file to a mono file is straightforward.  Use Mono = &lt;br /&gt;
W*sqrt(2).&lt;br /&gt;
&lt;br /&gt;
Converting a B-Format file to a stereo file is more difficult.  The &amp;quot;proper&amp;quot; &lt;br /&gt;
way to do this is to convert the W,X,Y channels to two-channel UHJ.  &lt;br /&gt;
Unfortunately this requires the use of wide-band 90-degree phase shifters.  &lt;br /&gt;
In the digital domain these are usually implemented as convolution filters.&lt;br /&gt;
&lt;br /&gt;
Assuming 90-degree phase shifters are unavailable then the problem is one of &lt;br /&gt;
choice.  Starting from B-Format, it is possible to synthesize ''any'' mic &lt;br /&gt;
response pointing in ''any'' direction.  Hence, it is possible to synthesize &lt;br /&gt;
''all'' coincident stereo mic techniques.  Two popular stereo techniques are &lt;br /&gt;
''Blumlein Mid-Side'' and ''Blumlein Crossed Pair''.&lt;br /&gt;
  &lt;br /&gt;
==== Blumlein Mid-Side ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mid = (W*sqrt(2)) + X  /*This is a cardioid response pointing forward*/&lt;br /&gt;
Left = Mid + Y&lt;br /&gt;
Right = Mid - Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Blumlein Crossed Pair ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Left = (X + Y)/sqrt(2)   /* (Left, Right) are just the (Y, X) */&lt;br /&gt;
Right = (X - Y)/sqrt(2)  /* responses rotated by -45 degrees  */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which conversion to stereo is better depends on the material and how it was &lt;br /&gt;
recorded.  A good suggestion is to not specify a ''particular'' default &lt;br /&gt;
channel conversion; instead, simply specify that there must be one.  If one &lt;br /&gt;
has to be specified then Blumlein Crossed Pair is the simpler.&lt;br /&gt;
&lt;br /&gt;
== UHJ format ==&lt;br /&gt;
&lt;br /&gt;
B-Format is the main format for Ambisonic files. However, B-Format is &lt;br /&gt;
not mono- or stereo-compatible. This is why the UHJ hierarchical system &lt;br /&gt;
was developed. Depending on the number of channels available, the UHJ &lt;br /&gt;
system can carry more or less information, but at all times it is fully &lt;br /&gt;
mono- and stereo-compatible. Up to four channels (Left, Right, T, Q) may &lt;br /&gt;
be used. The T-channel can also be band-limited but, as this &lt;br /&gt;
&amp;quot;2&amp;amp;frac12;-channel UHJ&amp;quot; was only ever used for FM radio transmission, it &lt;br /&gt;
will not be discussed further.&lt;br /&gt;
&lt;br /&gt;
To listen to UHJ files in surround requires a decoder in your living room. &lt;br /&gt;
Also, UHJ is restricted to first-order soundfields, either horizontal (two- &lt;br /&gt;
and three-channel UHJ) or full-sphere (four-channel UHJ).&lt;br /&gt;
&lt;br /&gt;
Converting B-Format channels to UHJ channels, and vice versa, requires the &lt;br /&gt;
use of wide-band 90-degree phase shifters. In the digital domain these &lt;br /&gt;
are usually implemented as convolution filters. Conversion between &lt;br /&gt;
four-channel B-Format (W, X, Y, Z) and four-channel UHJ (Left, Right, T, &lt;br /&gt;
Q) can be accomplished without loss of information. The same with &lt;br /&gt;
three-channel to three-channel (W, X, Y) &amp;lt;=&amp;gt; (Left, Right, T). It is &lt;br /&gt;
possible to recover three-channel B-Format (W, X, Y) from two-channel UHJ &lt;br /&gt;
(Left, Right), but not without loss. It is also important for the Ambisonic &lt;br /&gt;
decoder to be aware that the B-Format channels were recovered from &lt;br /&gt;
two-channel UHJ (because of the need to apply different shelf filters).&lt;br /&gt;
&lt;br /&gt;
Several hundred &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/uhjhtm.txt two-channel UHJ LPs and CDs] &lt;br /&gt;
have been released. Three- and four-channel UHJ recordings have never been &lt;br /&gt;
commercially released.&lt;br /&gt;
&lt;br /&gt;
=== UHJ encoding and decoding equations ===&lt;br /&gt;
&lt;br /&gt;
==== Encoding ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = 0.9396926*W + 0.1855740*X&lt;br /&gt;
D = j(-0.3420201*W + 0.5098604*X) + 0.6554516*Y&lt;br /&gt;
&lt;br /&gt;
Left = (S + D)/2.0&lt;br /&gt;
Right = (S - D)/2.0&lt;br /&gt;
T = j(-0.1432*W + 0.6512*X) - 0.7071*Y&lt;br /&gt;
Q = 0.9772*Z&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Decoding ====&lt;br /&gt;
For two-channel UHJ:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = (Left + Right)/2.0&lt;br /&gt;
D = (Left - Right)/2.0&lt;br /&gt;
&lt;br /&gt;
W = 0.982*S + j*0.164*D&lt;br /&gt;
X = 0.419*S - j*0.828*D&lt;br /&gt;
Y = 0.763*D + j*0.385*S&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that two-channel UHJ requires the player to use different shelf filters than for B-Format.&lt;br /&gt;
&lt;br /&gt;
For three- and four-channel UHJ:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = (Left + Right)/2.0&lt;br /&gt;
D = (Left - Right)/2.0&lt;br /&gt;
&lt;br /&gt;
W = 0.982*S + j*0.197(0.828*D + 0.768*T)&lt;br /&gt;
X = 0.419*S - j(0.828*D + 0.768*T)&lt;br /&gt;
Y = 0.796*D - 0.676*T + j*0.187*S&lt;br /&gt;
Z = 1.023*Q&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a file specification for downloadable two-channel UHJ files &lt;br /&gt;
called the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification], but it is not currently in use.&lt;br /&gt;
&lt;br /&gt;
=== Limitations of the &amp;quot;.uhj&amp;quot; specification ===&lt;br /&gt;
The [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] &lt;br /&gt;
for downloadable two-channel UHJ files is based on the WAVE or WAVE-EX &lt;br /&gt;
format. A UHJ chunk is added to the file to indicate it is UHJ. As &lt;br /&gt;
unrecognized chunks are always skipped, use of this chunk maintains stereo &lt;br /&gt;
compatibility. Some of the limitations of the specification are:  &lt;br /&gt;
&lt;br /&gt;
#It is limited to 4 GByte files (2 GBytes if somebody screwed up).&lt;br /&gt;
#It is limited to two-channel UHJ files. Three- and four-channel UHJ are not accommodated.&lt;br /&gt;
#No compression.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;.uhj&amp;quot; spcecification is only defined for two-channel UHJ to maintain &lt;br /&gt;
stereo compatibility. While it would be possible to add the UHJ chunk to &lt;br /&gt;
three- and four-channel WAVE-EX files, the recommendations from Microsoft &lt;br /&gt;
for playing such files is that the audio device should render the extra &lt;br /&gt;
channels to output ports not in use. This can happen even when the extra &lt;br /&gt;
channels are masked off. (Put simply, in WAVE-EX files the channel mask &lt;br /&gt;
does ''not'' mask channels.) Because of this, three- and four-channel &lt;br /&gt;
WAVE-EX files can not be made stereo compatible.&lt;br /&gt;
&lt;br /&gt;
In the Xiph world, it should be possible to use default channel conversions &lt;br /&gt;
to ensure that three- and four-channel UHJ files remain stereo compatible.&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from UHJ ===&lt;br /&gt;
Converting a UHJ file to a mono file is straightforward.  Use Mono = &lt;br /&gt;
(Left + Right) / sqrt(2).&lt;br /&gt;
&lt;br /&gt;
Converting a UHJ file to a stereo file is even easier.  Use Left = Left, Right = Right, and discard T and Q if present.&lt;br /&gt;
&lt;br /&gt;
== G-Format ==&lt;br /&gt;
&lt;br /&gt;
A G-Format file is any common multi-channel surround file containing an &lt;br /&gt;
Ambisonic soundfield pre-decoded to its speaker feeds. This allows &lt;br /&gt;
listeners who do not own an Ambisonic decoder to enjoy Ambisonics.&lt;br /&gt;
&lt;br /&gt;
The sound engineer creates a set of speaker feeds for a particular number &lt;br /&gt;
and arrangement of speakers. This is typically four speakers arranged in &lt;br /&gt;
a square. Other speaker arrangements are also possible&lt;br /&gt;
&lt;br /&gt;
In Ambisonics, all speakers cooperate to localise sounds in any particular &lt;br /&gt;
direction; there are no &amp;quot;surround speakers&amp;quot; as such. Because of this, best &lt;br /&gt;
results when playing G-Format recordings (and Ambisonics in general) are &lt;br /&gt;
obtained when the speakers are matched. The easiest way to accomplish this &lt;br /&gt;
is to use identical speakers. Unfortunately, many home theatre systems &lt;br /&gt;
include a centre-front speaker which is different from the other speakers.&lt;br /&gt;
&lt;br /&gt;
An easy way to cope with this is adopted on G-Format recordings commercially &lt;br /&gt;
released on DVD-A by [http://www.wyastone.co.uk/nrl/dvd.html Nimbus Records]. &lt;br /&gt;
They use four speakers in a square, the centre-front speaker being unused. &lt;br /&gt;
&lt;br /&gt;
=== Recovering B-Format from G-Format ===&lt;br /&gt;
It is sometimes possible to recover the original B-Format channels from &lt;br /&gt;
the G-Format speaker feeds. The recovered B-Format channels can then be &lt;br /&gt;
fed to a decoder in the listener's living room, and so accommodate a &lt;br /&gt;
speaker arrangement different from the one used when the G-Format file &lt;br /&gt;
was produced. Each B-Format channel is recovered using a weighted &lt;br /&gt;
combination of the speaker feeds in the G-Format file. The conversion &lt;br /&gt;
coefficients required for the B-Format recovery depend on the particular &lt;br /&gt;
speaker arrangment chosen by the sound engineer. (Obviously, if a &lt;br /&gt;
B-Format version of the file also exists then it can be fed to the &lt;br /&gt;
decoder directly without the need for G-Format.)&lt;br /&gt;
&lt;br /&gt;
File formats for G-Format include all multi-channel formats that contain &lt;br /&gt;
speaker feeds. However, these will not contain information to allow the &lt;br /&gt;
B-Format channels to be automatically recovered. A [http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot; file format] &lt;br /&gt;
(based on WAVE-EX) for downloadable G-Format files, which will allow &lt;br /&gt;
the B-Format channels to be automatically recovered, has been proposed. &lt;br /&gt;
Such file formats have the advantage of storing the conversion &lt;br /&gt;
coefficients at the time the G-Format file is created. This is the only &lt;br /&gt;
time the required information is readily available.&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from G-Format ===&lt;br /&gt;
Converting a G-Format file to a mono or stereo file is straightforward. &lt;br /&gt;
First, recover the B-Format channels using the conversion coefficients &lt;br /&gt;
contained in the file. Second, follow the advice given above for &lt;br /&gt;
[[#Default channel conversions from B-Format|Default channel conversions from B-Format]].&lt;br /&gt;
&lt;br /&gt;
== Resources on Ambisonics ==&lt;br /&gt;
&lt;br /&gt;
*There is a set of [http://en.wikipedia.org/wiki/Ambisonics Wikipedia articles on Ambisonics].&lt;br /&gt;
*Of particular relevance is the [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] in use for downloadable B-Format files.  However the &amp;quot;.amb&amp;quot; spec has some limitations which it would be useful to overcome.&lt;br /&gt;
*There is also the [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] for downloadable two-channel UHJ files, but it is not currently in use.  The &amp;quot;.uhj&amp;quot; spec also has some limitations which it would be useful to overcome.&lt;br /&gt;
*[http://members.tripod.com/martin_leese/Ambisonic/ This website] has many pages on Ambisonics (including at the bottom links to other Ambisonic websites).&lt;br /&gt;
*[http://www.ambisonic.net/ Ambisonic.Net website] includes a detailed series of descriptive and practical articles on current and past Ambisonic techniques with links to tools, other sites and additional material.&lt;br /&gt;
*[http://ambisonic.info/info/ricardo.html Richard Lee's page on Ambisonics] contains articles on shelf filters and the design of Ambisonic decoders.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developers stuff]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Ambisonics</id>
		<title>Ambisonics</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Ambisonics"/>
				<updated>2012-06-17T14:10:41Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Ambisonics and 5.1 */ Fixed broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;i&amp;gt;&lt;br /&gt;
This page is part of the XiphWiki, and is aimed at people developing file &lt;br /&gt;
formats and associated software for Ambisonics. For an general introduction &lt;br /&gt;
to Ambisonics, please go to the &lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
[[Wikipedia:Ambisonics|Wikipedia page on Ambisonics]].&lt;br /&gt;
&lt;br /&gt;
'''Ambisonics''' is a surround sound system first developed in the 1970s. &lt;br /&gt;
Its main difference from other surround techniques is that it separates &lt;br /&gt;
transmission channels from speaker feeds, the speaker feeds being derived &lt;br /&gt;
using a decoder situated in the living room.  Decoders can be implemented &lt;br /&gt;
in either hardware or software. Typically more speakers are used than &lt;br /&gt;
transmission channels, and the more speakers used then the more stable the &lt;br /&gt;
resulting soundfield. Speakers can be arranged in a number of configurations, &lt;br /&gt;
regular polygons being the most popular.&lt;br /&gt;
&lt;br /&gt;
Ambisonic files can come in a number of different formats. The main one is &lt;br /&gt;
called B-Format, the other formats being derived from this. UHJ format is &lt;br /&gt;
mono- and stereo-compatible. G-Format is a set of speaker feeds, so can be &lt;br /&gt;
enjoyed in surround sound without the need for a decoder in the living room.&lt;br /&gt;
&lt;br /&gt;
== Ambisonics and 5.1 ==&lt;br /&gt;
&lt;br /&gt;
Ambisonics and conventional 5.1 surround sound are very different. 5.1 is a &lt;br /&gt;
set speaker feeds, the signal only being fully defined for sounds coming &lt;br /&gt;
from a speaker. Phantom images between speakers can be created, but the &lt;br /&gt;
technique to do so is left unspecified. Many 5.1 releases use pair-wise &lt;br /&gt;
mixing to create phantom images. This is understandable as almost all &lt;br /&gt;
stereo recordings are mixed using pair-wise mixing.&lt;br /&gt;
&lt;br /&gt;
Pair-wise mixing is also called &amp;quot;pan-potting&amp;quot;, &amp;quot;amplitude mixing&amp;quot; and &lt;br /&gt;
&amp;quot;intensity stereophony&amp;quot;. It mixes signals into the feeds for a pair of &lt;br /&gt;
speakers to create the illusion that a sound is coming from a point &lt;br /&gt;
somewhere between the speakers. During mixing, the apparent location of &lt;br /&gt;
each sound is determined only by the relative amplitude of that sound in &lt;br /&gt;
the two speakers.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pair-wise mixing works poorly when the speakers are to the &lt;br /&gt;
rear of the listener and not-at-all when they are to one side. You can &lt;br /&gt;
demonstrate this for yourself by performing &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/experiment.html a very simple experiment].&lt;br /&gt;
Pair-wise mixing did not work in the quadraphonic era and it will not work &lt;br /&gt;
now. Such an absolute statement can be made because the way that humans &lt;br /&gt;
localise sound has not changed.&lt;br /&gt;
&lt;br /&gt;
Ambisonics is fundamentally different from 5.1. What is encoded in &lt;br /&gt;
Ambisonics is not speaker feeds, but ''direction''. When mixing in &lt;br /&gt;
Ambisonics, the positions of the speakers are unknown &lt;br /&gt;
''and are of no interest''. Further, when Ambisonics is decoded to speaker &lt;br /&gt;
feeds all of the speakers cooperate to localise a sound in its correct &lt;br /&gt;
position so, for example, when the speakers on the left push those on the &lt;br /&gt;
right pull. The speakers all contribute to the creation of a single &lt;br /&gt;
coherent soundfield.&lt;br /&gt;
&lt;br /&gt;
=== Ambisonics to 5.1 ===&lt;br /&gt;
Converting Ambisonics to 5.1 is straightforward, and is discussed below &lt;br /&gt;
(see [[#G-Format|G-Format]]).&lt;br /&gt;
&lt;br /&gt;
=== 5.1 to Ambisonics ===&lt;br /&gt;
Converting 5.1 to Ambisonics is more difficult. It is easy to make the &lt;br /&gt;
five speaker feeds phantom images, called &amp;quot;virtual speakers&amp;quot;. (The &amp;quot;.1&amp;quot; &lt;br /&gt;
channel can be folded into W.)  The problem with this is that even if the &lt;br /&gt;
Ambisonic rendering is perfect, the result will only be as good as the &lt;br /&gt;
original 5.1 played through ''real'' speakers. It will not be an &lt;br /&gt;
improvement. Nobody has yet come up with a way for Ambisonics to improve &lt;br /&gt;
5.1; 5.1 is simply too broken.&lt;br /&gt;
&lt;br /&gt;
== B-Format ==&lt;br /&gt;
&lt;br /&gt;
B-Format is a single coherent soundfield composed of a set of related &lt;br /&gt;
channels.  The number of channels used depends on whether the soundfiled &lt;br /&gt;
is horizontal-only or full-sphere, and on the order. These B-Format &lt;br /&gt;
channels are transmission channels, not speaker feeds. Listening to &lt;br /&gt;
B-Format requires a decoder in your living room. Some numbers of &lt;br /&gt;
channels are tabulated below.&lt;br /&gt;
&lt;br /&gt;
=== Channel correlation ===&lt;br /&gt;
Compression techniques typically make use of channel correlation to &lt;br /&gt;
remove redundancy from the audio data, and so improve the compression &lt;br /&gt;
ratio.&lt;br /&gt;
&lt;br /&gt;
The correlation between B-Format channels depends on the content.  &lt;br /&gt;
Four-channel B-Format consists of an &lt;br /&gt;
omni-directional component, called W, and three figure-of-eight &lt;br /&gt;
components pointing forward, left and up, called X, Y, Z. &lt;br /&gt;
([http://members.tripod.com/martin_leese/Ambisonic/Harmonic.html Pictures are available].) &lt;br /&gt;
Three-channel, horizontal-only B-Format simply omits the Z channel. This &lt;br /&gt;
means that anything in X also appears in W. Same for Y and Z. (W is &lt;br /&gt;
omni-directional; everything appears in W.) Also, if content comes from &lt;br /&gt;
Front-Left then it appears equally in X and Y. Same for content from &lt;br /&gt;
Front-Right, Back-Left, Back-Right; only the relative polarities change. &lt;br /&gt;
So there can be a lot of correlation between B-Format channels, but it is &lt;br /&gt;
content dependent.&lt;br /&gt;
&lt;br /&gt;
One problem with B-Format is that it is big on low-frequency phase. The &lt;br /&gt;
phase relationships between the different B-Format channels are important &lt;br /&gt;
if the resulting soundfield is to correctly &amp;quot;gel&amp;quot;. This may be a problem &lt;br /&gt;
when B-Format channels are compressed using lossy compression.&lt;br /&gt;
&lt;br /&gt;
There is a file specification in use for downloadable B-Format files &lt;br /&gt;
called the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification].&lt;br /&gt;
&lt;br /&gt;
=== Limitations of the &amp;quot;.amb&amp;quot; specification ===&lt;br /&gt;
The [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] &lt;br /&gt;
for downloadable B-Format files is based on the WAVE-EX format.  There are &lt;br /&gt;
currently over 200 pieces available in this format &lt;br /&gt;
[http://www.ambisonia.com for free download]. Most of these are &lt;br /&gt;
first-order full-sphere soundfields. (The same website also has details of &lt;br /&gt;
[http://www.ambisonia.com/wiki/index.php/Playback_Software ad hoc software decoders].) &lt;br /&gt;
Some of the limitations of the specification are:  &lt;br /&gt;
&lt;br /&gt;
#It is limited to 4 GByte files (2 GBytes if somebody screwed up).&lt;br /&gt;
#It is limited to third-order soundfields and below. While third-order looks like a lot (16 channels), there already exists a prototype mic that can record up to fourth-order (25 channels).&lt;br /&gt;
#No compression (particularly lossless).&lt;br /&gt;
&lt;br /&gt;
The reason that the &amp;quot;.amb&amp;quot; file specification is limited to third-order &lt;br /&gt;
and below is because it uses the number of channels to uniquely define the &lt;br /&gt;
soundfield order. Unfortunately this simple and elegant scheme does not &lt;br /&gt;
work above third-order as ambiguities creep in. (One ambiguity is &lt;br /&gt;
illustrated in the table below.)&lt;br /&gt;
&lt;br /&gt;
A more general file format will have to use something else, such as &lt;br /&gt;
''Malham notation'', or storing both the horizontal-order and &lt;br /&gt;
height-order. There is a one-to-one correspondence between Malham notation &lt;br /&gt;
and the pair of orders, and either can generate the number of channels.&lt;br /&gt;
&lt;br /&gt;
==== Malham notation ====&lt;br /&gt;
Malham notation specifies the order of a B-Format soundfield using a &lt;br /&gt;
string of characters, each character being either '''f''' (for full-sphere) &lt;br /&gt;
or '''h''' (for horizontal). The first character in the string specifies &lt;br /&gt;
the type of the first-order components, the second character the type of &lt;br /&gt;
the second-order components, etc.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Horizontal&amp;lt;br&amp;gt;order&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Height&amp;lt;br&amp;gt;order&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Soundfield_type&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Malham&amp;lt;br&amp;gt;notation&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Number&amp;lt;br&amp;gt;of_channels&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Channels&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1|| 0||horizontal||'''h'''|| 3||WXY&lt;br /&gt;
|-&lt;br /&gt;
| 1|| 1||full-sphere||'''f'''|| 4||WXYZ&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 0||horizontal||'''hh'''|| 5||WXYUV&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 1||mixed-order||'''fh'''|| 6||WXYZUV&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 2||full-sphere||'''ff'''|| 9||WXYZRSTUV&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 0||horizontal||'''hhh'''|| 7||WXYUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 1||mixed-order||'''fhh'''|| 8||WXYZUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 2||mixed-order||'''ffh'''|| 11||WXYZRSTUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 3||full-sphere||'''fff'''|| 16||WXYZRSTUVKLMNOPQ&lt;br /&gt;
|-&lt;br /&gt;
| 4|| 0||horizontal||'''hhhh'''|| 9||extra channels unlabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from B-Format ===&lt;br /&gt;
Converting a B-Format file to a mono file is straightforward.  Use Mono = &lt;br /&gt;
W*sqrt(2).&lt;br /&gt;
&lt;br /&gt;
Converting a B-Format file to a stereo file is more difficult.  The &amp;quot;proper&amp;quot; &lt;br /&gt;
way to do this is to convert the W,X,Y channels to two-channel UHJ.  &lt;br /&gt;
Unfortunately this requires the use of wide-band 90-degree phase shifters.  &lt;br /&gt;
In the digital domain these are usually implemented as convolution filters.&lt;br /&gt;
&lt;br /&gt;
Assuming 90-degree phase shifters are unavailable then the problem is one of &lt;br /&gt;
choice.  Starting from B-Format, it is possible to synthesize ''any'' mic &lt;br /&gt;
response pointing in ''any'' direction.  Hence, it is possible to synthesize &lt;br /&gt;
''all'' coincident stereo mic techniques.  Two popular stereo techniques are &lt;br /&gt;
''Blumlein Mid-Side'' and ''Blumlein Crossed Pair''.&lt;br /&gt;
  &lt;br /&gt;
==== Blumlein Mid-Side ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mid = (W*sqrt(2)) + X  /*This is a cardioid response pointing forward*/&lt;br /&gt;
Left = Mid + Y&lt;br /&gt;
Right = Mid - Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Blumlein Crossed Pair ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Left = (X + Y)/sqrt(2)   /* (Left, Right) are just the (Y, X) */&lt;br /&gt;
Right = (X - Y)/sqrt(2)  /* responses rotated by -45 degrees  */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which conversion to stereo is better depends on the material and how it was &lt;br /&gt;
recorded.  A good suggestion is to not specify a ''particular'' default &lt;br /&gt;
channel conversion; instead, simply specify that there must be one.  If one &lt;br /&gt;
has to be specified then Blumlein Crossed Pair is the simpler.&lt;br /&gt;
&lt;br /&gt;
== UHJ format ==&lt;br /&gt;
&lt;br /&gt;
B-Format is the main format for Ambisonic files. However, B-Format is &lt;br /&gt;
not mono- or stereo-compatible. This is why the UHJ hierarchical system &lt;br /&gt;
was developed. Depending on the number of channels available, the UHJ &lt;br /&gt;
system can carry more or less information, but at all times it is fully &lt;br /&gt;
mono- and stereo-compatible. Up to four channels (Left, Right, T, Q) may &lt;br /&gt;
be used. The T-channel can also be band-limited but, as this &lt;br /&gt;
&amp;quot;2&amp;amp;frac12;-channel UHJ&amp;quot; was only ever used for FM radio transmission, it &lt;br /&gt;
will not be discussed further.&lt;br /&gt;
&lt;br /&gt;
To listen to UHJ files in surround requires a decoder in your living room. &lt;br /&gt;
Also, UHJ is restricted to first-order soundfields, either horizontal (two- &lt;br /&gt;
and three-channel UHJ) or full-sphere (four-channel UHJ).&lt;br /&gt;
&lt;br /&gt;
Converting B-Format channels to UHJ channels, and vice versa, requires the &lt;br /&gt;
use of wide-band 90-degree phase shifters. In the digital domain these &lt;br /&gt;
are usually implemented as convolution filters. Conversion between &lt;br /&gt;
four-channel B-Format (W, X, Y, Z) and four-channel UHJ (Left, Right, T, &lt;br /&gt;
Q) can be accomplished without loss of information. The same with &lt;br /&gt;
three-channel to three-channel (W, X, Y) &amp;lt;=&amp;gt; (Left, Right, T). It is &lt;br /&gt;
possible to recover three-channel B-Format (W, X, Y) from two-channel UHJ &lt;br /&gt;
(Left, Right), but not without loss. It is also important for the Ambisonic &lt;br /&gt;
decoder to be aware that the B-Format channels were recovered from &lt;br /&gt;
two-channel UHJ (because of the need to apply different shelf filters).&lt;br /&gt;
&lt;br /&gt;
Several hundred &lt;br /&gt;
[http://members.cox.net/surround/uhjdisc/ambindex.htm two-channel UHJ LPs and CDs] &lt;br /&gt;
have been released. Three- and four-channel UHJ recordings have never been &lt;br /&gt;
commercially released.&lt;br /&gt;
&lt;br /&gt;
=== UHJ encoding and decoding equations ===&lt;br /&gt;
&lt;br /&gt;
==== Encoding ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = 0.9396926*W + 0.1855740*X&lt;br /&gt;
D = j(-0.3420201*W + 0.5098604*X) + 0.6554516*Y&lt;br /&gt;
&lt;br /&gt;
Left = (S + D)/2.0&lt;br /&gt;
Right = (S - D)/2.0&lt;br /&gt;
T = j(-0.1432*W + 0.6512*X) - 0.7071*Y&lt;br /&gt;
Q = 0.9772*Z&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Decoding ====&lt;br /&gt;
For two-channel UHJ:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = (Left + Right)/2.0&lt;br /&gt;
D = (Left - Right)/2.0&lt;br /&gt;
&lt;br /&gt;
W = 0.982*S + j*0.164*D&lt;br /&gt;
X = 0.419*S - j*0.828*D&lt;br /&gt;
Y = 0.763*D + j*0.385*S&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that two-channel UHJ requires the player to use different shelf filters than for B-Format.&lt;br /&gt;
&lt;br /&gt;
For three- and four-channel UHJ:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = (Left + Right)/2.0&lt;br /&gt;
D = (Left - Right)/2.0&lt;br /&gt;
&lt;br /&gt;
W = 0.982*S + j*0.197(0.828*D + 0.768*T)&lt;br /&gt;
X = 0.419*S - j(0.828*D + 0.768*T)&lt;br /&gt;
Y = 0.796*D - 0.676*T + j*0.187*S&lt;br /&gt;
Z = 1.023*Q&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a file specification for downloadable two-channel UHJ files &lt;br /&gt;
called the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification], but it is not currently in use.&lt;br /&gt;
&lt;br /&gt;
=== Limitations of the &amp;quot;.uhj&amp;quot; specification ===&lt;br /&gt;
The [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] &lt;br /&gt;
for downloadable two-channel UHJ files is based on the WAVE or WAVE-EX &lt;br /&gt;
format. A UHJ chunk is added to the file to indicate it is UHJ. As &lt;br /&gt;
unrecognized chunks are always skipped, use of this chunk maintains stereo &lt;br /&gt;
compatibility. Some of the limitations of the specification are:  &lt;br /&gt;
&lt;br /&gt;
#It is limited to 4 GByte files (2 GBytes if somebody screwed up).&lt;br /&gt;
#It is limited to two-channel UHJ files. Three- and four-channel UHJ are not accommodated.&lt;br /&gt;
#No compression.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;.uhj&amp;quot; spcecification is only defined for two-channel UHJ to maintain &lt;br /&gt;
stereo compatibility. While it would be possible to add the UHJ chunk to &lt;br /&gt;
three- and four-channel WAVE-EX files, the recommendations from Microsoft &lt;br /&gt;
for playing such files is that the audio device should render the extra &lt;br /&gt;
channels to output ports not in use. This can happen even when the extra &lt;br /&gt;
channels are masked off. (Put simply, in WAVE-EX files the channel mask &lt;br /&gt;
does ''not'' mask channels.) Because of this, three- and four-channel &lt;br /&gt;
WAVE-EX files can not be made stereo compatible.&lt;br /&gt;
&lt;br /&gt;
In the Xiph world, it should be possible to use default channel conversions &lt;br /&gt;
to ensure that three- and four-channel UHJ files remain stereo compatible.&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from UHJ ===&lt;br /&gt;
Converting a UHJ file to a mono file is straightforward.  Use Mono = &lt;br /&gt;
(Left + Right) / sqrt(2).&lt;br /&gt;
&lt;br /&gt;
Converting a UHJ file to a stereo file is even easier.  Use Left = Left, Right = Right, and discard T and Q if present.&lt;br /&gt;
&lt;br /&gt;
== G-Format ==&lt;br /&gt;
&lt;br /&gt;
A G-Format file is any common multi-channel surround file containing an &lt;br /&gt;
Ambisonic soundfield pre-decoded to its speaker feeds. This allows &lt;br /&gt;
listeners who do not own an Ambisonic decoder to enjoy Ambisonics.&lt;br /&gt;
&lt;br /&gt;
The sound engineer creates a set of speaker feeds for a particular number &lt;br /&gt;
and arrangement of speakers. This is typically four speakers arranged in &lt;br /&gt;
a square. Other speaker arrangements are also possible&lt;br /&gt;
&lt;br /&gt;
In Ambisonics, all speakers cooperate to localise sounds in any particular &lt;br /&gt;
direction; there are no &amp;quot;surround speakers&amp;quot; as such. Because of this, best &lt;br /&gt;
results when playing G-Format recordings (and Ambisonics in general) are &lt;br /&gt;
obtained when the speakers are matched. The easiest way to accomplish this &lt;br /&gt;
is to use identical speakers. Unfortunately, many home theatre systems &lt;br /&gt;
include a centre-front speaker which is different from the other speakers.&lt;br /&gt;
&lt;br /&gt;
An easy way to cope with this is adopted on G-Format recordings commercially &lt;br /&gt;
released on DVD-A by [http://www.wyastone.co.uk/nrl/dvd.html Nimbus Records]. &lt;br /&gt;
They use four speakers in a square, the centre-front speaker being unused. &lt;br /&gt;
&lt;br /&gt;
=== Recovering B-Format from G-Format ===&lt;br /&gt;
It is sometimes possible to recover the original B-Format channels from &lt;br /&gt;
the G-Format speaker feeds. The recovered B-Format channels can then be &lt;br /&gt;
fed to a decoder in the listener's living room, and so accommodate a &lt;br /&gt;
speaker arrangement different from the one used when the G-Format file &lt;br /&gt;
was produced. Each B-Format channel is recovered using a weighted &lt;br /&gt;
combination of the speaker feeds in the G-Format file. The conversion &lt;br /&gt;
coefficients required for the B-Format recovery depend on the particular &lt;br /&gt;
speaker arrangment chosen by the sound engineer. (Obviously, if a &lt;br /&gt;
B-Format version of the file also exists then it can be fed to the &lt;br /&gt;
decoder directly without the need for G-Format.)&lt;br /&gt;
&lt;br /&gt;
File formats for G-Format include all multi-channel formats that contain &lt;br /&gt;
speaker feeds. However, these will not contain information to allow the &lt;br /&gt;
B-Format channels to be automatically recovered. A [http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot; file format] &lt;br /&gt;
(based on WAVE-EX) for downloadable G-Format files, which will allow &lt;br /&gt;
the B-Format channels to be automatically recovered, has been proposed. &lt;br /&gt;
Such file formats have the advantage of storing the conversion &lt;br /&gt;
coefficients at the time the G-Format file is created. This is the only &lt;br /&gt;
time the required information is readily available.&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from G-Format ===&lt;br /&gt;
Converting a G-Format file to a mono or stereo file is straightforward. &lt;br /&gt;
First, recover the B-Format channels using the conversion coefficients &lt;br /&gt;
contained in the file. Second, follow the advice given above for &lt;br /&gt;
[[#Default channel conversions from B-Format|Default channel conversions from B-Format]].&lt;br /&gt;
&lt;br /&gt;
== Resources on Ambisonics ==&lt;br /&gt;
&lt;br /&gt;
*There is a set of [http://en.wikipedia.org/wiki/Ambisonics Wikipedia articles on Ambisonics].&lt;br /&gt;
*Of particular relevance is the [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] in use for downloadable B-Format files.  However the &amp;quot;.amb&amp;quot; spec has some limitations which it would be useful to overcome.&lt;br /&gt;
*There is also the [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] for downloadable two-channel UHJ files, but it is not currently in use.  The &amp;quot;.uhj&amp;quot; spec also has some limitations which it would be useful to overcome.&lt;br /&gt;
*[http://members.tripod.com/martin_leese/Ambisonic/ This website] has many pages on Ambisonics (including at the bottom links to other Ambisonic websites).&lt;br /&gt;
*[http://www.ambisonic.net/ Ambisonic.Net website] includes a detailed series of descriptive and practical articles on current and past Ambisonic techniques with links to tools, other sites and additional material.&lt;br /&gt;
*[http://ambisonic.info/info/ricardo.html Richard Lee's page on Ambisonics] contains articles on shelf filters and the design of Ambisonic decoders.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developers stuff]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/XMLEmbedding</id>
		<title>XMLEmbedding</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/XMLEmbedding"/>
				<updated>2012-06-12T17:40:44Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Made clear spec is for both XML files and XML streams&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
Schemes such as [[M3F]] require an embedding in physical Ogg streams. This page is for development of a specification for embedding XML files and XML streams in Ogg. The final version will probably look like the CMML mapping.&lt;br /&gt;
&lt;br /&gt;
==Current plans==&lt;br /&gt;
(taken from mailing list discussions)&lt;br /&gt;
&lt;br /&gt;
===Magic number?===&lt;br /&gt;
&lt;br /&gt;
Should we have a magic number for this? By convention the beginning of stream packet for codecs in Ogg identifies the packet, Strictly speaking we will have a magic number regardless, but should it be:&lt;br /&gt;
&lt;br /&gt;
* '&amp;lt;?xml' the opening of the XML declaration. In this instance the demuxer would pass this upwards to an XML parser which would derive from the rest of the bos packet what to do with it.&lt;br /&gt;
&lt;br /&gt;
* Some other sequence before the XML starts, identifying the particular stream type, probably with a version number which will imply the contents to be some form of XML. CMML does this. This may avoid the almost inevitable problem of some implementor assuming '&amp;lt;?xml' is always metadata, it may also reduce the difficulty of writing a demuxer. Demuxers could still peek ahead and try to look for an xml namespace it recognizes.&lt;br /&gt;
&lt;br /&gt;
===Division into packets===&lt;br /&gt;
&lt;br /&gt;
The raw XML should ideally be broken into packets in a way that the loss of some packets, while destroying information, does not result in an invalid stream. Generally this means:&lt;br /&gt;
&lt;br /&gt;
* The bos packet should consist of any initial processing directives, namespace declarations, and the root tag if there is one.&lt;br /&gt;
* Subsequent packets should be valid xml stanzas, similar to the [http://xmpp.org/ XMPP] definition, which concatenated are also valid xml.&lt;br /&gt;
* The eos packet can be empty. If there was a root tag in the bos packet, it should be closed here.&lt;br /&gt;
&lt;br /&gt;
Parsers should close all open tags on encountering eos to handle truncated stream conditions. Encountering eos here means either a after processing a packet marked with the eos flag, having finished on an Ogg page with the eos flag set, or a virtual eos, implied by encountering bos flags for a new chain segment.&lt;br /&gt;
&lt;br /&gt;
===Granulepos mapping===&lt;br /&gt;
&lt;br /&gt;
c.f. Silvia Pfeiffer on [http://lists.xiph.org/pipermail/ogg-dev/2007-September/000570.html ogg-dev]:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;I suggest using the solution that CMML has come to use.&lt;br /&gt;
&lt;br /&gt;
The XML file is essentially the same as an unencapsulated physical bitstream.&lt;br /&gt;
&lt;br /&gt;
Then there is a mapping into a logical bitstream, where some of the&lt;br /&gt;
default information - in particular the XML header - are split off and&lt;br /&gt;
put into the bos packet - nothing really needs to go into the eos&lt;br /&gt;
packet. There's also a magic number and a version number.&lt;br /&gt;
&lt;br /&gt;
Also, use the granulepos scheme that we defined for CMML pages- you're&lt;br /&gt;
going to make your lives easier.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That is, use a split granulepos scheme like keyframe codecs to indicate the offset to the previous packet.&lt;br /&gt;
Whether this is appropriate for a given XML steam will depend on its application. Metadata that applies&lt;br /&gt;
to the whole stream should just be included at the beginning, like OggSkeleton, and the granulepos can just&lt;br /&gt;
all be zero. Time-based data, like a slideshow or 'currently playing' for radio streams, should be muxed&lt;br /&gt;
throughout the stream.&lt;br /&gt;
&lt;br /&gt;
Given that the CMML mapping would be sensible should we simply hijack&lt;br /&gt;
CMML for this use (i.e. just put the metadata XML in a CMML stream?&lt;br /&gt;
Arguments against this: it means stream parsing is needed to find out&lt;br /&gt;
whether the CMML stream contains metadata too and possibly complicates&lt;br /&gt;
CMML handling.  If not hijacking CMML it might be worth having a flag&lt;br /&gt;
indicating whether the stream is continuous or secondary header only.&lt;br /&gt;
&lt;br /&gt;
===ID===&lt;br /&gt;
It seems reasonable to use the fishbone message fields in [[Ogg Skeleton]] to supply an ID to be associated&lt;br /&gt;
with each logical stream (via an &amp;quot;id:&amp;quot; message header field).  The other side of this problem is how&lt;br /&gt;
these should be addressed.  The physical bitstream itself shouldn't need one, but do we worry about&lt;br /&gt;
chained/concatenated streams?&lt;br /&gt;
&lt;br /&gt;
The Skeleton section of the [http://annodex.net/TR/draft-pfeiffer-annodex-02.html#anchor8 Annodex bitstream format]&lt;br /&gt;
specifies that mandatory header fields MUST be US-ASCII encoded, but allows UTF-8 for other message fields. This&lt;br /&gt;
does not appear to be a problem for an ID field. [http://www.ietf.org/rfc/rfc2822.txt RFC2822] limits message header&lt;br /&gt;
fields to 998 bytes (excluding CRLF) and spaces are not normally permitted in IDs, so IDs would be limited to 994&lt;br /&gt;
bytes long.&lt;br /&gt;
&lt;br /&gt;
===Mime type===&lt;br /&gt;
For use in Skeleton.  [[MIME Types and File Extensions]] gives 'text/cmml' for 'CMML without container', if that&lt;br /&gt;
can be used by Skeleton to describe packetized CMML in Ogg then there's no issue here; 'text/xml' or whatever&lt;br /&gt;
is appropriate could be used.&lt;br /&gt;
&lt;br /&gt;
==Test Files==&lt;br /&gt;
It is a barrier to the widespread introduction of any metadata format that the [http://www.xiph.org/vorbis/doc/Vorbis_I_spec.html Vorbis I spec] only requires players to support an unaccompanied [[Vorbis]] stream; many [[Ogg]] [[Vorbis]] players will refuse to play augmented streams, especially if the content is not recognised (although many recent players do succeed). As a prelude to development of an [[Ogg]] metadata format it will be necessary to encourage developers to introduce more flexible [[Ogg]] filters.&lt;br /&gt;
&lt;br /&gt;
One of the intentions of the current work on [[MIME Types and File Extensions]] is to superseede the Vorbis I spec allowing all types of metadata to be included and encouraging program writers to ignore unrecognised content in these files. The metadata embedded Ogg files below are therefore '.oga' served as audio/x-ogg. '''You may want to use your browser's''' ''save as'' '''function if you have trouble opening the links.'''&lt;br /&gt;
&lt;br /&gt;
To help with testing the following files are available, based on a speculative (and very basic) metadata format. In each case the derivative files are under the same license as the original. Two sets are provided to allow chained stream testing. On some players the seek tests produce an annoying clicking&amp;amp;mdash;if you like the music get the originals. Please notice that filenames are mixed case&lt;br /&gt;
and add a note in discussion if you find a broken link.&lt;br /&gt;
&lt;br /&gt;
Original (Vorbis I): [http://music.ibiblio.org/pub/multimedia/pandora/vorbis/contrib/Debbie_Hu/Bach-Busoni_Nun_freut_euch_3.ogg Bach - Nun freut euch lieben Christen] performed by Debbie Hu, from [http://music.ibiblio.org/pub/multimedia/pandora/mp3/Read.html Pandora Records] and available under the [http://www.eff.org/IP/Open_licenses/eff_oal.php EFF OAL].&lt;br /&gt;
* The [http://www.srcf.ucam.org/~ibm21/Bach-Busoni_Nun_freut_euch_3.rdf.oga Ogg-Vorbis-XML version]&lt;br /&gt;
* The XML/RDF description as a [http://www.srcf.ucam.org/~ibm21/Bach-Busoni_Nun_freut_euch_3.xml separate document]&lt;br /&gt;
* With the XML page [http://www.srcf.ucam.org/~ibm21/Bach-Busoni_Nun_freut_euch_3.multi.oga repeated after every fifth Vorbis page]. (This is not a suggested way to add meta data, just a way of testing how players handle seeking in the presence of an unknown stream.)&lt;br /&gt;
* With the XML page repeated after every fifth Vorbis page and the [http://www.srcf.ucam.org/~ibm21/Bach-Busoni_Nun_freut_euch_3.end.oga stream ending on a meta data page] (breaks simpler track-length strategies, again not a suggested format for metadata)&lt;br /&gt;
&lt;br /&gt;
Original (Vorbis I): [http://ccmixter.org/media/files/disharmonic/2958/ On The Moon (Trip Hop mix)] by [http://ccmixter.org/media/people/disharmonic/ Disharmonic], from [http://ccmixter.org/ ccMixter] and available under the Creative Commons [http://creativecommons.org/licenses/by/2.5/ Attribution 2.5] license.&lt;br /&gt;
* The XML/RDF description as a [http://www.srcf.ucam.org/~ibm21/disharmonic_-_On_The_Moon_(Trip_Hop_mix).xml separate document]&lt;br /&gt;
* With the XML page [http://www.srcf.ucam.org/~ibm21/disharmonic_-_On_The_Moon_(Trip_Hop_mix).multi.oga repeated after every fifth Vorbis page].&lt;br /&gt;
* With the XML page repeated after every fifth Vorbis page and the [http://www.srcf.ucam.org/~ibm21/disharmonic_-_On_The_Moon_(Trip_Hop_mix).end.oga stream ending on a meta data page]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/VorbisComment</id>
		<title>VorbisComment</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/VorbisComment"/>
				<updated>2012-06-09T15:55:41Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* ISO proposal */ Added ISO number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VorbisComment is a base-level [[Metadata]] format initially created for use with Ogg [[Vorbis]]. It has since been adopted in the specifications of &lt;br /&gt;
[[Ogg]] encapsulations for other Xiph.Org codecs including [[Theora]], [[Speex]] and [[FLAC]].&lt;br /&gt;
&lt;br /&gt;
The use case for VorbisComment is given as:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
... much like someone jotting a quick note on the bottom of a CDR. It should be a little information to remember the disc by and explain it to others; a short, to-the-point text note that need not only be a couple words, but isn't going to be more than a short paragraph.[http://xiph.org/vorbis/doc/v-comment.html]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically used to provide basic information like the title and copyright holder of a work.&lt;br /&gt;
As such the scope is similar to that of ID3 tags used with MP3 files.&lt;br /&gt;
VorbisComment is widely supported on [[VorbisHardware|portable Ogg Vorbis players]] as well as streaming, editing and playback software.&lt;br /&gt;
&lt;br /&gt;
Although the syntax of VorbisComment is well-specified, various conventions exist for the field names in use.&lt;br /&gt;
The goal for this page is to codify best practices and collect proposals for standardization of VorbisComment field names.&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically encoded as the second packet in a codec stream. When VorbisComments are included in the first (ie. Theora) stream of an Ogg Theora file, they are assumed to cover all streams in the multiplexed group. [http://lists.xiph.org/pipermail/vorbis-dev/2008-December/019676.html]&lt;br /&gt;
&lt;br /&gt;
VorbisComment is the simplest and most widely-supported mechanism for storing metadata with Xiph.Org codecs. For other existing and proposed mechanisms, see [[Metadata]].&lt;br /&gt;
&lt;br /&gt;
== Recommended field names ==&lt;br /&gt;
&lt;br /&gt;
The current [http://xiph.org/vorbis/doc/v-comment.html VorbisComment recommendation] contains a recommended set&lt;br /&gt;
of field names for comments.&lt;br /&gt;
&lt;br /&gt;
== Proposed field names ==&lt;br /&gt;
&lt;br /&gt;
Some proposals for extra field names:&lt;br /&gt;
&lt;br /&gt;
* [http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html Ogg Vorbis Comment Field Recommendations]&lt;br /&gt;
* [http://gophernet.org/articles/vorbiscomment/ Proposals for extending Ogg Vorbis comments]&lt;br /&gt;
* [[Field names]]&lt;br /&gt;
* [[Chapter Extension]]&lt;br /&gt;
&lt;br /&gt;
Comments are intended to be free-form, but for the purposes of interoperability, it is helpful to define tag sets for particular applications, and provide some guidelines for machine parsing. Note that some field names have to be non-free-form to achieve machine parsing.&lt;br /&gt;
&lt;br /&gt;
=== Cover art ===&lt;br /&gt;
&lt;br /&gt;
==== METADATA_BLOCK_PICTURE ====&lt;br /&gt;
The [http://flac.sourceforge.net/format.html#metadata_block_picture binary FLAC picture structure] is base64 encoded and placed within a VorbisComment with the tag name &amp;quot;METADATA_BLOCK_PICTURE&amp;quot;. This is the preferred and recommended way of embedding cover art within VorbisComments. It has the following benefits:&lt;br /&gt;
&lt;br /&gt;
* Easy to use for developers since the identical (or similar) structure is also used by FLAC and MP3.&lt;br /&gt;
* The cover art can either be linked or embedded within the stream.&lt;br /&gt;
* Common picture file formats are supported (jpg and png).&lt;br /&gt;
* A description may be included and the picture type (front cover, back cover...) and image mime type are provided.&lt;br /&gt;
* Base64 encoded data is invariant under UTF-8 and a valid UTF-8 string, so obeys the rules for comment data.&lt;br /&gt;
&lt;br /&gt;
Implementations interpreting or writing picture blocks should note the following details:  &lt;br /&gt;
&lt;br /&gt;
===== General encoding/decoding =====&lt;br /&gt;
* Failure to decode a picture block should not prevent playback of the file (failure to deal with the particularly large packet required by the comment header is a separate problem with the player implementation).&lt;br /&gt;
* Base64 encoding is used as in section 4 of [http://www.faqs.org/rfcs/rfc4648.html RFC4648]. We note that line feeds are not allowed and padding characters ('=') are required.&lt;br /&gt;
* Applications adding picture blocks should inform users that some applications or hardware may not support them and should provide a method to remove the blocks (this is expected to be trivial for applications capable of adding them).&lt;br /&gt;
&lt;br /&gt;
===== Block handling =====&lt;br /&gt;
* The unencoded format is that of the [http://flac.sourceforge.net/format.html#metadata_block_picture FLAC picture block].  The fields are stored in big endian order as in FLAC, picture data is stored according to the relevant standard.&lt;br /&gt;
* Picture data should be stored in PNG or JPEG formats or linked separately.  It is recommended readers support both PNG and JPEG&lt;br /&gt;
* Allowed values for the MIME string are &amp;quot;image/&amp;quot;, &amp;quot;image/png&amp;quot;, &amp;quot;image/jpeg&amp;quot; and &amp;quot;--&amp;gt;&amp;quot; (the link indicator) and &amp;quot;&amp;quot; (length 0).  An empty MIME string indicates type &amp;quot;image/&amp;quot;&lt;br /&gt;
* Fields present in the ID3V2.4.0 [http://www.id3.org/id3v2.4.0-frames#line-1085 Attached Picture Frame] (APIC Frame) take the same interpretation as in the ID3V2.4.0 format with the following exceptions (following the FLAC format):&lt;br /&gt;
** The description field is UTF-8 (encoded without ID3V2's initial 'encoding byte')&lt;br /&gt;
** String fields are not null terminated: their preceding length fields are used instead.&lt;br /&gt;
&lt;br /&gt;
===== Linked images =====&lt;br /&gt;
Support for linked images is optional for applications handling picture blocks. When a linked picture is indicated the following rules are observed:&lt;br /&gt;
* The picture data is a complete URL indicating the picture to be used, relative URLs are allowed (note relative URLs do not start with a protocol specifier and are retrieved with the same protocol as the file being processed).&lt;br /&gt;
* Links are ISO-8859-1 encoded&lt;br /&gt;
* Applications MAY retrieve linked images via the file:// protocol.&lt;br /&gt;
* Applications MUST obtain user approval if they wish to retrieve images via remote protocols.&lt;br /&gt;
* Link targets may become unavailable: applications supporting linked images SHOULD recover gracefully from this and MAY report the absence to the user.&lt;br /&gt;
* The type of the linked file is not restricted to JPEG and JFIF and applications MAY support other formats&lt;br /&gt;
* If the application does not support linked images, the target is unavailable, not permitted or an unknown format the picture block should be skipped.&lt;br /&gt;
* Applications may make links available to users, this is of particular use when links are unsupported or of unsupported type&lt;br /&gt;
&lt;br /&gt;
===== Image dimension fields =====&lt;br /&gt;
* The height, width, colour depth and 'number of colours' fields are for purely informational purposes.  Applications MUST NOT use them for decoding purposes, but MAY display them to the user and MAY use them to make a decision whether to skip the block (for example if selecting the most appropriate among multiple blocks).&lt;br /&gt;
* Applications writing picture blocks MUST set these fields correctly OR set them all to zero.&lt;br /&gt;
&lt;br /&gt;
===== Multiple blocks =====&lt;br /&gt;
* Multiple image blocks MAY be included as separate METADATA_BLOCK_PICTURE comments.&lt;br /&gt;
* There may only be one each of picture type (APIC type) 1 and 2 in a Vorbis stream.&lt;br /&gt;
* Block order is significant for some types and applications should preserve the comment order when reading or writing VorbisComment headers. The block order may be used to determine the order pictures are presented to the user.&lt;br /&gt;
&lt;br /&gt;
===== Playback tests =====&lt;br /&gt;
Embedding a picture into the file might break playback of existing players (especially hardware players, software players could be updated easily). A workaround would be to link the picture within the tag. Furthermore users should become informed in some way that embedding a picture COULD cause problems (as stated above).&lt;br /&gt;
&lt;br /&gt;
In order to test if there are playback problems, there are test files available [http://www.audioranger.com/coverart_mk.ogg here] and [http://www.audioranger.com/coverart_im.ogg here]. You're invited to download one of these test files (or both), test playback on your software and hardware players, and report the results here on the wiki.&lt;br /&gt;
&lt;br /&gt;
'''Tested software players'''&lt;br /&gt;
* Audacious 1.5.1: no problem&lt;br /&gt;
* foobar2000: no problems&lt;br /&gt;
* Gnome: built-in preview playback: no problem&lt;br /&gt;
* MediaMonkey: no problems&lt;br /&gt;
* Media Player Classic (unicode build) 6.4.9.1: no problem&lt;br /&gt;
* RoarAudio: no problems (server and client side)&lt;br /&gt;
* Rythmbox 0.11.6: no problem&lt;br /&gt;
* Totem 2.24.3: no problem&lt;br /&gt;
* VLC 0.9.4/0.9.6: doesn't play&lt;br /&gt;
** Patch send to VLC to fix this - should get in 1.0.0&lt;br /&gt;
* WinAmp: no problems&lt;br /&gt;
* Windows Media Player 11: no problem&lt;br /&gt;
* XMPlay 3.4.2: no problem&lt;br /&gt;
* Nero ShowTime: no problem&lt;br /&gt;
* Songbird 1.8.0: no problem, able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested hardware players'''&lt;br /&gt;
* Logitech Squeezebox: Supported as of January 2009 (server version 7.3.3)&lt;br /&gt;
* Sandisk Sansa Fuze (Firmware 01.01.22): Hangs up when trying to playback the demo file - had to reset the player&lt;br /&gt;
** Note: The &amp;quot;Fuze&amp;quot; can play ogg vorbis files which have embedded pictures from &amp;quot;Easytag&amp;quot;&lt;br /&gt;
* Cowon iAudio U3 (Firmware 1.29, 4 GB): works&lt;br /&gt;
* Cowon D2: no problem (latest Firmware: 2.59, 8GB Version)&lt;br /&gt;
* iRiver E100: no problem (latest Firmware: 1.16 G_U, 8GB Version)&lt;br /&gt;
* Samsung YP-R1: no problem (latest Firmware: 3.07, 16GB Version)&lt;br /&gt;
&lt;br /&gt;
'''Tested tag editors'''&lt;br /&gt;
* Easytag 2.1.6: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.42e: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.47b: is able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested other software'''&lt;br /&gt;
* Total Recorder: capable to work with artwork according to the specification.&lt;br /&gt;
&lt;br /&gt;
==== Unofficial COVERART field (deprecated) ====&lt;br /&gt;
There also exists an unofficial, not well supported comment field named &amp;quot;COVERART&amp;quot;. It includes a base64-encoded string of the binary picture data (usually a JPEG file, but this could be a different file format too). The disadvantages are that&lt;br /&gt;
* no additional information like a description about the cover art or its type (front cover, back cover etc.) is provided,&lt;br /&gt;
* the cover art can't be linked&lt;br /&gt;
* the base64 string is displayed within many tag editors as plain text because of their missing support for this &amp;quot;COVERART&amp;quot; field&lt;br /&gt;
* it may breaks the playback on hardware players because of a large VorbisComment header&lt;br /&gt;
The unofficial &amp;quot;COVERART&amp;quot; field is supported for example by such software as AudioShell (http://www.softpointer.com/AudioShell.htm) - read/write, and Total Recorder (http://www.totalrecorder.com/)- only read.&lt;br /&gt;
&lt;br /&gt;
===== Conversion to METADATA_BLOCK_PICTURE =====&lt;br /&gt;
Old &amp;quot;COVERART&amp;quot; tags should be converted to the new METADATA_BLOCK_PICTURE tag (see above for its specification). This conversion is straightforward and is suggested to be done the following way:&lt;br /&gt;
&lt;br /&gt;
* Decode the COVERART tag. A program MAY check the signature of the embedded picture in order to determine whether it is an allowed type. Lossless conversion from disallowed types to allowed types MAY be carried out.&lt;br /&gt;
* Fill out the FLAC block with the binary picture data. If the MIME type of the picture is unknown or can't be determined, the MIME type &amp;quot;image/&amp;quot; MAY be used instead. Supplying image dimensions, color depth etc. is optional (see specification above).&lt;br /&gt;
* In the absence of other information the picture type 'Other' should be used. Applications may want to allow users to select a default type or specify the type to use.&lt;br /&gt;
* Encode the new picture block, remove the COVERART tag from the comments and add the METADATA_BLOCK_PICTURE entry.&lt;br /&gt;
* If multiple tags are being converted the order of the METADATA_BLOCK_PICTURE tags should be the same as that of the COVERART tags they are replacing.&lt;br /&gt;
&lt;br /&gt;
=== Chapter Extension ===&lt;br /&gt;
&lt;br /&gt;
These are used to include navigation points, for example:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHAPTER001=00:00:00.000--&amp;gt;00:05:00.000&lt;br /&gt;
CHAPTER001NAME=Chapter 1&lt;br /&gt;
CHAPTER001URL=http://...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the [[Chapter Extension]] page for more details.&lt;br /&gt;
&lt;br /&gt;
=== Date and time ===&lt;br /&gt;
&lt;br /&gt;
The goal is to specify '''one''' standard format for describing date and/or time.&lt;br /&gt;
&lt;br /&gt;
==== ISO proposal ====&lt;br /&gt;
The date format for any field describing a date must follow the ISO 8601 standard: YYYY-MM-DD, shortened to just YYYY-MM or simply YYYY.&lt;br /&gt;
&lt;br /&gt;
We have been recommending this usage with the DATE tag for some time. It is proposed that the spec be amended to include this information for machinability.&lt;br /&gt;
&lt;br /&gt;
The time format for any field '''except''' track duration must be specified with leading T and ending with a time zone. Schemas with and without dates: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
YYYY-MM-DDTHH:MM:SS+TS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
THH:MM+TZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ENCODER ===&lt;br /&gt;
&lt;br /&gt;
The goal is to attribute encoder software. This value can be used in the future to determine which files can be improved by being re encoded with a newer version.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': What is lacking from the vendor string present in the spec from the start? All libvorbis and encoder tunings I'm aware of have recorded the encoder version here.&lt;br /&gt;
&lt;br /&gt;
Rationale for not using the vendor string:&lt;br /&gt;
* The vendor string is usually used to store the name and version of the underlying codec library&lt;br /&gt;
* The idea of ENCODER is to store the name of the user-visible application, for example &amp;lt;tt&amp;gt;ffmpeg2theora&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* It can be useful for debugging to store the name and version of the calling application.&lt;br /&gt;
* The libvorbis API does not let applications override the vendor string.&lt;br /&gt;
&lt;br /&gt;
==== Proposal: Inclusion of URL in ENCODER value ====&lt;br /&gt;
The encoder field name must be a unique URL providing both encoder software name and version. If no unique URL address is available were both name and version is available; then the version number can be specified by separating with a space character. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ENCODER=http://flac.sourceforge.net/ 1.2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that ffmpeg2theora uses ENCODER, but does not include a url. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
&lt;br /&gt;
==== Proposal: ENCODED_BY ====&lt;br /&gt;
&lt;br /&gt;
I've also seen ENCODED_BY. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
: ENCODED_BY is usually the person who did the encoding. This should not be part of the recommendation due to legal problems around deliberate and accidental distribution to third parties. Basically the name of the encoder should not be included to protect encoders from their own egos and possible legal prosecution. ''Added by Aleksandersen on September 20, 2007''&lt;br /&gt;
&lt;br /&gt;
=== Improving license data ===&lt;br /&gt;
&lt;br /&gt;
The goal is to provide a method for proclaiming license and copyright information (basically clarifying ‘distribution rights (if any) and ownership’).&lt;br /&gt;
&lt;br /&gt;
The [http://xiph.org/vorbis/doc/v-comment.html specification document] describes LICENSE and COPYRIGHT fields. But is not clear enough about whether these should be machine-readable.&lt;br /&gt;
&lt;br /&gt;
We should consider working together with Creative Commons to have complementary and interlinked information on the Creative Commons and Xiph wikis. Refer to the [http://wiki.creativecommons.org/Ogg Ogg page] in the Creative Commons wiki.&lt;br /&gt;
&lt;br /&gt;
==== New RIGHTS field name proposal ====&lt;br /&gt;
One proposal is to replace the COPYRIGHT and LICENSE field names with RIGHTS. RIGHTS must be a human-readable copyright statement. Basic example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But this is not machine-readable. Adding two complementary field names should do the trick: RIGHTS-DATE, describing the date of copyright; and RIGHTS-URI, providing a method for linking to a license. Software agents can assume that multiple songs uses the sameURIs, such as in the case for Creative Commons. Full example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © 2019 Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-DATE=2019-04&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-URI=http://somewhere.com/license.xhtml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Software such as for multimedia management and playback are encouraged to display the RIGHTS statement as a linked phrase using RIGHTS-URI.&lt;br /&gt;
&lt;br /&gt;
RIGHTS-DATE does not need to be displayed as it is required in the human readable version by international copyright agreements. RIGHTS-DATE can be used to determine when a copyrighted work falls under the public domain and related matters. (''The Beatles''' copyright on their original studio recordings (not the remixes) are soon expiering. So mechanisms such as the RIGHTS-DATE are indeed required in music management and filesharing software!)&lt;br /&gt;
&lt;br /&gt;
To remain machine-readable it would be required to have at most one instance of each RIGHTS field name. All fields would of course remain optional.&lt;br /&gt;
&lt;br /&gt;
The ''Dublin Core Metadata Initiative'' recommends the use of ‘rights’ to describe license and copyright matters. The web feed format Atom 1.0 has implemented a rights element in their specification.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': The triplet RIGHTS, RIGHTS-DATE, RIGHTS-URI is an example of structured metadata. VorbisComments are inherently unstructured, and this should be respected. Structured metadata belongs in a different stream, such as XML (using [[Metadata#XMLEmbedding|XMLEmbedding]]).&lt;br /&gt;
&lt;br /&gt;
==== Improving existing fields proposal ====&lt;br /&gt;
Similar to the DATE tag above, we have generally recommended that a URL uniquely identifying the license be included in the LICENSE field to allow machine identification of the license. This is in agreement with the proposal in the Creative Commons wiki. Since the COPYRIGHT field is a human-readable statement of the copyright, like the proposed RIGHTS tag above, some people include a license url there. Therefore if a url can't be found in a LICENSE tag if any, applications should use one from the COPYRIGHT tag, if any. Contact information for verification, attribution, relicensing, etc. can be obtained from the COPYRIGHT field, but Creative Commons also recommend a separate CONTACT tag for this information. This is reasonable, so we propose it be included.&lt;br /&gt;
&lt;br /&gt;
=== Geo Location fields ===&lt;br /&gt;
&lt;br /&gt;
The existing LOCATION field is meant to carry a human readable location for the recording/creation of the media file. &lt;br /&gt;
&lt;br /&gt;
Having geographical coordinates according to [http://en.wikipedia.org/wiki/World_Geodetic_System WGS84] can be useful as well, especially in a form that can be machine parsed. The agreed format is similar to this [http://en.wikipedia.org/wiki/Geo_(microformat) geo microformat]:&lt;br /&gt;
&lt;br /&gt;
GEO_LOCATION= ''latitude'' ; ''longitude'' [; ''elevation'' ] &lt;br /&gt;
&lt;br /&gt;
where each value is a fixed point decimal number formatted in the C locale with a period (.) for the radix. Values are separated with a ';' and white space is not significant. The elevation is optional.&lt;br /&gt;
&lt;br /&gt;
''latitude'' is the geo latitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the equator, negative values for southern latitudes) (C double).&lt;br /&gt;
&lt;br /&gt;
''longitude'' is the geo longitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, negative values for western longitudes). (C double).&lt;br /&gt;
&lt;br /&gt;
''elevation'' is the geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level) (C double).&lt;br /&gt;
&lt;br /&gt;
=== Replay Gain ===&lt;br /&gt;
&lt;br /&gt;
The REPLAYGAIN_* fields implement the Replay Gain proposal for storing a track relative volume adjustment, which can be used to &amp;quot;fix&amp;quot; quiet or loud sounding Vorbis or FLAC streams. The set of tags is intended to be machine parsed, and has the following form: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REPLAYGAIN_TRACK_GAIN=-7.03 dB&lt;br /&gt;
REPLAYGAIN_TRACK_PEAK=1.21822226&lt;br /&gt;
REPLAYGAIN_ALBUM_GAIN=-6.37 dB&lt;br /&gt;
REPLAYGAIN_ALBUM_PEAK=1.21822226&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See http://www.replaygain.org/ for detailed information about Replay Gain and how the different values are calculated.&lt;br /&gt;
&lt;br /&gt;
=== Tantalos resource ID ===&lt;br /&gt;
Tantalos is a protocol to auto locate and access content in a network scope (normally 'LAN' but can also be bigger like 'company network'). It uses UUIDs to identify resources. There are two groups of those UUIDs: IDs generated using the meta data of the track and IDs generated in some other way (for example random IDs, see UUID specs). The later group may need to be passed with the track. The VCLT Playlist format (see below) uses 'HASH={UUID}id...' with hex-dash format for this (HASH={UUID}e278173d-4d6d-4c66-95ec-4ec85eedc7d1).&lt;br /&gt;
--[[User:Ph3-der-loewe|Ph3-der-loewe]] 02:05, 13 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
== Other (non-proposed field names) ==&lt;br /&gt;
=== VCLT playlist format ===&lt;br /&gt;
The VCLT playlist format uses some ''keys'' which look like VorbisComments but they aren't nor they are proposed to become (expect for HASH). This includes the keys STREAMURL, FILENAME, FILEURL, LENGTH, HASH (see above for this one), SIGNALINFO, AUDIOINFO and OFFSET. You can find more infos about those at [https://bts.keep-cool.org/wiki/Specs/VCLT https://bts.keep-cool.org/wiki/Specs/VCLT].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
* [http://sbooth.org/importers/ OggImporter] &amp;amp;ndash; imports Ogg Vorbis and Ogg FLAC files to Spotlight.&lt;br /&gt;
* vorbiscomment &amp;amp;ndash; a commandline tool, part of [[VorbisTools]].&lt;br /&gt;
* [http://www.xiph.org/oggz/ oggz-comment] &amp;amp;ndash; a commandline tool, part of [[Oggz]] tool. It can add comments to multitrack and video files.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/VorbisComment</id>
		<title>VorbisComment</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/VorbisComment"/>
				<updated>2012-06-08T16:51:08Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Added Chapter Extension&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VorbisComment is a base-level [[Metadata]] format initially created for use with Ogg [[Vorbis]]. It has since been adopted in the specifications of &lt;br /&gt;
[[Ogg]] encapsulations for other Xiph.Org codecs including [[Theora]], [[Speex]] and [[FLAC]].&lt;br /&gt;
&lt;br /&gt;
The use case for VorbisComment is given as:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
... much like someone jotting a quick note on the bottom of a CDR. It should be a little information to remember the disc by and explain it to others; a short, to-the-point text note that need not only be a couple words, but isn't going to be more than a short paragraph.[http://xiph.org/vorbis/doc/v-comment.html]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically used to provide basic information like the title and copyright holder of a work.&lt;br /&gt;
As such the scope is similar to that of ID3 tags used with MP3 files.&lt;br /&gt;
VorbisComment is widely supported on [[VorbisHardware|portable Ogg Vorbis players]] as well as streaming, editing and playback software.&lt;br /&gt;
&lt;br /&gt;
Although the syntax of VorbisComment is well-specified, various conventions exist for the field names in use.&lt;br /&gt;
The goal for this page is to codify best practices and collect proposals for standardization of VorbisComment field names.&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically encoded as the second packet in a codec stream. When VorbisComments are included in the first (ie. Theora) stream of an Ogg Theora file, they are assumed to cover all streams in the multiplexed group. [http://lists.xiph.org/pipermail/vorbis-dev/2008-December/019676.html]&lt;br /&gt;
&lt;br /&gt;
VorbisComment is the simplest and most widely-supported mechanism for storing metadata with Xiph.Org codecs. For other existing and proposed mechanisms, see [[Metadata]].&lt;br /&gt;
&lt;br /&gt;
== Recommended field names ==&lt;br /&gt;
&lt;br /&gt;
The current [http://xiph.org/vorbis/doc/v-comment.html VorbisComment recommendation] contains a recommended set&lt;br /&gt;
of field names for comments.&lt;br /&gt;
&lt;br /&gt;
== Proposed field names ==&lt;br /&gt;
&lt;br /&gt;
Some proposals for extra field names:&lt;br /&gt;
&lt;br /&gt;
* [http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html Ogg Vorbis Comment Field Recommendations]&lt;br /&gt;
* [http://gophernet.org/articles/vorbiscomment/ Proposals for extending Ogg Vorbis comments]&lt;br /&gt;
* [[Field names]]&lt;br /&gt;
* [[Chapter Extension]]&lt;br /&gt;
&lt;br /&gt;
Comments are intended to be free-form, but for the purposes of interoperability, it is helpful to define tag sets for particular applications, and provide some guidelines for machine parsing. Note that some field names have to be non-free-form to achieve machine parsing.&lt;br /&gt;
&lt;br /&gt;
=== Cover art ===&lt;br /&gt;
&lt;br /&gt;
==== METADATA_BLOCK_PICTURE ====&lt;br /&gt;
The [http://flac.sourceforge.net/format.html#metadata_block_picture binary FLAC picture structure] is base64 encoded and placed within a VorbisComment with the tag name &amp;quot;METADATA_BLOCK_PICTURE&amp;quot;. This is the preferred and recommended way of embedding cover art within VorbisComments. It has the following benefits:&lt;br /&gt;
&lt;br /&gt;
* Easy to use for developers since the identical (or similar) structure is also used by FLAC and MP3.&lt;br /&gt;
* The cover art can either be linked or embedded within the stream.&lt;br /&gt;
* Common picture file formats are supported (jpg and png).&lt;br /&gt;
* A description may be included and the picture type (front cover, back cover...) and image mime type are provided.&lt;br /&gt;
* Base64 encoded data is invariant under UTF-8 and a valid UTF-8 string, so obeys the rules for comment data.&lt;br /&gt;
&lt;br /&gt;
Implementations interpreting or writing picture blocks should note the following details:  &lt;br /&gt;
&lt;br /&gt;
===== General encoding/decoding =====&lt;br /&gt;
* Failure to decode a picture block should not prevent playback of the file (failure to deal with the particularly large packet required by the comment header is a separate problem with the player implementation).&lt;br /&gt;
* Base64 encoding is used as in section 4 of [http://www.faqs.org/rfcs/rfc4648.html RFC4648]. We note that line feeds are not allowed and padding characters ('=') are required.&lt;br /&gt;
* Applications adding picture blocks should inform users that some applications or hardware may not support them and should provide a method to remove the blocks (this is expected to be trivial for applications capable of adding them).&lt;br /&gt;
&lt;br /&gt;
===== Block handling =====&lt;br /&gt;
* The unencoded format is that of the [http://flac.sourceforge.net/format.html#metadata_block_picture FLAC picture block].  The fields are stored in big endian order as in FLAC, picture data is stored according to the relevant standard.&lt;br /&gt;
* Picture data should be stored in PNG or JPEG formats or linked separately.  It is recommended readers support both PNG and JPEG&lt;br /&gt;
* Allowed values for the MIME string are &amp;quot;image/&amp;quot;, &amp;quot;image/png&amp;quot;, &amp;quot;image/jpeg&amp;quot; and &amp;quot;--&amp;gt;&amp;quot; (the link indicator) and &amp;quot;&amp;quot; (length 0).  An empty MIME string indicates type &amp;quot;image/&amp;quot;&lt;br /&gt;
* Fields present in the ID3V2.4.0 [http://www.id3.org/id3v2.4.0-frames#line-1085 Attached Picture Frame] (APIC Frame) take the same interpretation as in the ID3V2.4.0 format with the following exceptions (following the FLAC format):&lt;br /&gt;
** The description field is UTF-8 (encoded without ID3V2's initial 'encoding byte')&lt;br /&gt;
** String fields are not null terminated: their preceding length fields are used instead.&lt;br /&gt;
&lt;br /&gt;
===== Linked images =====&lt;br /&gt;
Support for linked images is optional for applications handling picture blocks. When a linked picture is indicated the following rules are observed:&lt;br /&gt;
* The picture data is a complete URL indicating the picture to be used, relative URLs are allowed (note relative URLs do not start with a protocol specifier and are retrieved with the same protocol as the file being processed).&lt;br /&gt;
* Links are ISO-8859-1 encoded&lt;br /&gt;
* Applications MAY retrieve linked images via the file:// protocol.&lt;br /&gt;
* Applications MUST obtain user approval if they wish to retrieve images via remote protocols.&lt;br /&gt;
* Link targets may become unavailable: applications supporting linked images SHOULD recover gracefully from this and MAY report the absence to the user.&lt;br /&gt;
* The type of the linked file is not restricted to JPEG and JFIF and applications MAY support other formats&lt;br /&gt;
* If the application does not support linked images, the target is unavailable, not permitted or an unknown format the picture block should be skipped.&lt;br /&gt;
* Applications may make links available to users, this is of particular use when links are unsupported or of unsupported type&lt;br /&gt;
&lt;br /&gt;
===== Image dimension fields =====&lt;br /&gt;
* The height, width, colour depth and 'number of colours' fields are for purely informational purposes.  Applications MUST NOT use them for decoding purposes, but MAY display them to the user and MAY use them to make a decision whether to skip the block (for example if selecting the most appropriate among multiple blocks).&lt;br /&gt;
* Applications writing picture blocks MUST set these fields correctly OR set them all to zero.&lt;br /&gt;
&lt;br /&gt;
===== Multiple blocks =====&lt;br /&gt;
* Multiple image blocks MAY be included as separate METADATA_BLOCK_PICTURE comments.&lt;br /&gt;
* There may only be one each of picture type (APIC type) 1 and 2 in a Vorbis stream.&lt;br /&gt;
* Block order is significant for some types and applications should preserve the comment order when reading or writing VorbisComment headers. The block order may be used to determine the order pictures are presented to the user.&lt;br /&gt;
&lt;br /&gt;
===== Playback tests =====&lt;br /&gt;
Embedding a picture into the file might break playback of existing players (especially hardware players, software players could be updated easily). A workaround would be to link the picture within the tag. Furthermore users should become informed in some way that embedding a picture COULD cause problems (as stated above).&lt;br /&gt;
&lt;br /&gt;
In order to test if there are playback problems, there are test files available [http://www.audioranger.com/coverart_mk.ogg here] and [http://www.audioranger.com/coverart_im.ogg here]. You're invited to download one of these test files (or both), test playback on your software and hardware players, and report the results here on the wiki.&lt;br /&gt;
&lt;br /&gt;
'''Tested software players'''&lt;br /&gt;
* Audacious 1.5.1: no problem&lt;br /&gt;
* foobar2000: no problems&lt;br /&gt;
* Gnome: built-in preview playback: no problem&lt;br /&gt;
* MediaMonkey: no problems&lt;br /&gt;
* Media Player Classic (unicode build) 6.4.9.1: no problem&lt;br /&gt;
* RoarAudio: no problems (server and client side)&lt;br /&gt;
* Rythmbox 0.11.6: no problem&lt;br /&gt;
* Totem 2.24.3: no problem&lt;br /&gt;
* VLC 0.9.4/0.9.6: doesn't play&lt;br /&gt;
** Patch send to VLC to fix this - should get in 1.0.0&lt;br /&gt;
* WinAmp: no problems&lt;br /&gt;
* Windows Media Player 11: no problem&lt;br /&gt;
* XMPlay 3.4.2: no problem&lt;br /&gt;
* Nero ShowTime: no problem&lt;br /&gt;
* Songbird 1.8.0: no problem, able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested hardware players'''&lt;br /&gt;
* Logitech Squeezebox: Supported as of January 2009 (server version 7.3.3)&lt;br /&gt;
* Sandisk Sansa Fuze (Firmware 01.01.22): Hangs up when trying to playback the demo file - had to reset the player&lt;br /&gt;
** Note: The &amp;quot;Fuze&amp;quot; can play ogg vorbis files which have embedded pictures from &amp;quot;Easytag&amp;quot;&lt;br /&gt;
* Cowon iAudio U3 (Firmware 1.29, 4 GB): works&lt;br /&gt;
* Cowon D2: no problem (latest Firmware: 2.59, 8GB Version)&lt;br /&gt;
* iRiver E100: no problem (latest Firmware: 1.16 G_U, 8GB Version)&lt;br /&gt;
* Samsung YP-R1: no problem (latest Firmware: 3.07, 16GB Version)&lt;br /&gt;
&lt;br /&gt;
'''Tested tag editors'''&lt;br /&gt;
* Easytag 2.1.6: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.42e: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.47b: is able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested other software'''&lt;br /&gt;
* Total Recorder: capable to work with artwork according to the specification.&lt;br /&gt;
&lt;br /&gt;
==== Unofficial COVERART field (deprecated) ====&lt;br /&gt;
There also exists an unofficial, not well supported comment field named &amp;quot;COVERART&amp;quot;. It includes a base64-encoded string of the binary picture data (usually a JPEG file, but this could be a different file format too). The disadvantages are that&lt;br /&gt;
* no additional information like a description about the cover art or its type (front cover, back cover etc.) is provided,&lt;br /&gt;
* the cover art can't be linked&lt;br /&gt;
* the base64 string is displayed within many tag editors as plain text because of their missing support for this &amp;quot;COVERART&amp;quot; field&lt;br /&gt;
* it may breaks the playback on hardware players because of a large VorbisComment header&lt;br /&gt;
The unofficial &amp;quot;COVERART&amp;quot; field is supported for example by such software as AudioShell (http://www.softpointer.com/AudioShell.htm) - read/write, and Total Recorder (http://www.totalrecorder.com/)- only read.&lt;br /&gt;
&lt;br /&gt;
===== Conversion to METADATA_BLOCK_PICTURE =====&lt;br /&gt;
Old &amp;quot;COVERART&amp;quot; tags should be converted to the new METADATA_BLOCK_PICTURE tag (see above for its specification). This conversion is straightforward and is suggested to be done the following way:&lt;br /&gt;
&lt;br /&gt;
* Decode the COVERART tag. A program MAY check the signature of the embedded picture in order to determine whether it is an allowed type. Lossless conversion from disallowed types to allowed types MAY be carried out.&lt;br /&gt;
* Fill out the FLAC block with the binary picture data. If the MIME type of the picture is unknown or can't be determined, the MIME type &amp;quot;image/&amp;quot; MAY be used instead. Supplying image dimensions, color depth etc. is optional (see specification above).&lt;br /&gt;
* In the absence of other information the picture type 'Other' should be used. Applications may want to allow users to select a default type or specify the type to use.&lt;br /&gt;
* Encode the new picture block, remove the COVERART tag from the comments and add the METADATA_BLOCK_PICTURE entry.&lt;br /&gt;
* If multiple tags are being converted the order of the METADATA_BLOCK_PICTURE tags should be the same as that of the COVERART tags they are replacing.&lt;br /&gt;
&lt;br /&gt;
=== Chapter Extension ===&lt;br /&gt;
&lt;br /&gt;
These are used to include navigation points, for example:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHAPTER001=00:00:00.000--&amp;gt;00:05:00.000&lt;br /&gt;
CHAPTER001NAME=Chapter 1&lt;br /&gt;
CHAPTER001URL=http://...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the [[Chapter Extension]] page for more details.&lt;br /&gt;
&lt;br /&gt;
=== Date and time ===&lt;br /&gt;
&lt;br /&gt;
The goal is to specify '''one''' standard format for describing date and/or time.&lt;br /&gt;
&lt;br /&gt;
==== ISO proposal ====&lt;br /&gt;
The date format for any field describing a date must follow the ISO scheme: YYYY-MM-DD, shortened to just YYYY-MM or simply YYYY.&lt;br /&gt;
&lt;br /&gt;
We have been recommending this usage with the DATE tag for some time. It is proposed that the spec be amended to include this information for machinability.&lt;br /&gt;
&lt;br /&gt;
The time format for any field '''except''' track duration must be specified with leading T and ending with a time zone. Schemas with and without dates: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
YYYY-MM-DDTHH:MM:SS+TS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
THH:MM+TZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ENCODER ===&lt;br /&gt;
&lt;br /&gt;
The goal is to attribute encoder software. This value can be used in the future to determine which files can be improved by being re encoded with a newer version.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': What is lacking from the vendor string present in the spec from the start? All libvorbis and encoder tunings I'm aware of have recorded the encoder version here.&lt;br /&gt;
&lt;br /&gt;
Rationale for not using the vendor string:&lt;br /&gt;
* The vendor string is usually used to store the name and version of the underlying codec library&lt;br /&gt;
* The idea of ENCODER is to store the name of the user-visible application, for example &amp;lt;tt&amp;gt;ffmpeg2theora&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* It can be useful for debugging to store the name and version of the calling application.&lt;br /&gt;
* The libvorbis API does not let applications override the vendor string.&lt;br /&gt;
&lt;br /&gt;
==== Proposal: Inclusion of URL in ENCODER value ====&lt;br /&gt;
The encoder field name must be a unique URL providing both encoder software name and version. If no unique URL address is available were both name and version is available; then the version number can be specified by separating with a space character. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ENCODER=http://flac.sourceforge.net/ 1.2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that ffmpeg2theora uses ENCODER, but does not include a url. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
&lt;br /&gt;
==== Proposal: ENCODED_BY ====&lt;br /&gt;
&lt;br /&gt;
I've also seen ENCODED_BY. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
: ENCODED_BY is usually the person who did the encoding. This should not be part of the recommendation due to legal problems around deliberate and accidental distribution to third parties. Basically the name of the encoder should not be included to protect encoders from their own egos and possible legal prosecution. ''Added by Aleksandersen on September 20, 2007''&lt;br /&gt;
&lt;br /&gt;
=== Improving license data ===&lt;br /&gt;
&lt;br /&gt;
The goal is to provide a method for proclaiming license and copyright information (basically clarifying ‘distribution rights (if any) and ownership’).&lt;br /&gt;
&lt;br /&gt;
The [http://xiph.org/vorbis/doc/v-comment.html specification document] describes LICENSE and COPYRIGHT fields. But is not clear enough about whether these should be machine-readable.&lt;br /&gt;
&lt;br /&gt;
We should consider working together with Creative Commons to have complementary and interlinked information on the Creative Commons and Xiph wikis. Refer to the [http://wiki.creativecommons.org/Ogg Ogg page] in the Creative Commons wiki.&lt;br /&gt;
&lt;br /&gt;
==== New RIGHTS field name proposal ====&lt;br /&gt;
One proposal is to replace the COPYRIGHT and LICENSE field names with RIGHTS. RIGHTS must be a human-readable copyright statement. Basic example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But this is not machine-readable. Adding two complementary field names should do the trick: RIGHTS-DATE, describing the date of copyright; and RIGHTS-URI, providing a method for linking to a license. Software agents can assume that multiple songs uses the sameURIs, such as in the case for Creative Commons. Full example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © 2019 Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-DATE=2019-04&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-URI=http://somewhere.com/license.xhtml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Software such as for multimedia management and playback are encouraged to display the RIGHTS statement as a linked phrase using RIGHTS-URI.&lt;br /&gt;
&lt;br /&gt;
RIGHTS-DATE does not need to be displayed as it is required in the human readable version by international copyright agreements. RIGHTS-DATE can be used to determine when a copyrighted work falls under the public domain and related matters. (''The Beatles''' copyright on their original studio recordings (not the remixes) are soon expiering. So mechanisms such as the RIGHTS-DATE are indeed required in music management and filesharing software!)&lt;br /&gt;
&lt;br /&gt;
To remain machine-readable it would be required to have at most one instance of each RIGHTS field name. All fields would of course remain optional.&lt;br /&gt;
&lt;br /&gt;
The ''Dublin Core Metadata Initiative'' recommends the use of ‘rights’ to describe license and copyright matters. The web feed format Atom 1.0 has implemented a rights element in their specification.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': The triplet RIGHTS, RIGHTS-DATE, RIGHTS-URI is an example of structured metadata. VorbisComments are inherently unstructured, and this should be respected. Structured metadata belongs in a different stream, such as XML (using [[Metadata#XMLEmbedding|XMLEmbedding]]).&lt;br /&gt;
&lt;br /&gt;
==== Improving existing fields proposal ====&lt;br /&gt;
Similar to the DATE tag above, we have generally recommended that a URL uniquely identifying the license be included in the LICENSE field to allow machine identification of the license. This is in agreement with the proposal in the Creative Commons wiki. Since the COPYRIGHT field is a human-readable statement of the copyright, like the proposed RIGHTS tag above, some people include a license url there. Therefore if a url can't be found in a LICENSE tag if any, applications should use one from the COPYRIGHT tag, if any. Contact information for verification, attribution, relicensing, etc. can be obtained from the COPYRIGHT field, but Creative Commons also recommend a separate CONTACT tag for this information. This is reasonable, so we propose it be included.&lt;br /&gt;
&lt;br /&gt;
=== Geo Location fields ===&lt;br /&gt;
&lt;br /&gt;
The existing LOCATION field is meant to carry a human readable location for the recording/creation of the media file. &lt;br /&gt;
&lt;br /&gt;
Having geographical coordinates according to [http://en.wikipedia.org/wiki/World_Geodetic_System WGS84] can be useful as well, especially in a form that can be machine parsed. The agreed format is similar to this [http://en.wikipedia.org/wiki/Geo_(microformat) geo microformat]:&lt;br /&gt;
&lt;br /&gt;
GEO_LOCATION= ''latitude'' ; ''longitude'' [; ''elevation'' ] &lt;br /&gt;
&lt;br /&gt;
where each value is a fixed point decimal number formatted in the C locale with a period (.) for the radix. Values are separated with a ';' and white space is not significant. The elevation is optional.&lt;br /&gt;
&lt;br /&gt;
''latitude'' is the geo latitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the equator, negative values for southern latitudes) (C double).&lt;br /&gt;
&lt;br /&gt;
''longitude'' is the geo longitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, negative values for western longitudes). (C double).&lt;br /&gt;
&lt;br /&gt;
''elevation'' is the geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level) (C double).&lt;br /&gt;
&lt;br /&gt;
=== Replay Gain ===&lt;br /&gt;
&lt;br /&gt;
The REPLAYGAIN_* fields implement the Replay Gain proposal for storing a track relative volume adjustment, which can be used to &amp;quot;fix&amp;quot; quiet or loud sounding Vorbis or FLAC streams. The set of tags is intended to be machine parsed, and has the following form: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REPLAYGAIN_TRACK_GAIN=-7.03 dB&lt;br /&gt;
REPLAYGAIN_TRACK_PEAK=1.21822226&lt;br /&gt;
REPLAYGAIN_ALBUM_GAIN=-6.37 dB&lt;br /&gt;
REPLAYGAIN_ALBUM_PEAK=1.21822226&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See http://www.replaygain.org/ for detailed information about Replay Gain and how the different values are calculated.&lt;br /&gt;
&lt;br /&gt;
=== Tantalos resource ID ===&lt;br /&gt;
Tantalos is a protocol to auto locate and access content in a network scope (normally 'LAN' but can also be bigger like 'company network'). It uses UUIDs to identify resources. There are two groups of those UUIDs: IDs generated using the meta data of the track and IDs generated in some other way (for example random IDs, see UUID specs). The later group may need to be passed with the track. The VCLT Playlist format (see below) uses 'HASH={UUID}id...' with hex-dash format for this (HASH={UUID}e278173d-4d6d-4c66-95ec-4ec85eedc7d1).&lt;br /&gt;
--[[User:Ph3-der-loewe|Ph3-der-loewe]] 02:05, 13 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
== Other (non-proposed field names) ==&lt;br /&gt;
=== VCLT playlist format ===&lt;br /&gt;
The VCLT playlist format uses some ''keys'' which look like VorbisComments but they aren't nor they are proposed to become (expect for HASH). This includes the keys STREAMURL, FILENAME, FILEURL, LENGTH, HASH (see above for this one), SIGNALINFO, AUDIOINFO and OFFSET. You can find more infos about those at [https://bts.keep-cool.org/wiki/Specs/VCLT https://bts.keep-cool.org/wiki/Specs/VCLT].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
* [http://sbooth.org/importers/ OggImporter] &amp;amp;ndash; imports Ogg Vorbis and Ogg FLAC files to Spotlight.&lt;br /&gt;
* vorbiscomment &amp;amp;ndash; a commandline tool, part of [[VorbisTools]].&lt;br /&gt;
* [http://www.xiph.org/oggz/ oggz-comment] &amp;amp;ndash; a commandline tool, part of [[Oggz]] tool. It can add comments to multitrack and video files.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:Metadata</id>
		<title>Talk:Metadata</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:Metadata"/>
				<updated>2012-06-05T19:39:27Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* IEEE Learning Object Metadata */ Tidied formatting (to make clearer who said what)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== IEEE Learning Object Metadata ==&lt;br /&gt;
The proposed solution is RDF + Dublin Core. Has anybody looked into supporting IEEE LOM, the Learning Object Metadata standard that I believe can incorporate Dublin Core?  This is being adopted by key players in the e-learning world (IMS Global Learning, and SCORM), and would be valuable for the applications I am interested in.&lt;br /&gt;
&lt;br /&gt;
Fred Kintanar ([[User:Fredkintanar05|Fredkintanar05]]), 30 January 2006&amp;lt;br/&amp;gt;&lt;br /&gt;
Cebu City, Philippines&lt;br /&gt;
&lt;br /&gt;
: Having just looked at the [http://ltsc.ieee.org/wg12/ IEEE LOM page], I see they have XML and RDF bindings defined. The current view seems to be that you package a RDF or RDF/XML description of the content into the Ogg stream, with Dublin Core being a minimum feature set (Dublin Core certainly doesn't provide everything one might want). Handlers would most likely ignore or &amp;quot;dumb-down&amp;quot; relations they don't understand. In that case this would certainly work, but at the moment there is no clear plan (details like references between and into logical streams haven't really been considered as far as I can tell).&lt;br /&gt;
&lt;br /&gt;
: What you want to do may already be possible with [http://ltsc.ieee.org/wg12/ Annodex]; try their [http://lists.annodex.net/cgi-bin/mailman/listinfo/ mailing lists], or the [http://lists.xiph.org/mailman/listinfo/ogg-dev Ogg-dev] mailing list.&lt;br /&gt;
&lt;br /&gt;
:[[User:Imalone|Imalone]] 05:48, 30 January 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== MDMF (now renamed M3F) replacing VorbisComments ==&lt;br /&gt;
&lt;br /&gt;
The article read:  &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;The format [MDMF] will possibly replace VorbisComments altogether.&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To which Imalone responded:&lt;br /&gt;
:This seems unlikely, not least because VorbisComments are much simpler to implement and interpret. Current consensus is that this will be supplementary or take precedence.--[[User:Imalone|Imalone]] 06:21, 17 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::As I understand it, the purpose of MDMF is to replace VorbisComments for the use of ''structured'' metadata, allowing VorbisComments to revert to its orginally intended use of &amp;quot;short, text comments ... much like someone jotting a quick note on the bottom of a CDR.&amp;quot; I will modify the article to say this. The Vorbis docs even state &amp;quot;arbitrary metadata belongs in a separate logical bitstream (usually an XML stream type) that provides greater structure and machine parseability&amp;quot;. [[User:Martin.leese|Martin Leese]] 12:01, 18 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::Then Vorbis will have to be replaced by a successor because else you get backwards compatibility issues when players try to read vorbis with the new meta data format and can't!!!!!! [[User:Xpete|Xpete]] 29 January 2008&lt;br /&gt;
&lt;br /&gt;
::An Ogg container can contain more than one logical stream. [[M3F]] will be a separate logical stream, and will be separate from the [[Vorbis]] stream. As [[M3F]] does not touch [[Vorbis]], backwards compatibility will not be a problem. [[User:Martin.leese|Martin Leese]] 15:59, 29 January 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
== Meta data files ==&lt;br /&gt;
&lt;br /&gt;
Meta data is handy and structured meta data handier. &lt;br /&gt;
&lt;br /&gt;
However sometimes there is a lot of metadata and it's not handy to use some tagged metadata. &lt;br /&gt;
&lt;br /&gt;
A general approach would make life very easy for a lot of people. &lt;br /&gt;
Allowing Ogg to include files as meta data (and folders). Enabling those files to be added, deleted changed opened as normal files with external programs. Or viewed with file managers. e.g. ad a tab meta data files in the File Properties dialog that displays the meta data files and sub folder(s). &lt;br /&gt;
&lt;br /&gt;
This way Ogg doesn't have to make or support an complicated and advanced meta data file format for structuring the information itself. Ogg doesn't have to be able to decode them, only contain them which wouldn't be very difficult because it just holds files. &lt;br /&gt;
Making Ogg more efficient, streamlined and powerful at the same time. &lt;br /&gt;
&lt;br /&gt;
How would this work? &lt;br /&gt;
In the files, there would be a folder called meta data files. &lt;br /&gt;
This folder would contain every meta data file as files. &lt;br /&gt;
&lt;br /&gt;
The files could be made visible in the file system by adding a tab called meta data files. &lt;br /&gt;
This then could show all the relevant files and folder. &lt;br /&gt;
Enabling to browse the folder in the file as a normal folder in the file system would be a very good way of providing access for users and programs.&lt;br /&gt;
&lt;br /&gt;
[[User:Vmol|Vmol]] 08:25, 22 August 2009 (MDT)&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Skeleton</id>
		<title>Skeleton</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Skeleton"/>
				<updated>2012-06-04T20:12:15Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Fixed double redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Ogg Skeleton 4]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OggSkeleton</id>
		<title>OggSkeleton</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OggSkeleton"/>
				<updated>2012-06-04T20:12:01Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Fixed double redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Ogg Skeleton 4]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-05-24T17:31:58Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* How does the quality of Opus compare to ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
In the vast majority of cases, the best way to support other sampling rates is to perform sample rate conversion to 48 kHz. Only in some very specific circumstances should Opus custom be used.&lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The Opus source code is released under the BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3).&lt;br /&gt;
&lt;br /&gt;
=== How does the quality of Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I get? ===&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:VorbisComment</id>
		<title>Talk:VorbisComment</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:VorbisComment"/>
				<updated>2012-05-08T16:27:15Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Proposal: Adding embedded Lyrics field */ Added attribution&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== License and Copyright ==&lt;br /&gt;
&lt;br /&gt;
Do notice that I proposed a simpler standard for those two tags a couple of months ago.&lt;br /&gt;
&lt;br /&gt;
* COPYRIGHT = Name of Entity (e.g. Xiph.Org Foundation)&lt;br /&gt;
&lt;br /&gt;
:: Should be renamed ‘RIGHTS’ (as proposed on the wiki page). Copyright... Well. It is not nice. We are talking about Distribution rights, anyways... ''Added by Aleksandersen on October 3, 2007''&lt;br /&gt;
&lt;br /&gt;
* LICENSE = Link to license, only URI/IRIs allowed ( e.g. http://creativecommons.org/licenses/by/3.0/ )&lt;br /&gt;
&lt;br /&gt;
:: But it lacks a way to determine machine readable date of rights. Such as with RIGHTS-DATE. ''Added by Aleksandersen on October 3, 2007''&lt;br /&gt;
&lt;br /&gt;
This makes it simple for both users and machines to understand the data.&lt;br /&gt;
--[[User:Saoshyant|Ivo]] 16:33, 13 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Comments by Ijabz ==&lt;br /&gt;
&lt;br /&gt;
''The following was added by Ijabz on October 18, 2007''&lt;br /&gt;
&lt;br /&gt;
I really like VorbisComments because in contrast with other metadata formats (e.g ID3,MP4 metadata) it is very simple to develop a programing interface, you can treat every field as a simple name-value pair without breaking anything, if a field value is formatted in a special way to aid machine parsing but your program doesnt know about it thats ok it wont break. Having seen how long it has taken for ID3v2.4 to be adopted I think Xiph would do better to improve VorbisComment (without breaking backwards compatability) rather than provide alternatives.&lt;br /&gt;
&lt;br /&gt;
It only really has three drawbacks:  &lt;br /&gt;
&lt;br /&gt;
1. The list of official fields is too small, we need a definitive list of offical fields now that is much larger than it is now. These fields are not mandatory so I cant see any drawback in extending this list, but there seems to be a reluctance to actually do it. A reasonable approach would be to look at the list of defined frames in ID3 and provide vorbis equivalents where possible. Should also consider adding the list of tags added by [http://wiki.musicbrainz.org/PicardQt/TagMapping the Musicbrainz project], seeing as they are an opensource not for profit organisation whose main aim is to improve the quality of infdormation about recordings they appear to be a prefect partner.&lt;br /&gt;
&lt;br /&gt;
2. VorbisComments do not provide support for binary data, and when anybody mentions this it is explained that the data should be added as a seperate multiplexed stream. I dont understand this solution and I'm not aware of any applications that actually do this so even if I implemented support for it in one program it would be of limited use. The most important binary data for audio files is cover art images and without support for these OggVorbis is at a serious disadvantage. [http://www.softpointer.com/AudioShell.htm Audioshell] implements it by base64 encoding the image, this seems a perfectly sensible solution that would be easy to implement, and would work for any binary data.&lt;br /&gt;
&lt;br /&gt;
3. VorbisComments do make it more difficult to show complex relationships and an XML format would proably be better as expressing these. However if a relatiuonship is complex it is probably too complex to be of much interest to anybody, however it can still be done using VorbisComment. For example the following example is given within the Metadata wiki page:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
How do you indicate which artist played tenor sax in the solo?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is a very specific request, but could be done by adding a subfield character (I've used a colon in this example) allowing machine parsing of related attributes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ARTIST_INSTRUMENT_MUSICALPASSAGE=&amp;quot;fred:tenorsaxophone:solo&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Or you could amend the Fieldname so it supported a way of linking fields,e.g:  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ARTIST-1:fred&lt;br /&gt;
ARTIST-2:jane&lt;br /&gt;
INSTRUMENT-1:tenorsaxophone&lt;br /&gt;
MUSICPASSAGE-1:solo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
so the rule is if a field ends with (-n) all fields ending with the same value of n are linked, I dont see how this breaks things&lt;br /&gt;
&lt;br /&gt;
:On drawback 2, VorbisComments were designed to be text-only. As you point out, the intention was to put binary data in a separate logical bitstream. Unfortunately, at the moment, adding such a stream to an [[Ogg]] container breaks many players. An initiative is in progress to address this using [[Ogg Skeleton]]. As for cover art, there is now such a proposal using the VorbisComment tag [[VorbisComment#Cover_art|METADATA_BLOCK_PICTURE]].&lt;br /&gt;
&lt;br /&gt;
:On drawback 3, VorbisComments are inherently unstructured. For complex relationships, it would be better to use a system which has built-in structure such as XML. [[M3F|Multimedia Metadata Format (M3F)]] is such a draft proposal.&lt;br /&gt;
&lt;br /&gt;
:[[User:Martin.leese|Martin Leese]] 19:52, 1 July 2009 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Character encoding ==&lt;br /&gt;
&lt;br /&gt;
''Moved from article as it is not a good idea. The section was added by Aleksandersen on September 13, 2007''&lt;br /&gt;
&lt;br /&gt;
The goal is to be offer better support for more languages and make machine processing faster.&lt;br /&gt;
&lt;br /&gt;
The specification should be a little more strict to achieve this.&lt;br /&gt;
&lt;br /&gt;
=== Proposals ===&lt;br /&gt;
&lt;br /&gt;
Field names may be UTF-8 and all UPPERCASE for easier machine processing.&lt;br /&gt;
&lt;br /&gt;
Allowing tag names to be UTF-8 instead of ASCII is a backwards-incompatible spec change. If we did this, requiring that the case mapping happen in the tagging application rather than in decoders is reasonable, since case mapping in unicode is non-trival.&lt;br /&gt;
&lt;br /&gt;
The original argument for ASCII was that we need standardized tag names for interoperability, so there's no point in being able to localize them, and we might as well go with our native prejudice. Localizing the values should be done by appending a language code to the tag, since this is both machinable and there may be collisions between translated tag names.&lt;br /&gt;
&lt;br /&gt;
:UTF-8 is a bad idea in field names. The field names are for machine interpretation, localisation should be done on the software side. UTF-8 introduces matching problems (canonical form) and encoding/decoding problems (difficulty in finding length of a string).  Please sign comments; I ''think'' the above is a cumulative set of comments, but no idea.--[[User:Imalone|Imalone]] 01:11, 17 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Attributing involved parties ==&lt;br /&gt;
&lt;br /&gt;
''Moved from article as it is not the consensus view. The section was added by Aleksandersen on September 13, 2007''&lt;br /&gt;
&lt;br /&gt;
The goal is to attribute more persons and organisations involved in audio and music productions to make room for more advanced search and sorting.&lt;br /&gt;
&lt;br /&gt;
NO PROPOSALS! VorbisComments need a lot of extension beyond just the ARTIST field name. See work at [[M3F|Multimedia Metadata Format (M3F)]], the proposed XML replacement for VorbisComments for structured metadata.&lt;br /&gt;
&lt;br /&gt;
== Proposal: Adding embedded Lyrics field ==&lt;br /&gt;
&lt;br /&gt;
Similar to mp3's id3v2-tags lyrics and synchronized lyrics (SYLT) fields - available since 1998. Missing this every day.&lt;br /&gt;
&lt;br /&gt;
Maybe relevant for M3F only? posted there too. --[[User:Oggfan|Oggfan]] 07:32, 8 May 2012 (PDT)&lt;br /&gt;
&lt;br /&gt;
Synchronized lyrics may also be embedded as a [[Kate]] text stream, though patches to get playback in misc audio players are mostly been ignored (isn't that the fate of most patches to anything ?).  --[[User:Oggfan|Oggfan]] 07:43, 8 May 2012 (PDT)&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/M3F</id>
		<title>M3F</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/M3F"/>
				<updated>2012-05-08T16:23:58Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Describing related texts (lyrics and subtitles) */ Typo (moved space)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
&lt;br /&gt;
See other [[Metadata|suggested metadata methods]].&lt;br /&gt;
&lt;br /&gt;
This document describes the '''proposed''' ''Multimedia Metadata Format'' (M3F) for the Ogg container. The format is built on the Extensible Markup Language (XML). It is intended to describe any kind of multimedia (audio, video, text, images, etc) that can reside in the [[Ogg|Ogg container]].&lt;br /&gt;
&lt;br /&gt;
==Format description==&lt;br /&gt;
''Multimedia Metadata Format'' documents describe media resources in Ogg containers and stream. The format can link resources with one another for media players that support rendering multiple kinds of media. (Such as audio tracks and albumart; and video and commentary audio overlays.)&lt;br /&gt;
&lt;br /&gt;
No element except ‘metadata’ is required. But some elements have required attributes.&lt;br /&gt;
&lt;br /&gt;
All dates must be formatted as ''ISO 8601:2000 &amp;amp;ndash; International Date and Time Format''.&lt;br /&gt;
&lt;br /&gt;
===XML, declaration, and name spaces===&lt;br /&gt;
A metadata document must have a standard XML declaration on the very first line. The XML deceleration must contain the ‘version’ and ‘encoding’ attributes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;?xml encoding=&amp;quot;UTF-8&amp;quot; version=&amp;quot;1.0&amp;quot; ?&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Encoding should default to Unicode/UTF-8. XML version should always use the oldest version were desired features are available, as per the XML specifications. Only when features not pressent in older XML versions are required should a newer version be used.&lt;br /&gt;
&lt;br /&gt;
In addition the XML attributes ‘base’ and ‘lang’ may be used. Refer to them with an ‘xml:’ prefix if used in any element except the XML declaration. The optional ‘base’ attribute defines the base URI for compleating relative URIs. This value must default to the current Ogg Container. (Basically all other URIs in the format is relative. The attribute is usefull for formats other than Ogg.) The attribute is inherited by all children. The optional ‘lang’ element describes the language of a resource using three letter ''ISO 639-3'' codes. Note that this element should only be used on the ‘resource’ element or in the XML declaration for easier software parsing. The attribute is inherited by all children and have no default value.&lt;br /&gt;
&lt;br /&gt;
The ‘metadata’ element is required as the top level container. It must contain at least one XML name space defining the format via the ‘xmlns’ attribute. (The URL used in the example is not the final address as no name space have been created yet.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;metadata xmlns=&amp;quot;http://xmlns.xiph.org/metadata/0.1/&amp;quot;&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/metadata&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''Multimedia Metadata Format''' can be extended by including multiple XML name spaces to the ‘metadata’ element. As with any other XML format: Software may not add, modify, or expect elements and attributes not defined by a XML name space.&lt;br /&gt;
&lt;br /&gt;
====Languages====&lt;br /&gt;
The ‘xml:lang’ can be used on any element, and it is inherited from parent elements. In the below example, the first title element inherits ‘eng’ as its language from the ‘resource‘ parent element. A player may present any title, but should prefer the global language (language of the ‘metadata’ element) or the user’s language, as specified by the player. If the player’s interface language (or possibly a dedicated metadata language option) is German (ISO 639-3:deu), than it should assume the user prefers the German title.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;resource […] xml:lang=&amp;quot;eng&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;The Science of Sleep&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;title xml:lang=&amp;quot;deu&amp;quot;&amp;gt;Anleitung zum Träumen&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;title xml:lang=&amp;quot;ita&amp;quot;&amp;gt;La science des rêves&amp;lt;/title&amp;gt;&amp;lt;/resource&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Addressing the media resource===&lt;br /&gt;
Media resources in the stream is described as ‘resource’ children of the ‘metadata’ element. Each resource element must have a ‘oggserial’ linking it to the correct chunk in the stream. It must also have a ‘type’ attribute with the native MIME type of the resource.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;resource oggserial=&amp;quot;0×EXAMPLE&amp;quot; type=&amp;quot;audio/vorbis&amp;quot;&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/resource&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ‘uri’ attribute may be used in stead of ‘oggserial’. For ogg serials the URI would be ‘urn:oggserial:#0×EXAMPLE’. (Other container and native file formats may specify any URI that works with that format.)&lt;br /&gt;
&lt;br /&gt;
Resource elements can also have an optional unique ‘xml:id’ attribute. The ‘xml:id’ attribute is used as a label when the resource needs to be addressed by another resource element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;resource xml:id=&amp;quot;unique-resource-id&amp;quot; […]&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/resource&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is good practise to include every resource in a stream as a resource element. This makes it easier to link and describe relationships with other resources. (Such as with films and subtitles; and music and albumart.)&lt;br /&gt;
&lt;br /&gt;
===Describing the media resource===&lt;br /&gt;
There are many children elements of the ‘resource’ element. All are optional and everyone can be used with any resource. Though media type spesific children are grouped together. These children does not make much sense with all media types&lt;br /&gt;
&lt;br /&gt;
=====Describing audiences=====&lt;br /&gt;
The ‘audience’ element is a self-regulated filtering mechanism intended for parental control and self-regulated filtering. The optional ‘nudity’ attribute is a space separated list with one or more of the following values ‘breasts’, ‘buttocks’, and ‘genitals’. The optional ‘sexual’ attribute is a space separated list of with one or more for the following values ‘kissing’, ‘sexact’, ‘touching’, ‘sexlanguage’, ‘erections’ and ‘erotica’. The optional ‘violence’ attribute is a space separated list with one or more of the following values ‘rape’, ‘human-injury’, ‘animal-injury’, ‘anime-injury’, ‘human-blod’, ‘animal-blod’, ‘anime-blod’, ‘human-torture’, ‘animal-torture’, and ‘anime-torture’. The optional ‘language’ atribute is a space separated list with one or more of the following values ‘vulgar’, ’swear’, and ‘mild’. The optional ‘harmful’ attribute is a space separated list with one or more of the following values ‘tobacco’, ‘alcohol’, ‘drug’, ‘weapons’, ‘example-dangerous’, ‘horror’, and ‘discrimination’. The required ‘context’ attribute is a space separated list with one or more of the following values ‘artistic’, ‘educational’, ‘medical’, ’sports’ and ‘news context’.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;audience context=&amp;quot;education&amp;quot; language=&amp;quot;mild&amp;quot; nudity=&amp;quot;sexact kissing&amp;quot; […] /&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The filters are based on ''Internet Content Ration Associations''' (ICRA) work. See their [http://www.icra.org/label/generator/ label generator] for full meaning of values.&lt;br /&gt;
&lt;br /&gt;
=====Describing categories=====&lt;br /&gt;
The ‘category’ element describes the listing genre of the resource. The required ‘sort’ attribute describes the preferred genre for listing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;category sort=&amp;quot;metal&amp;quot;&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/category&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘genre’ child element describes more in-depth sorting for the resource.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;category sort=&amp;quot;metal&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;genre&amp;gt;symphonic metal&amp;lt;/genre&amp;gt;&lt;br /&gt;
	&amp;lt;genre&amp;gt;goth metal&amp;lt;/genre&amp;gt;&lt;br /&gt;
&amp;lt;/category&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Describing collections=====&lt;br /&gt;
Media resources may appear in collections (DVD set boxes, CD albums, etc.). The ‘collection’ element describes the resources relation and order/place in collections. The optional ‘date’ attribute describes the date the collection was made publicly available (its ‘release date’). The optional ‘track’ attribute describes the resource's order/place in the collection. The optional ‘tracks’ attribute describes the total number of resources in the collection. The optional ‘uri’ attribute should uniquely identify the collection as a whole.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;collection date=&amp;quot;2019-01-15&amp;quot; track=&amp;quot;2&amp;quot; tracks=&amp;quot;12&amp;quot; uri=&amp;quot;urn:x-isrc:0123456789&amp;quot;&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/collection&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘artwork’ child element links the collection to a image resource. The required ‘uri’ attribute should either be a resource's ‘id’ attribute value with a ‘#’ prefix (as below) or a web URL resource. The optional ‘type’ attribute should be the MIME type of the image resource. The attribute should not be used when linking to other internal resources; but is encurraged when linking to external resources (such as web URLs).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;collection&amp;gt;&lt;br /&gt;
	&amp;lt;artwork uri=&amp;quot;#embedded-image&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/collection&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘title’, ‘subtitle’, and ‘tagline’ child elements function as the ‘resource:title’ element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;collection&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Great Audio VI&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;tagline&amp;gt;Music that rocks you!&amp;lt;/tagline&amp;gt;&lt;br /&gt;
&amp;lt;/collection&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that CD singles are indeed collections too.&lt;br /&gt;
&lt;br /&gt;
=====Describing encodings=====&lt;br /&gt;
The ‘encoding’ element describes the encoding or digitalization of the resource.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;encoding&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/encoding&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘date’ child element describes when the last file encoding happen. When the file is re-encoded the original date of encoding should be preserved, and another date element should be added with the date of re-encoding.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;encoding&amp;gt;&lt;br /&gt;
	&amp;lt;date&amp;gt;2019-01-21&amp;lt;/date&amp;gt;&lt;br /&gt;
&amp;lt;/encoding&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘source’ child element describes the original media source for the encoding. The required ‘media’ attribute must be either ‘cd’, ‘dvd’, ‘tape’, ‘web-stream’, ‘tv-stream’, ‘radio-stream’, ‘file’, or ‘unknown’. The optional ‘uri’ attribute should uniquely identify the media.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;encoding&amp;gt;&lt;br /&gt;
	&amp;lt;source media=&amp;quot;cd&amp;quot; uri=&amp;quot;urn:x-isrc:0123456789&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/encoding&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘software’ child element describes the softwares used for the encoding. The optional ‘title’ attribute describes the software name. The optional ‘version’ attribute describes the software version. The required ‘uri’ attribute should uniquely identify the software (and version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;encoding&amp;gt;&lt;br /&gt;
	&amp;lt;software title=&amp;quot;flac&amp;quot; version=&amp;quot;2.2&amp;quot; uri=&amp;quot;http://xiph.org/flac/&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/encoding&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The software version attribute is important for one reason; It makes it so much easier to find out what files needs to be re-encoded (from a huge collection) if there ever were a bug in a software release.&lt;br /&gt;
&lt;br /&gt;
=====Describing performers=====&lt;br /&gt;
The ‘performers’ element describes by whom the resource was performed. The unrequired ‘sort’ attribute describes the preferred performer for listing. (This sorting attribute was included for backwards compatibility with music library managers/players that lists only one artist's name.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;performers sort=&amp;quot;White Stripes, The&amp;quot;&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/performers&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘person’ child element describes an performer. The ‘name’ child element describes the performer’s name.&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;performers&amp;gt;&lt;br /&gt;
	&amp;lt;person&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Jack White&amp;lt;/name&amp;gt;&amp;lt;/person&amp;gt;&amp;lt;/performers&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======Musicans======&lt;br /&gt;
The required ‘musician’ child element has no value. The optional ‘instrument’ child element describes the instrument used by the performer, with one of the following values ‘wind’, ‘lamellophone’, ‘percussion, ‘string’, ‘voice’, ‘electronic’, and ‘keyboard’. Two additional value to this child element is ‘vocal’, and ‘lead-vocal’.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;performers&amp;gt;&lt;br /&gt;
	&amp;lt;person&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Jack White&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;musician /&amp;gt;&lt;br /&gt;
		&amp;lt;instrument&amp;gt;string&amp;lt;/instrument&amp;gt;&lt;br /&gt;
		&amp;lt;instrument&amp;gt;keyboard&amp;lt;/instrument&amp;gt;&lt;br /&gt;
		&amp;lt;instrument&amp;gt;lead-vocal&amp;lt;/instrument&amp;gt;&amp;lt;/person&amp;gt;&amp;lt;/performers&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: When searching for ‘Jack White’ as a guitarist the above example should suffice as a guitar is grouped under string instrument. This should be considered when implementing the above elements in search engines.&lt;br /&gt;
&lt;br /&gt;
======Actors======&lt;br /&gt;
The required ‘actor’ child element’s optional ‘portrait’ attribute describes a fictional name an actors portraits in a movie (his role).&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;performers&amp;gt;&lt;br /&gt;
	&amp;lt;person&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Gael García Bernal&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;actor portrait=&amp;quot;Stéphane Miroux&amp;quot; /&amp;gt;&amp;lt;/person&amp;gt;&amp;lt;/performers&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======Other and organisations======&lt;br /&gt;
Optional person elements can contain ‘director’, ‘produser‘, and ‘writer’.&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;performers&amp;gt;&lt;br /&gt;
	&amp;lt;person&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;Michel Gondry&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;director /&amp;gt;&amp;lt;/person&amp;gt;&amp;lt;/performers&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ‘organisation’ child element describes organisations involved in the production of the resource. The optional ‘uri’ attribute describes the organisation using an (unique?) URI.&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;performers&amp;gt;&lt;br /&gt;
	&amp;lt;organisation uri=&amp;quot;http://partizan.com/&amp;quot;&amp;gt;Partizan&amp;lt;/organisation&amp;gt;&amp;lt;/performers&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Describing related texts (lyrics and subtitles)=====&lt;br /&gt;
The ‘texts’ element links media resources with CMML text resources such as song lyrics and film subtitles in the stream. The required ‘uri’ must point to another resource's id attribute or an external web URL resource. The optional ‘type’ attribute specifies the MIME type of external resource.) It is not encouraged to use the type nor URL option. Keep things in the stream, so to speak.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;texts uri=&amp;quot;#example-text-resource&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Describing recordings=====&lt;br /&gt;
The ‘recording’ element describes recording conditions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;recording&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/recording&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘date’ child element describes when the recording was made.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;recording&amp;gt;&lt;br /&gt;
	&amp;lt;date&amp;gt;2018-10-17&amp;lt;/date&amp;gt;&lt;br /&gt;
&amp;lt;/recording&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘duration’ child element describes how long the recording lasts. This value must be specified as a colon separated value containing days:hours:minutes:seconds:milliseconds. When the value is low enough to not use a field it should be left blank or have the value zero (‘0’). The below examples says zero days, zero hours, seven minutes, four seconds, and 54 milliseconds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;recording&amp;gt;&lt;br /&gt;
	&amp;lt;duration&amp;gt;::07:04:54&amp;lt;/duration&amp;gt;&lt;br /&gt;
&amp;lt;/recording&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: When displaying durations in players; it might be better to convert days to hours, and visa versa. This recommendation does not specify in which cases this should be done. Duration and time is presented in different ways according to local variation (and user preference). Though displaying a shortened (lave out the null values) full time according to local variations will provably be the best way. Example: ‘2 days, 23 hours, and 18 seconds.’ OR a converted to days ‘2,96 days.’ Displaying ‘2:23::18:’ (same value as previous examples) may be confusing to users who are not used to this format. Even though it is the shortest way to display the full duration.&lt;br /&gt;
&lt;br /&gt;
The optional ‘location’ child element describes when the recording was made in a human readable-way. The optional ‘lat’ and ‘long’ attributes are the machine-readable latitude and longitude position of the recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;recording&amp;gt;&lt;br /&gt;
	&amp;lt;location lat=&amp;quot;22.20N&amp;quot; long=&amp;quot;114.11E&amp;quot;&amp;gt;Hong Kong, China, Earth&amp;lt;/location&amp;gt;&lt;br /&gt;
&amp;lt;/recording&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Describing rights=====&lt;br /&gt;
The ‘rights’ element describes the Copyright and license status of the resource.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;rights&amp;gt;&lt;br /&gt;
	[…]&amp;lt;/rights&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘date’ child element describes when the Copyright were put in place. This is especially useful when determining when a work's Copyright expires.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;rights&amp;gt;&lt;br /&gt;
	&amp;lt;date&amp;gt;2018-10-20&amp;lt;/date&amp;gt;&lt;br /&gt;
&amp;lt;/rights&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘license’ child element is a short and human-readable version of the full license.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;rights&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;© 2018 Recording Company. All distribution rights reserved.&amp;lt;/license&amp;gt;&lt;br /&gt;
&amp;lt;/rights&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional ‘link’ child element can point to any URI via it's ‘uri’ attribute where a full version of the license is available. This means it can be pointed to a ‘resource’ element via it's ‘id’ attribute as well!&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;rights&amp;gt;&lt;br /&gt;
	&amp;lt;link type=&amp;quot;text/html&amp;quot; uri=&amp;quot;http://licenses.record-company.com/artist.html&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/rights&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Describing titles, subtitles, and taglines=====&lt;br /&gt;
The ‘title’ element describes the resource's title.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;title&amp;gt;Awesome Audio Track&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ‘subtitle’ element describes secondary title.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;subtitle&amp;gt;The Sound of Music&amp;lt;/subtitle&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ‘tagline’ element describes promotional taglines and slogans.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tagline&amp;gt;Get to the real sound!&amp;lt;/tagline&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
See [[M3F example|Multimedia Metadata Format example page]].&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
* 2007-11-25 – Began work with simplifying the format.&lt;br /&gt;
* 2007-09-08 – Wiki page created based on original format and suggestions from the mailing list.&lt;br /&gt;
* 2007-09-06 – Format proposed on the ogg-dev mailing list by [[User:Aleksandersen|Daniel Aleksandersen]].&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Chapter_Extension</id>
		<title>Chapter Extension</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Chapter_Extension"/>
				<updated>2012-05-06T00:21:38Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Further Fields */ Replaced colon to suppress automatic link (to nowhere)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chapters are a means of providing direct and semantically relevant navigation points for a media file. On particular use case are so-called [http://en.wikipedia.org/wiki/Enhanced_podcast &amp;quot;enhanced podcasts&amp;quot;], i.e. audio files with additional chapter markers.&lt;br /&gt;
&lt;br /&gt;
Chapters are typically provided for a recorded file, not for a live resource.&lt;br /&gt;
&lt;br /&gt;
Since chapters are used for navigation - in particular to avoid having to listen to large amounts of undesired content in order to get to desired content - it is important that the information about chapters is available at the start of a media file to be able to be displayed without having to decode the media file. Therefore, we regard chapters as header-style metadata.&lt;br /&gt;
&lt;br /&gt;
Header-style metadata has traditionally been transported in [[VorbisComment]] headers inside Ogg.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
We therefore propose an extensions to VorbisComment for transporting chapters. We introduce VorbisComment fields called CHAPTERxxx and CHAPTERxxxNAME with xxx being a number between 000 and 999. (1000 chapters are assumed to be sufficient.)&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxx field name is the start time of the chapter (Hour:Min:DecimalSeconds), &amp;quot;--&amp;gt;&amp;quot; (U+002D, U+002D, U+003E), and the end time (Hour:Min:DecimalSeconds). See the [[#Examples|examples]] below.&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxxNAME field name is just a text string (8 bit clean UTF-8 encoded values, as is required for VorbisComments).&lt;br /&gt;
&lt;br /&gt;
This should basically support the same input format that [http://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Matroska chapters] support, too.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
An example chapter file with two sequential chapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000--&amp;gt;00:05:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:05:00.000--&amp;gt;00:10:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 2&lt;br /&gt;
&lt;br /&gt;
Another example chapter file with a chapter and three hierarchically structured subchapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000--&amp;gt;00:06:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:00:00.000--&amp;gt;00:02:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 1.1&lt;br /&gt;
 CHAPTER003=00:00:02.000--&amp;gt;00:04:00.000&lt;br /&gt;
 CHAPTER003NAME=Chapter 1.2&lt;br /&gt;
 CHAPTER004=00:00:04.000--&amp;gt;00:06:00.000&lt;br /&gt;
 CHAPTER004NAME=Chapter 1.3&lt;br /&gt;
&lt;br /&gt;
== Further Fields ==&lt;br /&gt;
&lt;br /&gt;
Other fields can also be used to support enhanced podcasts:&lt;br /&gt;
&lt;br /&gt;
* a field to extend chapters with a url to navigate to while listening to a chapter of a podcast:&lt;br /&gt;
&lt;br /&gt;
 CHAPTERxxxURL=http&amp;amp;#058;//...&amp;lt;!-- &amp;amp;#058; for colon used to suppress automatic link --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebVTT ==&lt;br /&gt;
&lt;br /&gt;
A more modern means of specifying chapters is through [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text WebVTT files that use cues with chapter titles].&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus"/>
				<updated>2012-05-02T17:10:53Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Created #REDIRECT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[OggOpus]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Chapter_Extension</id>
		<title>Chapter Extension</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Chapter_Extension"/>
				<updated>2012-04-11T18:27:08Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Further Fields */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chapters are a means of providing direct and semantically relevant navigation points for a media file. On particular use case are so-called [http://en.wikipedia.org/wiki/Enhanced_podcast &amp;quot;enhanced podcasts&amp;quot;], i.e. audio files with additional chapter markers.&lt;br /&gt;
&lt;br /&gt;
Chapters are typically provided for a recorded file, not for a live resource.&lt;br /&gt;
&lt;br /&gt;
Since chapters are used for navigation - in particular to avoid having to listen to large amounts of undesired content in order to get to desired content - it is important that the information about chapters is available at the start of a media file to be able to be displayed without having to decode the media file. Therefore, we regard chapters as header-style metadata.&lt;br /&gt;
&lt;br /&gt;
Header-style metadata has traditionally been transported in [[VorbisComment]] headers inside Ogg.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
We therefore propose an extensions to VorbisComment for transporting chapters. We introduce VorbisComment fields called CHAPTERxxx and CHAPTERxxxNAME with xxx being a number between 000 and 999. (1000 chapters are assumed to be sufficient.)&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxx field name is the start time of the chapter (Hour:Min:DecimalSeconds), &amp;quot;--&amp;gt;&amp;quot; (U+002D, U+002D, U+003E), and the end time (Hour:Min:DecimalSeconds). See the [[#Examples|examples]] below.&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxxNAME field name is just a text string (8 bit clean UTF-8 encoded values, as is required for VorbisComments).&lt;br /&gt;
&lt;br /&gt;
This should basically support the same input format that [http://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Matroska chapters] support, too.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
An example chapter file with two sequential chapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000--&amp;gt;00:05:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:05:00.000--&amp;gt;00:10:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 2&lt;br /&gt;
&lt;br /&gt;
Another example chapter file with a chapter and three hierarchically structured subchapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000--&amp;gt;00:06:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:00:00.000--&amp;gt;00:02:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 1.1&lt;br /&gt;
 CHAPTER003=00:00:02.000--&amp;gt;00:04:00.000&lt;br /&gt;
 CHAPTER003NAME=Chapter 1.2&lt;br /&gt;
 CHAPTER004=00:00:04.000--&amp;gt;00:06:00.000&lt;br /&gt;
 CHAPTER004NAME=Chapter 1.3&lt;br /&gt;
&lt;br /&gt;
== Further Fields ==&lt;br /&gt;
&lt;br /&gt;
Other fields can also be used to support enhanced podcasts:&lt;br /&gt;
&lt;br /&gt;
* a field to extend chapters with a url to navigate to while listening to a chapter of a podcast:&lt;br /&gt;
&lt;br /&gt;
 CHAPTERxxxURL=http://...&lt;br /&gt;
&lt;br /&gt;
== WebVTT ==&lt;br /&gt;
&lt;br /&gt;
A more modern means of specifying chapters is through [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text WebVTT files that use cues with chapter titles].&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:Ambisonics</id>
		<title>Talk:Ambisonics</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:Ambisonics"/>
				<updated>2012-04-10T14:43:06Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Not for Delete */ Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Not for Delete ==&lt;br /&gt;
&lt;br /&gt;
I deleted the &amp;lt;nowiki&amp;gt;{{delete}}&amp;lt;/nowiki&amp;gt; template, so thought I had better &lt;br /&gt;
explain why.  I have joined this Wiki because it looks like you guys have an &lt;br /&gt;
interest in Ambisonics.  I can help with this.  However, I need you to tell &lt;br /&gt;
me what you are looking for from Ambisonics.  For the moment, I have listed &lt;br /&gt;
some resources on Ambisonics, and included a short discussion on how the Ogg &lt;br /&gt;
formats could improve on the &lt;br /&gt;
[http://www.ambisonicbootlegs.net/Members/mleese/file-format-for-b-format/ &amp;quot;.amb&amp;quot;] &lt;br /&gt;
and &lt;br /&gt;
[http://www.ambisonicbootlegs.net/Members/mleese/file-format-for-uhj/ &amp;quot;.uhj&amp;quot;] &lt;br /&gt;
specifications.&lt;br /&gt;
&lt;br /&gt;
Ambisonics is mentioned on the [[OggPCM]] page, and I have made some minor &lt;br /&gt;
edits to that page.&lt;br /&gt;
&lt;br /&gt;
Please let me know what else would be useful to you.  [[User:Martin.leese|Martin Leese]] 22:14, 27 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
: I believe the &amp;lt;nowiki&amp;gt;{{delete}}&amp;lt;/nowiki&amp;gt; template used on a discussion page indicates only that ''discussion'' page should be deleted as it has been created by a spammer.  Obviously doesn't matter now that there's real content here, but I don't think it was a proposal to delete the ambisonics page itself. [[User:Imalone|Imalone]] 05:34, 27 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Actually, both the article ''and'' Talk page had the &amp;lt;nowiki&amp;gt;{{delete}}&amp;lt;/nowiki&amp;gt; template on them. I deleted both &amp;lt;nowiki&amp;gt;{{delete}}&amp;lt;/nowiki&amp;gt;s. My comments above were meant to be about the article; obviously I should have made that clearer. [[User:Martin.leese|Martin Leese]] 22:23, 27 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Hey, Martin.&lt;br /&gt;
&lt;br /&gt;
I've put a link to Richard Lee's index of stuff related with Ambisonics, however I have no time to check its details to explain in our article here what a user can find there.  If you do not mind, and have the time, please do so.  I think the more resources, the better.--[[User:Saoshyant|Saoshyant]] 06:42, 2 March 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/User:Martin.leese</id>
		<title>User:Martin.leese</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/User:Martin.leese"/>
				<updated>2012-04-10T14:41:23Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Ambisonic credentials */ Tweak&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== E-mail address &amp;amp; website ==&lt;br /&gt;
&lt;br /&gt;
For my e-mail address, please see &lt;br /&gt;
[http://members.tripod.com/martin_leese/ my website].&lt;br /&gt;
&lt;br /&gt;
== Ambisonic credentials ==&lt;br /&gt;
&lt;br /&gt;
I have joined this Wiki because it looks like you guys have an interest in Ambisonics.  I can help with this.  I have been following Ambisonics since 1977, and have owned an Ambisonic decoder (a Minim AD-7) since 1994.  I also created and maintain the [http://members.tripod.com/martin_leese/Ambisonic/faq_latest.html Ambisonic Surround Sound FAQ]. More recently, I was involved in defining the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot;] and [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot;] specifications for dowloadable B-Format and two-channel UHJ files. I have &lt;br /&gt;
also proposed the [http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot;] file format for downloadable G-Format files. However, I do not work in pro-audio; I am just a domestic listener.&lt;br /&gt;
&lt;br /&gt;
== [[Ambisonics]] on XiphWiki ==&lt;br /&gt;
&lt;br /&gt;
In January 2007, I found the [[Ambisonics]] page on this Wiki marked for deletion.  I removed this, and created a page discussing some of the problems of handling [[Ambisonics|Ambisonic]] B-Format, UHJ format, and G-Format.&lt;br /&gt;
&lt;br /&gt;
== External resources on Ambisonics ==&lt;br /&gt;
&lt;br /&gt;
* There is now a set of [http://en.wikipedia.org/wiki/Ambisonics Wikipedia articles on Ambisonics].&lt;br /&gt;
* Of particular relevance is the [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] for downloadable B-Format files. There are currently over 100 pieces available in this format [http://www.ambisonia.com for free download]. Most of these are first-order full-sphere soundfields. The &amp;quot;.amb&amp;quot; spec has some limitations which it would be useful to overcome. ''The Ambisonia.com website has ceased to exist. Its content will be resurrected at the University of York, although this is taking a little time.''&lt;br /&gt;
* There is also the [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] for downloadable two-channel UHJ files, although it is not currently in use. The &amp;quot;.uhj&amp;quot; spec also has some limitations which it would be useful to overcome.&lt;br /&gt;
* I have proposed a [http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot; specification] for downloadable G-Format files.&lt;br /&gt;
* [http://members.tripod.com/martin_leese/Ambisonic/ My website] has many pages on  Ambisonics (including at the bottom links to other Ambisonic websites).&lt;br /&gt;
&lt;br /&gt;
== Useful links (really here for my benefit) ==&lt;br /&gt;
&lt;br /&gt;
* [[Special:Longpages]]&lt;br /&gt;
* [http://wiki.xiph.org/index.php?title=Ambisonics&amp;amp;curid=909&amp;amp;action=history History:Ambisonics]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/User:Martin.leese</id>
		<title>User:Martin.leese</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/User:Martin.leese"/>
				<updated>2012-04-10T14:36:11Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Updated broken links + tidy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== E-mail address &amp;amp; website ==&lt;br /&gt;
&lt;br /&gt;
For my e-mail address, please see &lt;br /&gt;
[http://members.tripod.com/martin_leese/ my website].&lt;br /&gt;
&lt;br /&gt;
== Ambisonic credentials ==&lt;br /&gt;
&lt;br /&gt;
I have joined this Wiki because it looks like you guys have an interest in Ambisonics.  I can help with this.  I have been following Ambisonics since 1977, and have owned an Ambisonic decoder (a Minim AD 7) since 1994.  I also created and maintain the [http://members.tripod.com/martin_leese/Ambisonic/faq_latest.html Ambisonic Surround Sound FAQ]. More recently, I was involved in defining the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot;] and [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot;] specifications for dowloadable B-Format and two-channel UHJ files. I have &lt;br /&gt;
also proposed the [http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot;] file format for downloadable G-Format files. However, I do not work in pro-audio; I am just a domestic listener.&lt;br /&gt;
&lt;br /&gt;
== [[Ambisonics]] on XiphWiki ==&lt;br /&gt;
&lt;br /&gt;
In January 2007, I found the [[Ambisonics]] page on this Wiki marked for deletion.  I removed this, and created a page discussing some of the problems of handling [[Ambisonics|Ambisonic]] B-Format, UHJ format, and G-Format.&lt;br /&gt;
&lt;br /&gt;
== External resources on Ambisonics ==&lt;br /&gt;
&lt;br /&gt;
* There is now a set of [http://en.wikipedia.org/wiki/Ambisonics Wikipedia articles on Ambisonics].&lt;br /&gt;
* Of particular relevance is the [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] for downloadable B-Format files. There are currently over 100 pieces available in this format [http://www.ambisonia.com for free download]. Most of these are first-order full-sphere soundfields. The &amp;quot;.amb&amp;quot; spec has some limitations which it would be useful to overcome. ''The Ambisonia.com website has ceased to exist. Its content will be resurrected at the University of York, although this is taking a little time.''&lt;br /&gt;
* There is also the [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] for downloadable two-channel UHJ files, although it is not currently in use. The &amp;quot;.uhj&amp;quot; spec also has some limitations which it would be useful to overcome.&lt;br /&gt;
* I have proposed a [http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot; specification] for downloadable G-Format files.&lt;br /&gt;
* [http://members.tripod.com/martin_leese/Ambisonic/ My website] has many pages on  Ambisonics (including at the bottom links to other Ambisonic websites).&lt;br /&gt;
&lt;br /&gt;
== Useful links (really here for my benefit) ==&lt;br /&gt;
&lt;br /&gt;
* [[Special:Longpages]]&lt;br /&gt;
* [http://wiki.xiph.org/index.php?title=Ambisonics&amp;amp;curid=909&amp;amp;action=history History:Ambisonics]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/User:Martin.leese</id>
		<title>User:Martin.leese</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/User:Martin.leese"/>
				<updated>2012-04-10T14:28:57Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* External resources on Ambisonics */ Updated broken links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== E-mail address &amp;amp; website ==&lt;br /&gt;
For my e-mail address, please see &lt;br /&gt;
[http://members.tripod.com/martin_leese/ my website].&lt;br /&gt;
&lt;br /&gt;
== Ambisonic credentials ==&lt;br /&gt;
I have joined this Wiki because it looks like you guys have an interest in Ambisonics.  I can help with this.  I have been following Ambisonics since &lt;br /&gt;
1977, and have owned an Ambisonic decoder (a Minim AD 7) since 1994.  I also &lt;br /&gt;
created and maintain the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/faq_latest.html Ambisonic Surround Sound FAQ]. &lt;br /&gt;
More recently, I was involved in defining the &lt;br /&gt;
[http://www.ambisonia.com/Members/mleese/file-format-for-b-format/ &amp;quot;.amb&amp;quot;] &lt;br /&gt;
and [http://www.ambisonia.com/Members/mleese/file-format-for-uhj/ &amp;quot;.uhj&amp;quot;] &lt;br /&gt;
specifications for dowloadable B-Format and two-channel UHJ files. I have &lt;br /&gt;
also proposed the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot;] &lt;br /&gt;
file format for downloadable G-Format files. However, I do not work in &lt;br /&gt;
pro-audio; I am just a domestic listener.&lt;br /&gt;
&lt;br /&gt;
== [[Ambisonics]] on XiphWiki ==&lt;br /&gt;
I found that the [[Ambisonics]] page on this Wiki had been marked for &lt;br /&gt;
deletion.  I removed this, and created a page discussing some of the &lt;br /&gt;
problems of handling [[Ambisonics|Ambisonic]] B-Format, UHJ format, &lt;br /&gt;
and G-Format.&lt;br /&gt;
&lt;br /&gt;
== External resources on Ambisonics ==&lt;br /&gt;
&lt;br /&gt;
* There is now a set of [http://en.wikipedia.org/wiki/Ambisonics Wikipedia articles on Ambisonics].&lt;br /&gt;
* Of particular relevance is the [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] for downloadable B-Format files. There are currently over 100 pieces available in this format [http://www.ambisonia.com for free download]. Most of these are first-order full-sphere soundfields. The &amp;quot;.amb&amp;quot; spec has some limitations which it would be useful to overcome. ''The Ambisonia.com website has ceased to exist. Its content will be resurrected at the University of York, although this is taking a little time.''&lt;br /&gt;
* There is also the [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] for downloadable two-channel UHJ files, although it is not currently in use. The &amp;quot;.uhj&amp;quot; spec also has some limitations which it would be useful to overcome.&lt;br /&gt;
* I have proposed a [http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot; specification] for downloadable G-Format files.&lt;br /&gt;
* [http://members.tripod.com/martin_leese/Ambisonic/ My website] has many pages on  Ambisonics (including at the bottom links to other Ambisonic websites).&lt;br /&gt;
&lt;br /&gt;
== Useful links (really here for my benefit) ==&lt;br /&gt;
*[[Special:Longpages]]&lt;br /&gt;
*[http://wiki.xiph.org/index.php?title=Ambisonics&amp;amp;curid=909&amp;amp;action=history History:Ambisonics]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Nut_Container</id>
		<title>Nut Container</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Nut_Container"/>
				<updated>2012-03-11T18:55:00Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Removed SPAM link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page collects opinions about the NUT container format.&lt;br /&gt;
&lt;br /&gt;
* http://wiki.multimedia.cx/index.php?title=NUT&lt;br /&gt;
* http://ffmpeg.org/~michael/nut.txt&lt;br /&gt;
* http://fr.wikipedia.org/wiki/NUT_Container NUT at French Wikipedia&lt;br /&gt;
&lt;br /&gt;
== Comparison with Ogg ==&lt;br /&gt;
&lt;br /&gt;
Monty writes: &amp;quot;NUT is very similar to [[Ogg]] (at least when compared to the other contemporary systems).  It draws the abstraction lines in different places but has roughly the same functionality and hits the same practical limitations when considered in a system more complex than a desktop video player.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Nor can we take lightly the prospect of abandoning a hundred million installed copies of Ogg (including those in hardware) for no distinct practical benefit.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Chapter_Extension</id>
		<title>Chapter Extension</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Chapter_Extension"/>
				<updated>2012-03-09T22:16:08Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Changed to webvtt-style &amp;quot;--&amp;gt;&amp;quot; timestamp separators (with no whitespace)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chapters are a means of providing direct and semantically relevant navigation points for a media file. On particular use case are so-called [http://en.wikipedia.org/wiki/Enhanced_podcast &amp;quot;enhanced podcasts&amp;quot;], i.e. audio files with additional chapter markers.&lt;br /&gt;
&lt;br /&gt;
Chapters are typically provided for a recorded file, not for a live resource.&lt;br /&gt;
&lt;br /&gt;
Since chapters are used for navigation - in particular to avoid having to listen to large amounts of undesired content in order to get to desired content - it is important that the information about chapters is available at the start of a media file to be able to be displayed without having to decode the media file. Therefore, we regard chapters as header-style metadata.&lt;br /&gt;
&lt;br /&gt;
Header-style metadata has traditionally been transported in [[VorbisComment]] headers inside Ogg.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
We therefore propose an extensions to VorbisComment for transporting chapters. We introduce VorbisComment fields called CHAPTERxxx and CHAPTERxxxNAME with xxx being a number between 000 and 999. (1000 chapters are assumed to be sufficient.)&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxx field name is the start time of the chapter (Hour:Min:DecimalSeconds), &amp;quot;--&amp;gt;&amp;quot; (U+002D, U+002D, U+003E), and the end time (Hour:Min:DecimalSeconds). See the [[#Examples|examples]] below.&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxxNAME field name is just a text string (8 bit clean UTF-8 encoded values, as is required for VorbisComments).&lt;br /&gt;
&lt;br /&gt;
This should basically support the same input format that [http://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Matroska chapters] support, too.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
An example chapter file with two sequential chapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000--&amp;gt;00:05:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:05:00.000--&amp;gt;00:10:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 2&lt;br /&gt;
&lt;br /&gt;
Another example chapter file with a chapter and three hierarchically structured subchapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000--&amp;gt;00:06:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:00:00.000--&amp;gt;00:02:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 1.1&lt;br /&gt;
 CHAPTER003=00:00:02.000--&amp;gt;00:04:00.000&lt;br /&gt;
 CHAPTER003NAME=Chapter 1.2&lt;br /&gt;
 CHAPTER004=00:00:04.000--&amp;gt;00:06:00.000&lt;br /&gt;
 CHAPTER004NAME=Chapter 1.3&lt;br /&gt;
&lt;br /&gt;
== WebVTT ==&lt;br /&gt;
&lt;br /&gt;
A more modern means of specifying chapters is through [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text WebVTT files that use cues with chapter titles].&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:Chapter_Extension</id>
		<title>Talk:Chapter Extension</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:Chapter_Extension"/>
				<updated>2012-03-08T16:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Added missing attribution + response&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A field for chapter based urls is missing. I propose this:&lt;br /&gt;
&lt;br /&gt;
CHAPTERxxxURL=http://...&lt;br /&gt;
&lt;br /&gt;
[[User:Vemedio|Vemedio]] 08:17, March 8, 2012 (PST)&lt;br /&gt;
&lt;br /&gt;
: What would be its purpose? To where would the URL take you? [[User:Martin.leese|Martin Leese]] 08:43, 8 March 2012 (PST)&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Chapter_Extension</id>
		<title>Chapter Extension</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Chapter_Extension"/>
				<updated>2012-03-05T21:08:58Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Added section headings and details of format + tidy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chapters are a means of providing direct and semantically relevant navigation points for a media file. On particular use case are so-called [http://en.wikipedia.org/wiki/Enhanced_podcast &amp;quot;enhanced podcasts&amp;quot;], i.e. audio files with additional chapter markers.&lt;br /&gt;
&lt;br /&gt;
Chapters are typically provided for a recorded file, not for a live resource.&lt;br /&gt;
&lt;br /&gt;
Since chapters are used for navigation - in particular to avoid having to listen to large amounts of undesired content in order to get to desired content - it is important that the information about chapters is available at the start of a media file to be able to be displayed without having to decode the media file. Therefore, we regard chapters as header-style metadata.&lt;br /&gt;
&lt;br /&gt;
Header-style metadata has traditionally been transported in [[VorbisComment]] headers inside Ogg.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
We therefore propose an extensions to VorbisComment for transporting chapters. We introduce VorbisComment fields called CHAPTERxxx and CHAPTERxxxNAME with xxx being a number between 000 and 999. (1000 chapters are assumed to be sufficient.)&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxx field name is the start time of the chapter (Hour:Min:DecimalSeconds), a dash (U+002D), and the end time (Hour:Min:DecimalSeconds). See the [[#Examples|examples]] below.&lt;br /&gt;
&lt;br /&gt;
The value for the CHAPTERxxxNAME field name is just a text string (8 bit clean UTF-8 encoded values, as is required for VorbisComments).&lt;br /&gt;
&lt;br /&gt;
This should basically support the same input format that [http://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Matroska chapters] support, too.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
An example chapter file with two sequential chapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000-00:05:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:05:00.000-00:10:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 2&lt;br /&gt;
&lt;br /&gt;
Another example chapter file with a chapter and three hierarchically structured subchapters: &lt;br /&gt;
&lt;br /&gt;
 CHAPTER001=00:00:00.000-00:06:00.000&lt;br /&gt;
 CHAPTER001NAME=Chapter 1&lt;br /&gt;
 CHAPTER002=00:00:00.000-00:02:00.000&lt;br /&gt;
 CHAPTER002NAME=Chapter 1.1&lt;br /&gt;
 CHAPTER003=00:00:02.000-00:04:00.000&lt;br /&gt;
 CHAPTER003NAME=Chapter 1.2&lt;br /&gt;
 CHAPTER004=00:00:04.000-00:06:00.000&lt;br /&gt;
 CHAPTER004NAME=Chapter 1.3&lt;br /&gt;
&lt;br /&gt;
== WebVTT ==&lt;br /&gt;
&lt;br /&gt;
A more modern means of specifying chapters is through [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text WebVTT files that use cues with chapter titles].&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Chapter_Extension</id>
		<title>Chapter Extension</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Chapter_Extension"/>
				<updated>2012-03-05T19:54:41Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Fixed broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chapters are a means of providing direct and semantically relevant navigation points for a media file. On particular use case are so-called [http://en.wikipedia.org/wiki/Enhanced_podcast &amp;quot;enhanced podcasts&amp;quot;], i.e. audio files with additional chapter markers.&lt;br /&gt;
&lt;br /&gt;
Chapters are typically provided for a recorded file, not for a live resource.&lt;br /&gt;
&lt;br /&gt;
Since chapters are used for navigation - in particular to avoid having to listen to large amounts of undesired content in order to get to desired content - it is important that the information about chapters is available at the start of a media file to be able to be displayed without having to decode the media file. Therefore, we regard chapters as header-style metadata.&lt;br /&gt;
&lt;br /&gt;
Header-style metadata has traditionally been transported in VorbisComment headers inside Ogg.&lt;br /&gt;
&lt;br /&gt;
We therefore propose an extensions to VorbisComment for transporting chapters. We introduce VorbisComment fields called CHAPTERxxx and CHAPTERxxxNAME with xxx being a number between 000 and 999. We assume 1000 chapters to be sufficient.&lt;br /&gt;
&lt;br /&gt;
An example chapter file with two sequential chapters: &lt;br /&gt;
&lt;br /&gt;
  CHAPTER001=00:00:00.000-00:05:00.000&lt;br /&gt;
  CHAPTER001NAME=Chapter 1&lt;br /&gt;
  CHAPTER002=00:05:00.000-00:10:00.000&lt;br /&gt;
  CHAPTER002NAME=Chapter 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another example chapter file with a chapter and three hierarchically structured subchapters: &lt;br /&gt;
&lt;br /&gt;
  CHAPTER001=00:00:00.000-00:06:00.000&lt;br /&gt;
  CHAPTER001NAME=Chapter 1&lt;br /&gt;
  CHAPTER002=00:00:00.000-00:02:00.000&lt;br /&gt;
  CHAPTER002NAME=Chapter 1.1&lt;br /&gt;
  CHAPTER003=00:00:02.000-00:04:00.000&lt;br /&gt;
  CHAPTER003NAME=Chapter 1.2&lt;br /&gt;
  CHAPTER004=00:00:04.000-00:06:00.000&lt;br /&gt;
  CHAPTER004NAME=Chapter 1.3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This should basically support the same input format that [http://savvyadmin.com/adding-chapters-to-videos-using-mkv-containers/ Matroska chapters] support, too.&lt;br /&gt;
&lt;br /&gt;
A more modern means of specifying chapters is through [http://dev.w3.org/html5/webvtt/#webvtt-file-using-chapter-title-text WebVTT files that use cues with chapter titles].&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:Spread_Open_Media</id>
		<title>Talk:Spread Open Media</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:Spread_Open_Media"/>
				<updated>2011-12-29T19:47:40Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Added headings + attribution&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Promotional Banners ==&lt;br /&gt;
&lt;br /&gt;
Page should contain at least one of the campaign promotional banners.  --[[User:Aleksandersen|Aleksandersen]] 10:02, November 25, 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Supporting Websites ==&lt;br /&gt;
&lt;br /&gt;
The links to Vorbis supporting websites/music sources at vorbis.com seems incomplete. Bandcamp is not there and it seems to me that page should be linked to content and discussion here, maybe as part of Vorbis evangelism. --[[User:JLeclerc|JLeclerc]] 23:50, 28 December 2011 (PST)&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:PortablePlayers</id>
		<title>Talk:PortablePlayers</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:PortablePlayers"/>
				<updated>2011-11-12T15:51:48Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Undo revision 13110 by DeclanDoyle (talk) SPAM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Discontinued players ==&lt;br /&gt;
I think that discontinued players should be moved into a different section.  Not necessarily removed, as many are still available on clearance/refurbished/used.&lt;br /&gt;
&lt;br /&gt;
The question is, how to make the split?  I see three possibilities:&lt;br /&gt;
# Discontinued players on a separate page&lt;br /&gt;
# same page, but separate top-level section.  e.g.:&lt;br /&gt;
#* Current devices&lt;br /&gt;
#** Flash-memory devices&lt;br /&gt;
#** HD devices&lt;br /&gt;
#** CD/DVD devices&lt;br /&gt;
#* Discontinued devices&lt;br /&gt;
#** Flash-memory devices&lt;br /&gt;
#** HD devices&lt;br /&gt;
#** CD/DVD devices&lt;br /&gt;
# make a subsection within each section.  e.g.:&lt;br /&gt;
#* Flash-memory devices&lt;br /&gt;
#**Current devices&lt;br /&gt;
#**Discontinued devices&lt;br /&gt;
#* HD devices&lt;br /&gt;
#**Current devices&lt;br /&gt;
#**Discontinued devices&lt;br /&gt;
#* CD/DVD devices&lt;br /&gt;
#**Current devices&lt;br /&gt;
#**Discontinued devices&lt;br /&gt;
&lt;br /&gt;
I'll hold off any updates right now, but I'll check back in a few days/weeks/whenever and see if there's any opinions here.  If there's no disagreement by then, and noone has beat me to it, I'll take the initiative. [[User:Bsammon|Bsammon]] 03:43, 30 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Having sections for discontinued devices (on each subpage) is fine - but I suggest to avoid explicit ''Current devices'' sections. With a ''discontinued devices'' section on a page it is immediately clear that everything listed before is current.--[[User:Gsauthof|Gsauthof]] 10:09, 30 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== List of top five players ==&lt;br /&gt;
It would be a good idea to have a few (five?) players at the top with images that are considered to be the best *recent* devices. I don't think any of the MP3 using masses will use this page to choose their next music player unless it lists recent devices, and presents a choice of five or six at the top, with images, and links to sites that they can buy them from. Also, could someone put up a notice to remind people it's not OGG, or Ogg! It's Ogg Vorbis, or if you must, Vorbis. - thehumanerror 25th December 2006&lt;br /&gt;
&lt;br /&gt;
I totally agree with the above. This page was next to useless for me when I was shopping for a Vorbis player since I was overwhelmed with choices. Add to that the fact that many products have been discontinued or cannot be bought new and there's a recipe for disaster. - erpo41 October 17th, 2007&lt;br /&gt;
&lt;br /&gt;
I also agree with the above; the primary reason I am not using Ogg Vorbis (I keep a parallel collection of mp3 and flac files) is I cannot easily find a portable player.  I don't know that reorganizing this wiki page will help.  I did comb through this page; basically all of the  listed hard disk players are from one off manufacturers or not being manufactured any more.  There are plenty of nice flash storage based devices and cell phones (from Samsung and others), but that is not what I am looking for.  Also, I'm not interested in hacking my iPod.  (I do embedded linux development enough at work; I'll pay someone else to get my media player working).  Until this is addressed, Ogg Vorbis is going to remain out of use; which is a shame because for every other reason it is the best (in my opinion).  --Kevin Holzer, January 10, 2009&lt;br /&gt;
&lt;br /&gt;
:Yes.  This is a good idea.  Create a section at the top.  Polish it well.  And perhaps add a free-licensed photo.  Anyone up for it?--[[User:Saoshyant|Ivo]] 06:41, 17 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I would rather see just a simple feature matrix (sorted so that unavailable devices are listed at the bottom, or just not listed at all). See talk below. Maybe preferred choises could be raised to the top thought! I agree that current list is quite unusable.&lt;br /&gt;
&lt;br /&gt;
:As of now, the page contains a feature matrix, which only lists current and available devices. Thus, when you check this page out for buying advice it should be more useful now, i.e. it has no overwhelming effect anymore. I consider the raised issues as '''done'''. --[[User:Gsauthof|Gsauthof]] 10:04, 30 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Recording in Vorbis ==&lt;br /&gt;
&lt;br /&gt;
I would like to know which Players can '''record''' in Vorbis?! -- [[User:217.186.150.213|217.186.150.213]] 17:03, 26 Dec 2004 (PST)&lt;br /&gt;
&lt;br /&gt;
:Ditto. Absolutely vital information. Do any of the players listed also record in Vorbis? If anyone has experience with A player, please state specifically whether it does or does not record in Vorbis.[[User:Nickhill|Nickhill]] 15:04, 4 June 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Never heard of one that does, and there isn't a fixed point reference encoder, which makes it unlikely.&lt;br /&gt;
&lt;br /&gt;
== Pretec Allegro may need firmware update ==&lt;br /&gt;
&lt;br /&gt;
I recently purchased a Pretec Allegro, but was unable to play Oggs for three months, until the firmware update was made available on 14 or 15 March 2005. Now it works well! (So far, listening to -q3 Oggs). I'd hope that units purchased after this date already has the firmware update, but you never know. Installing the update is as simple as placing the .rom on the USB-storage-device media (eg flash disk), starting up the unit, and pressing the play button. -- Hugo van der Merwe&lt;br /&gt;
: How much battery runtime do you get playing Oggs compared with playing mp3?  [[User:Phr|Phr]] 02:05, 27 Aug 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Any player with Removable Memory Cards ==&lt;br /&gt;
&lt;br /&gt;
The NexBlack (see [[PortablePlayers]] ) has removable compact flash and batteries.&lt;br /&gt;
&lt;br /&gt;
Every single Vorbis-capable portable player out there seems to come with built-in flash memory. Which is stupid, because I don't want to fire up my computer and plug in the player every time I get tired of the tracks on my player. Plus flash memory has a limited lifetime (write cycles) and so does your player with built-in memory. The same applies for built-in rechargable batteries. &lt;br /&gt;
&lt;br /&gt;
Now when would you ever need to buy your second device without any moving parts if you could just change flash memory and batteries? Ok, that's the industrie's point of view but not mine. I want to go on vacation with music and batteries for one week of non-stop music - without a power source or computer nearby.&lt;br /&gt;
&lt;br /&gt;
So, any hint to where I might find a portable audio player that can play back ogg vorbis files and uses SD flash cards (and preferably AAA-batteries) would be greatly appreciated.&lt;br /&gt;
* Me too! If the [http://enox.co.kr/2004/eng/product/product_830_01.asp Enox EMX-830] took SD cards it'd be perfect. --[[User:Rgm|rgm]] 14:41, 7 Nov 2005 (PST)&lt;br /&gt;
&lt;br /&gt;
* SanDisk Sansa e250/e260/e270/e280 has a microSD-card slot. With ROCKbox it plays Ogg/Vorbis and more.[[User:Nostromo|Nostromo]] 15:26, 29 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The Pretec Allegro is not the slickest player out there, it's LCD backlight seems to give off a high-pitched whine, which not everyone can hear (it kind-of screams in my ears though, so I put the backlight timer on 1 second so it doesn't scream too long). It is, however, the only one I now know of that can play Oggs, and uses removable media. If you want a nicely portable device, you have to use Pretec's &amp;quot;iDisk tiny&amp;quot; usb flash disk, the only thing that will fit inside. You can also, however, connect some USB SD-card reader with it's cable, then listen to Oggs off of SD. A little unwieldy, but, it works, and is the only thing *I* know of. (I stopped following developments in December though, when I bought it...)&lt;br /&gt;
&lt;br /&gt;
== Samsung / Yepp ==&lt;br /&gt;
&lt;br /&gt;
Moved to [[Talk:PortablePlayersSamsungYepp]]&lt;br /&gt;
&lt;br /&gt;
== UniBrain iZak ==&lt;br /&gt;
&lt;br /&gt;
Apologies if this is the wrong place for this; I'm new to wikis.&lt;br /&gt;
&lt;br /&gt;
The UniBrain iZak was added, then removed recently, with the comment that it doesn't claim to play Ogg Vorbis.&lt;br /&gt;
&lt;br /&gt;
The FAQ is available here: [http://www.unibrain.com/support/FAQ_iZak.htm iZak FAQ] and Question/Answer 24 says:&lt;br /&gt;
&lt;br /&gt;
'22. Can iZak™ support OGG audio files?&lt;br /&gt;
&lt;br /&gt;
Yes, iZak™ fully supports OGG playback using the latest firmware.'&lt;br /&gt;
&lt;br /&gt;
:I was the one that removed it. In their specs linked from the main page, I saw that they listed only MP3 and WMA support for music formats. Obviously they need to update their promotional material! I went ahead and added the iZak back in, making a point to mention that the most current version of the firmware now supports Ogg Vorbis and linking to their FAQ as evidence. [[User:Saxifrage|Saxifrage]] 02:36, 5 May 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Splendid. I didn't want to just stick it back after it had been taken out.--[[User:Ipl|Ipl]] 05:14, 5 May 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Entempo Spirit ==&lt;br /&gt;
&lt;br /&gt;
This inexpensive player from Entempo had listed Vorbis as a &amp;quot;Supported Audio Format&amp;quot;, but the device will not index the Vorbis files into it's menus -- let alone play the files.  Tested with both the stock and most recent firmware, May 29, 2005.  Vendor had been contacted and removed Vorbis support claims from their website, but has not provided any resolution to customers which purchased the product expecting this support.  The company's webpage has disappeared as of Feb 2006.&lt;br /&gt;
&lt;br /&gt;
== Lexar LDP-800 dropped ==&lt;br /&gt;
It seems that Lexar have abondoned the LDP-800. The following was posted by a user on [http://www.dapreview.net/comment.php?comment.news.1055 dapreview.net]&lt;br /&gt;
&amp;quot; Unfortunately, lexar will not offer the LDP-800, but will focus instead&lt;br /&gt;
on its existing LDP Players that already offer appealing features and&lt;br /&gt;
benefits to meet a variety of consumer needs.&amp;quot;&lt;br /&gt;
Shame.--[[User:Ipl|Ipl]] 06:15, 22 Jul 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
There's more info on that dapreview thread that indicates some confusion within Lexar. Currently, it looks like the release is going to happen in early September.&lt;br /&gt;
&lt;br /&gt;
Update 2005-11-11: after inquiries to Lexar's &amp;quot;new products&amp;quot; personnel, I received a telephone message that the LDP-800 will definitely &amp;quot;is not going to see the light of day.&amp;quot;  Ask me if you want details.  I agree that it's a shame since this looked to be an outstanding product. --[[User:dfavro|dfavro]]&lt;br /&gt;
&lt;br /&gt;
== Hong Kong Dream-tech Electronic DT-202, works? please confirm ==&lt;br /&gt;
http://hkdream-tech.com&lt;br /&gt;
An ebay seller says that it can reproduce Vorbis. This is unconfirmed. In the manufacturer web it says: MP3, WMA, WAV, DMV and etc. &lt;br /&gt;
&lt;br /&gt;
Some webpage also says that it works on Windows, Mac and Linux. Also unconfirmed.&lt;br /&gt;
Further investigation required.&lt;br /&gt;
&lt;br /&gt;
== Trekstor i.Beat Cube ==&lt;br /&gt;
This player seems to be very similar to the Samsung Yepp YP-T6, possibly with the [[#Yepp_MT-6X|same problems]] regarding Vorbis playback. Trekstor has moved [http://www.trekstor.de/en/produkte/mp3-player/ibeat-cube.html info about this player] from &amp;quot;MP3-Player&amp;quot; to the &amp;quot;Archive&amp;quot; section which propably means that it is not produced anymore.&lt;br /&gt;
&lt;br /&gt;
== The Muzio jm300 / jm-300 does NOT play Vorbis ==&lt;br /&gt;
&lt;br /&gt;
NB this is the jm-300 (not 100 or 200)&lt;br /&gt;
&lt;br /&gt;
I bought this a month ago. I've been unable to play Vorbis files on&lt;br /&gt;
it. It simply shows these as 'etc' files and skips over them.&lt;br /&gt;
&lt;br /&gt;
Pitty really, this was the main reason I chose this player.&lt;br /&gt;
&lt;br /&gt;
I've seen lots of discussion about the muzio playing oggs, is there&lt;br /&gt;
anybody there who owns a jm300 and is actually playing oggs ? I can't&lt;br /&gt;
help think I've juts missed something basic.&lt;br /&gt;
&lt;br /&gt;
== Layout of the PortablePlayers list and Feature matrix ==&lt;br /&gt;
It's gone!  I've moved this discussion to [[Talk:PortablePlayersv2]]. [[User:Imalone|Imalone]] 10:55, 18 November 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
:Is there something very wrong with those proposals? I mean, is there any reason why (even a simple) feature matrix just could not be applied right now? It would probably solve 'list of top 5 players' problem above too. Just list something basic from the main features, name, size, weight, price, battery (internal, aa, aaa, ..), capasity, flash card type (sd, microsd, ..) , availability (current or discontinued), supported formats, charging (usb or propietary or none). Link to the longer comments. No complicated sorting or anything too fancy. No icons. Name can be a abbreviation to save space, use it as a link to current comments.&lt;br /&gt;
&lt;br /&gt;
::As of now I consider this as '''done'''. --[[User:Gsauthof|Gsauthof]] 10:14, 30 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== NEXBlack out ==&lt;br /&gt;
&lt;br /&gt;
I got my NEXBlack player today from Frontier Labs. It is a nice gadget with sleek design. They have corrected the occasional snap-sounds that came between tracks and it is overall more usable now. Vorbis-files also play fine, but the current firmware doesn't have Vorbis-tag reader, which is somewhat major drawback. The music selection works through mp3-tags and you can select by album, artist, genre and playlist, but since Vorbis tags won't work you have to select &amp;quot;unordered&amp;quot; to play them. Vorbis-files are all listed in one big list. I hope they either implement a Vorbis-tag reader or revert to old Nex IIe system where you could select by folder in the flash disc. But for the cheap price ($89), it is a good player... waiting for a new firmware..&lt;br /&gt;
&lt;br /&gt;
== Sumvision M18/S1 ==&lt;br /&gt;
&lt;br /&gt;
I've just got the 2GB Sumvision and it plays the OGG files I've tested so far. Should I add it to the list? [[User:Steevc|Steevc]] 04:05, 19 April 2007 (PDT)&lt;br /&gt;
:Yes, [http://en.wikipedia.org/wiki/Wikipedia:Be_bold just do it :)]. --[[User:Gsauthof|Gsauthof]] 10:18, 30 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Humble A2 Review ==&lt;br /&gt;
&lt;br /&gt;
Just a blog link [http://www.personal.psu.edu/gsc127/blogs/2007/10/happiness-with-cowon-a2.html to my review of the the Cowon A2].  Thanks, [[User:GChriss|GChriss]] 13:23, 6 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== iRiver e100 ==&lt;br /&gt;
&lt;br /&gt;
[http://reviews.cnet.com/4566-6490_7-0.html?filter=1000036_5260177_ CNet] and [http://www.amazon.com/iRiver-E100-Multimedia-Player-White/dp/B00171UYYS/ref=pd_bbs_sr_5?ie=UTF8&amp;amp;s=electronics&amp;amp;qid=1208253617&amp;amp;sr=8-5 Amazon] are saying the iRiver e100 supports Vorbis.  I haven't tested it myself. [[User:Mattflaschen|Mattflaschen]] 03:09, 15 April 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Bought an vorbis-enabled player recently? Tell us where! ==&lt;br /&gt;
&lt;br /&gt;
I have started a page that should allow people easier purchasing of vorbis-enabled players: [[PortablePlayers_per_Place]]&lt;br /&gt;
&lt;br /&gt;
Everyone, who bought an vorbis-enabled player recently should update the page with place and model.&lt;br /&gt;
&lt;br /&gt;
== Move Flash/HD-sections to dedicated pages ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
IMHO the PortablePlayers page is too long. I want to split it into several pages for each main section. Like [[PortablePlayers/Flash]], [[PortablePlayers/Harddisk]] etc.. Sure, one have to fix some links then, but I am convinced this step would increase the usability a lot.&lt;br /&gt;
What do you think about that? --[[User:Gsauthof|Gsauthof]] 01:20, 31 March 2009 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Since there were no objections I restructured the page as planned. --[[User:Gsauthof|Gsauthof]] 10:07, 27 June 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/VorbisCasts</id>
		<title>VorbisCasts</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/VorbisCasts"/>
				<updated>2011-10-26T16:42:36Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Reverted edits by Martin.leese (talk) to last revision by Gsauthof&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These links usually point to the page with instructions on how to subscribe to an audiocast (also known as [http://en.wikipedia.org/wiki/Podcast netcast or podcast]), not to the audiocast's main homepage. We don't link directly to the feed url because they tend to move around, because the audiocasts like having people visit their websites, and this way you can compare Vorbis with the other legacy proprietary codecs many of these audiocasts still use.&lt;br /&gt;
&lt;br /&gt;
== Active ==&lt;br /&gt;
* [http://alternativlos.org/ Alternativlos] - German audiocast about political topics, social/technical debates and conspiracy theories&lt;br /&gt;
* [http://deimhart.net/ Deimhart] - German language audiocast about Linux, Ubuntu and Open Source which got a European Podcast Award in 2011.&lt;br /&gt;
* [http://pipes.yahoo.com/pipes/pipe.info?_id=_BR1WkSS3RGuRqdV1L3fcQ FLOSS Weekly] - weekly audiocast from the TWIT network about Free/Libre/Open Source Software&lt;br /&gt;
* [http://faif.us/ Free as in Freedom] - Legal aspects of free software by the hosts of the discontinued Software Freedom Law Center audiocast&lt;br /&gt;
* [http://www.hackerfunk.ch/ Hackerfunk] - Swiss German audiocast about hacking related topics (vintage computing, programming languages etc.)&lt;br /&gt;
* [http://kernelpanicoggcast.net/ Kernelpanic Oggcast]&lt;br /&gt;
* [http://sixgun.org/linuxoutlaws/ Linux Outlaws] - Weekly audiocast about releases, news (including MS and Apple watch), interviews and reviews.&lt;br /&gt;
* [http://www.radionz.co.nz/national/programmes Radio New Zealand National] - [http://en.wikipedia.org/wiki/Radio_New_Zealand_National publicly-funded non-commercial radio] that provides several audiocasts of its programmes, e.g.: [http://www.radionz.co.nz/national/programmes/ourchangingworld Our Changing World] (science show) and [http://www.radionz.co.nz/national/programmes/atthemovies At the Movies] (movie show)&lt;br /&gt;
* [http://blog.radiotux.de/podcasts/ Radio Tux] - Audiocasts from the german Linux news radio&lt;br /&gt;
* [http://ratholeradio.org/ Rathole Radio] - Free music audiocast, i.e. mainly featuring music licensed under the Creative Commons license&lt;br /&gt;
* [http://www.sourcetrunk.com/ Sourcetrunk] - Project/task centric audiocast using Open Source and free software.&lt;br /&gt;
* [http://tllts.org/rsspage.php The Linux Link Tech Show]&lt;br /&gt;
* [http://www.tuxradar.com/podcast TuxRadar] - Weekly audiocast about Linux related news, releases and opinionated discussions.&lt;br /&gt;
&lt;br /&gt;
== Directories ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.ubuntu.com/Podcasts Ubuntu Podcasts] - List of Linux/Ubuntu related audiocasts including ogg vorbis feeds&lt;br /&gt;
* [http://oggcastplanet.org/members.html Oggcast Planet] - List of Ogg Vorbis only audiocasts&lt;br /&gt;
&lt;br /&gt;
== Finished ==&lt;br /&gt;
Audiocasts that are still available but do not produce new episodes.&lt;br /&gt;
&lt;br /&gt;
* [http://www.scienceschool.usyd.edu.au/ISS2007/index.php?page=podcasts ISS2007 ecoscience] - lecture audiocast of the 34th International Science School ecoscience, 2007, University of Sydney, Australia. Target audience is high-school students.&lt;br /&gt;
* [http://www.pbs.org/cringely/nerdtv/rss/ NerdTV] - Interview audiocast with famous guests from computer/internet history (e.g. the 'inventor of TCP'). Sponsored bei PBS. Until 2006-04.&lt;br /&gt;
* [http://www.softwarefreedom.org/feeds/ Oggcast] - Bi-weekly audiocast from the Software Freedom Law Center, New York. Until 2011-08.&lt;br /&gt;
* [http://www.linux-foundation.org/weblogs/openvoices Open Voices] - Interview audiocast by the Linux Foundation, featuring interviews with guests like Linus Torvalds, open source people from Mozilla etc.&lt;br /&gt;
* [http://jamespurser.com.au/blog/almost-six-years-ago-i-started-linux-australia-update Linux Australia Update]. Until 2006.&lt;br /&gt;
* [http://www.archive.org/search.php?query=creator:%22chess%20griffin%22&amp;amp;usort=date Linux Reality Podcast]. [http://www.linuxreality.com/ Until 2008-03.]&lt;br /&gt;
* [http://www.lugradio.org/ LugRadio] - Until 2008.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/VorbisCasts</id>
		<title>VorbisCasts</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/VorbisCasts"/>
				<updated>2011-10-26T16:40:51Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Undo revision 13100 by Gsauthof (talk) SPAM link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These links usually point to the page with instructions on how to subscribe to an audiocast (also known as [http://en.wikipedia.org/wiki/Podcast netcast or podcast]), not to the audiocast's main homepage. We don't link directly to the feed url because they tend to move around, because the audiocasts like having people visit their websites, and this way you can compare Vorbis with the other legacy proprietary codecs many of these audiocasts still use.&lt;br /&gt;
&lt;br /&gt;
== Active ==&lt;br /&gt;
* [http://deimhart.net/ Deimhart] - German language audiocast about Linux, Ubuntu and Open Source which got a European Podcast Award in 2011.&lt;br /&gt;
* [http://pipes.yahoo.com/pipes/pipe.info?_id=_BR1WkSS3RGuRqdV1L3fcQ FLOSS Weekly] - weekly audiocast from the TWIT network about Free/Libre/Open Source Software&lt;br /&gt;
* [http://faif.us/ Free as in Freedom] - Legal aspects of free software by the hosts of the discontinued Software Freedom Law Center audiocast&lt;br /&gt;
* [http://www.hackerfunk.ch/ Hackerfunk] - Swiss German audiocast about hacking related topics (vintage computing, programming languages etc.)&lt;br /&gt;
* [http://kernelpanicoggcast.net/ Kernelpanic Oggcast]&lt;br /&gt;
* [http://sixgun.org/linuxoutlaws/ Linux Outlaws] - Weekly audiocast about releases, news (including MS and Apple watch), interviews and reviews.&lt;br /&gt;
* [http://www.radionz.co.nz/national/programmes Radio New Zealand National] - [http://en.wikipedia.org/wiki/Radio_New_Zealand_National publicly-funded non-commercial radio] that provides several audiocasts of its programmes, e.g.: [http://www.radionz.co.nz/national/programmes/ourchangingworld Our Changing World] (science show) and [http://www.radionz.co.nz/national/programmes/atthemovies At the Movies] (movie show)&lt;br /&gt;
* [http://blog.radiotux.de/podcasts/ Radio Tux] - Audiocasts from the german Linux news radio&lt;br /&gt;
* [http://ratholeradio.org/ Rathole Radio] - Free music audiocast, i.e. mainly featuring music licensed under the Creative Commons license&lt;br /&gt;
* [http://www.sourcetrunk.com/ Sourcetrunk] - Project/task centric audiocast using Open Source and free software.&lt;br /&gt;
* [http://tllts.org/rsspage.php The Linux Link Tech Show]&lt;br /&gt;
* [http://www.tuxradar.com/podcast TuxRadar] - Weekly audiocast about Linux related news, releases and opinionated discussions.&lt;br /&gt;
&lt;br /&gt;
== Directories ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.ubuntu.com/Podcasts Ubuntu Podcasts] - List of Linux/Ubuntu related audiocasts including ogg vorbis feeds&lt;br /&gt;
* [http://oggcastplanet.org/members.html Oggcast Planet] - List of Ogg Vorbis only audiocasts&lt;br /&gt;
&lt;br /&gt;
== Finished ==&lt;br /&gt;
Audiocasts that are still available but do not produce new episodes.&lt;br /&gt;
&lt;br /&gt;
* [http://www.scienceschool.usyd.edu.au/ISS2007/index.php?page=podcasts ISS2007 ecoscience] - lecture audiocast of the 34th International Science School ecoscience, 2007, University of Sydney, Australia. Target audience is high-school students.&lt;br /&gt;
* [http://www.pbs.org/cringely/nerdtv/rss/ NerdTV] - Interview audiocast with famous guests from computer/internet history (e.g. the 'inventor of TCP'). Sponsored bei PBS. Until 2006-04.&lt;br /&gt;
* [http://www.softwarefreedom.org/feeds/ Oggcast] - Bi-weekly audiocast from the Software Freedom Law Center, New York. Until 2011-08.&lt;br /&gt;
* [http://www.linux-foundation.org/weblogs/openvoices Open Voices] - Interview audiocast by the Linux Foundation, featuring interviews with guests like Linus Torvalds, open source people from Mozilla etc.&lt;br /&gt;
* [http://jamespurser.com.au/blog/almost-six-years-ago-i-started-linux-australia-update Linux Australia Update]. Until 2006.&lt;br /&gt;
* [http://www.archive.org/search.php?query=creator:%22chess%20griffin%22&amp;amp;usort=date Linux Reality Podcast]. [http://www.linuxreality.com/ Until 2008-03.]&lt;br /&gt;
* [http://www.lugradio.org/ LugRadio] - Until 2008.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/MediaWiki:Deletereason-dropdown</id>
		<title>MediaWiki:Deletereason-dropdown</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/MediaWiki:Deletereason-dropdown"/>
				<updated>2011-09-15T19:57:47Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Added &amp;quot;SPAM links&amp;quot; + reordered&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Common delete reasons&lt;br /&gt;
** SPAM links&lt;br /&gt;
** Vandalism&lt;br /&gt;
** Copyright violation&lt;br /&gt;
** Author request&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Bounties</id>
		<title>Bounties</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Bounties"/>
				<updated>2011-09-13T16:05:25Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Reverted SPAM link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are proposed bounty projects, similar to http://gnome.org/bounties/ &lt;br /&gt;
or the [http://ghostscript.com/article/58.html Ghostscript bug bounty] program.&lt;br /&gt;
We don't have the same level of funding but could start a pot with $10-$100 and&lt;br /&gt;
let people contribute to specific bounties through paypal.&lt;br /&gt;
&lt;br /&gt;
=== Xiph Quicktime Plugin ===&lt;br /&gt;
[http://www.xiph.org/quicktime/ QuickTime Components] is now a project hosted on xiph.org.&lt;br /&gt;
&lt;br /&gt;
You have to write a Quicktime Plugin for the Ogg container and the Xiph Codec Family.&lt;br /&gt;
[http://qtcomponents.sf.net qtcomponents] provides support for Ogg Vorbis and MNG. This could be used as start.&lt;br /&gt;
Xiph Quicktime Plugin has to support encoding/decoding for:&lt;br /&gt;
* Ogg Media container&lt;br /&gt;
**[http://qtcomponents.sf.net qtcomponents] ''has an operational pluggable API for import, it needs some work to be long term supportable.  It does not have a pluggable API for exporting at this time.''&lt;br /&gt;
* Support for Chained Ogg Streams&lt;br /&gt;
**[http://qtcomponents.sf.net qtcomponents] ''imports chained files as multiple tracks in QuickTime.  It does not create chained files during export.''&lt;br /&gt;
* Support for Icecast Streams (sending is optional)&lt;br /&gt;
**[http://qtcomponents.sf.net qtcomponents] ''implements nothing towards this item.  First up is a reverse-engineering effort, as the specifications for a streaming media handler have not been published.''&lt;br /&gt;
* Support for Xiph Codec Family: Vorbis, Theora, FLAC, Speex, Writ&lt;br /&gt;
**[http://qtcomponents.sf.net qtcomponents] ''has code for Vorbis and Speex (not working at the moment) and there is code at [http://damien.drix.free.fr/qtflac/ Damien Drix's site] for FLAC (decode only).''&lt;br /&gt;
It must also be possible to use the Xiph codecs in .mov files in combination with other quicktime codecs.&lt;br /&gt;
*[http://qtcomponents.sf.net qtcomponents] ''supports embedding media encoded with Xiph codes into .mov files.''&lt;br /&gt;
The plugin should work with at least QuickTime 6.x and 7.x on Mac OS X and Windows. (Mac OS 9 would be nice but probably isn't as important.)&lt;br /&gt;
&lt;br /&gt;
All work must be released under the GPL.&lt;br /&gt;
&lt;br /&gt;
Proposed bounty: 100€&lt;br /&gt;
&lt;br /&gt;
=== Aggressive low-bitrate libvorbis encoding improvements for Vorbis I ===&lt;br /&gt;
libvorbis has a lot of room for improvement in all quality/bitrate departments, particularly at the lower quality levels / bitrates.  There are many directions from which to approach this problem.&lt;br /&gt;
&lt;br /&gt;
To claim this bounty, the following criteria would have to be met:&lt;br /&gt;
* A 25%-or-better reduction in bitrate for quality levels -1, 0, 1 on a reasonable testsuite while maintaining qualitative equivilence (or improvement) in community testing.&lt;br /&gt;
* No overall qualitative/bitrate regressions in quality levels 2 upwards&lt;br /&gt;
* Output ogg files compatible with Vorbis I spec&lt;br /&gt;
* Changes under suitable license for re-integration with Xiph.Org libvorbis&lt;br /&gt;
&lt;br /&gt;
Proposed bounty: 200€&lt;br /&gt;
&lt;br /&gt;
=== iPod playback support ===&lt;br /&gt;
The [http://ipodlinux.sourceforge.net/ Linux on iPod] project has vorbis decode working (with alternate firmware) at a good fraction of realtime. It should be a small matter of optimization to get it working&lt;br /&gt;
for useful playback.&lt;br /&gt;
&lt;br /&gt;
Proposed bounty: 100€&lt;br /&gt;
&lt;br /&gt;
=== Ogg Vorbis Bitrate Peeling ===&lt;br /&gt;
:Note: a bounty for this project has been posted on [https://launchpad.net/ launchpad.net]: [https://launchpad.net/bounties/ogg-vorbis-bitrate-peeling  Add bitrate peeling to the standard libvorbis encoding library].&lt;br /&gt;
&amp;lt;p&amp;gt;Ogg Vorbis bitrate peeling has been a topic brought up time and again to combat MP3 enthusiasts. But this feature does not actually exist, only the mere possibility abounds. This bounty is set to change that.&amp;lt;/p&amp;gt;&lt;br /&gt;
The peeler must meet the following criteria:&lt;br /&gt;
* Any Vorbis stream can be converted (not transcoded) to a lower quality setting&lt;br /&gt;
* Resulting streams would be identical or nearly identical to a stream generated by encoding the original source to the selected quality&lt;br /&gt;
* This process is reasonably fast (that is, signifigantly faster than re-encoding from source)&lt;br /&gt;
The following must also be accomplished to claim this bounty:&lt;br /&gt;
* The encoding libraries must be updated to create &amp;lt;em&amp;gt;peelable&amp;lt;/em&amp;gt; Vorbis streams natively&lt;br /&gt;
* Old Vorbis streams must be &amp;lt;em&amp;gt;peelable&amp;lt;/em&amp;gt; already, or convertable with a utility in order to be made &amp;lt;em&amp;gt;peelable&amp;lt;/em&amp;gt;&lt;br /&gt;
* If older streams are not natively &amp;lt;em&amp;gt;peelable&amp;lt;/em&amp;gt;, old &amp;lt;em&amp;gt;unpeelable&amp;lt;/em&amp;gt; Vorbis streams must be identifiable and discernable from &amp;lt;em&amp;gt;peelable&amp;lt;/em&amp;gt; streams in such a way as to facilitate transcoding streams from the old format&lt;br /&gt;
* All work submitted must be licenced under a BSD style licence (excepting circumstances where other licences may conflict)&lt;br /&gt;
&lt;br /&gt;
Proposed bounty: 100€&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/XSPF</id>
		<title>XSPF</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/XSPF"/>
				<updated>2011-08-26T01:47:29Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Supporting applications */ Fixed messed up link + tidy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''XML Shareable Playlist Format''' ('''XSPF'''), pronounced &amp;quot;spiff&amp;quot;, is a next-generation [http://en.wikipedia.org/wiki/playlist playlist] format for digital media such as songs in Vorbis or MP3 format.  This wiki is for developers.&lt;br /&gt;
&lt;br /&gt;
The mime type for XSPF playlists is &amp;lt;tt&amp;gt;application/xspf+xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Spec is at http://www.xspf.org/specs/&lt;br /&gt;
&lt;br /&gt;
== Supporting applications ==&lt;br /&gt;
&lt;br /&gt;
These are applications which support XSPF and have not yet been added to the [http://xspf.org/applications main applications list]: &lt;br /&gt;
&lt;br /&gt;
* [http://www.jamendo.com/ Jamendo]&lt;br /&gt;
** You have to be a member and to select &amp;quot;XSPF&amp;quot; in your preferences to use them by default, but you can look and test a sample playlist here: http://www.jamendo.com/get/track/id/album/audio/xspf/1003/?aue=ogg2&lt;br /&gt;
&lt;br /&gt;
* http://www.ArtistServer.com&lt;br /&gt;
** on artist profile pages http://www.artistserver.com/bliss&lt;br /&gt;
** on stations and playlists http://www.artistserver.com/stations/&lt;br /&gt;
** on genre pages http://www.artistserver.com/DownTempo&lt;br /&gt;
&lt;br /&gt;
* Project Opus http://projectopus.com&lt;br /&gt;
** see http://www.projectopus.com/new-player for details&lt;br /&gt;
** includes modified version of Fabricio's player&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;quot;We added: A Scrubber/Shuttle so the lister can move the playhead to any point along the song. Time Remaining, Elapsed Time Played, Genre of Song, Origin/Location (city) of artist. Site specific stuff which my not be of interest to others is: Review song link: we were adding as a layer to the player but, it got too large and ugly. Buy song link. And a bunch of nice styling/skin tweaks.&amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* trend of XSLT for xspf to html example&lt;br /&gt;
** http://dokerlund.edhsweb.org/wordpress/archives/23 is announce&lt;br /&gt;
** http://dokerlund.edhsweb.org/wordpress/xspf/media/playlist.xml is in practice&lt;br /&gt;
&lt;br /&gt;
* Zuardi player modified to support FLV and SWF as well as mp3: http://blitz-xplore.blogspot.com/2006/05/file-xspfplayer.html&lt;br /&gt;
&lt;br /&gt;
== Limited supporting applications ==&lt;br /&gt;
* foo_xspf - writes xspf files only with location. So the goal of playlist sharing between friends is not achieved.&lt;br /&gt;
* [http://roaraudio.keep-cool.org/rpld.html RoarAudio PlayList Daemon] - no read support yet.&lt;br /&gt;
&lt;br /&gt;
== Non supporting applications listed as supporting ==&lt;br /&gt;
* http://php4xspf.berlios.de/ - From their page: Note: The classes are stil in alpha and do not incorporate ... even the possibility to parse a XSPF file.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[XSPF FAQ]]&lt;br /&gt;
* [[XSPF v1 Notes and Errata]]&lt;br /&gt;
* '''[[XSPF Year 2009]]'''&lt;br /&gt;
* [[XSPF Conformance Tests]]&lt;br /&gt;
* [[XSPF Wish List]]&lt;br /&gt;
* [[XSPF Examples in the wild]]&lt;br /&gt;
* [[List of known XSPF extensions]]&lt;br /&gt;
* [[List of known XSPF metas]]&lt;br /&gt;
* [[JSPF Draft|JSPF]] (''JSON Sharable Playlist Format'' a.k.a. ''XSPF on JSON'')&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://xspf.org/xspf-v1.html XSPF specification]&lt;br /&gt;
* [http://validator.xspf.org/ Online XSPF Validator]&lt;br /&gt;
* [https://trac.xiph.org/browser/websites/xspf.org/images/banners &amp;quot;Valid XSPF&amp;quot; button]&lt;br /&gt;
* [https://trac.xiph.org/browser/trunk/xspf/ Source control for source code, spec, XSLT, validation]&lt;br /&gt;
* [https://trac.xiph.org/browser/websites/xspf.org/ Source control for XSPF.org website]&lt;br /&gt;
* [http://downloads.xiph.org/releases/xspf/ XSPF-related releases]&lt;br /&gt;
* [http://gonze.com/playlists/playlist-format-survey.html A survey of playlist formats], by Lucas Gonze&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XSPF XSPF Reference page on Wikipedia]&lt;br /&gt;
* [http://web.archive.org/web/20060410160006/http://playlist.musicbrainz.org/playlist/moin.cgi/ Old XSPF wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:XSPF]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Ambisonics</id>
		<title>Ambisonics</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Ambisonics"/>
				<updated>2011-04-09T23:10:20Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: Fixed broken links (two left)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;i&amp;gt;&lt;br /&gt;
This page is part of the XiphWiki, and is aimed at people developing file &lt;br /&gt;
formats and associated software for Ambisonics. For an general introduction &lt;br /&gt;
to Ambisonics, please go to the &lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
[[Wikipedia:Ambisonics|Wikipedia page on Ambisonics]].&lt;br /&gt;
&lt;br /&gt;
'''Ambisonics''' is a surround sound system first developed in the 1970s. &lt;br /&gt;
Its main difference from other surround techniques is that it separates &lt;br /&gt;
transmission channels from speaker feeds, the speaker feeds being derived &lt;br /&gt;
using a decoder situated in the living room.  Decoders can be implemented &lt;br /&gt;
in either hardware or software. Typically more speakers are used than &lt;br /&gt;
transmission channels, and the more speakers used then the more stable the &lt;br /&gt;
resulting soundfield. Speakers can be arranged in a number of configurations, &lt;br /&gt;
regular polygons being the most popular.&lt;br /&gt;
&lt;br /&gt;
Ambisonic files can come in a number of different formats. The main one is &lt;br /&gt;
called B-Format, the other formats being derived from this. UHJ format is &lt;br /&gt;
mono- and stereo-compatible. G-Format is a set of speaker feeds, so can be &lt;br /&gt;
enjoyed in surround sound without the need for a decoder in the living room.&lt;br /&gt;
&lt;br /&gt;
== Ambisonics and 5.1 ==&lt;br /&gt;
&lt;br /&gt;
Ambisonics and conventional 5.1 surround sound are very different. 5.1 is a &lt;br /&gt;
set speaker feeds, the signal only being fully defined for sounds coming &lt;br /&gt;
from a speaker. Phantom images between speakers can be created, but the &lt;br /&gt;
technique to do so is left unspecified. Many 5.1 releases use pair-wise &lt;br /&gt;
mixing to create phantom images. This is understandable as almost all &lt;br /&gt;
stereo recordings are mixed using pair-wise mixing.&lt;br /&gt;
&lt;br /&gt;
Pair-wise mixing is also called &amp;quot;pan-potting&amp;quot;, &amp;quot;amplitude mixing&amp;quot; and &lt;br /&gt;
&amp;quot;intensity stereophony&amp;quot;. It mixes signals into the feeds for a pair of &lt;br /&gt;
speakers to create the illusion that a sound is coming from a point &lt;br /&gt;
somewhere between the speakers. During mixing, the apparent location of &lt;br /&gt;
each sound is determined only by the relative amplitude of that sound in &lt;br /&gt;
the two speakers.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pair-wise mixing works poorly when the speakers are to the &lt;br /&gt;
rear of the listener and not-at-all when they are to one side. You can &lt;br /&gt;
demonstrate this for yourself by performing &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/exper.html a very simple experiment].&lt;br /&gt;
Pair-wise mixing did not work in the quadraphonic era and it will not work &lt;br /&gt;
now. Such an absolute statement can be made because the way that humans &lt;br /&gt;
localise sound has not changed.&lt;br /&gt;
&lt;br /&gt;
Ambisonics is fundamentally different from 5.1. What is encoded in &lt;br /&gt;
Ambisonics is not speaker feeds, but ''direction''. When mixing in &lt;br /&gt;
Ambisonics, the positions of the speakers are unknown &lt;br /&gt;
''and are of no interest''. Further, when Ambisonics is decoded to speaker &lt;br /&gt;
feeds all of the speakers cooperate to localise a sound in its correct &lt;br /&gt;
position so, for example, when the speakers on the left push those on the &lt;br /&gt;
right pull. The speakers all contribute to the creation of a single &lt;br /&gt;
coherent soundfield.&lt;br /&gt;
&lt;br /&gt;
=== Ambisonics to 5.1 ===&lt;br /&gt;
Converting Ambisonics to 5.1 is straightforward, and is discussed below &lt;br /&gt;
(see [[#G-Format|G-Format]]).&lt;br /&gt;
&lt;br /&gt;
=== 5.1 to Ambisonics ===&lt;br /&gt;
Converting 5.1 to Ambisonics is more difficult. It is easy to make the &lt;br /&gt;
five speaker feeds phantom images, called &amp;quot;virtual speakers&amp;quot;. (The &amp;quot;.1&amp;quot; &lt;br /&gt;
channel can be folded into W.)  The problem with this is that even if the &lt;br /&gt;
Ambisonic rendering is perfect, the result will only be as good as the &lt;br /&gt;
original 5.1 played through ''real'' speakers. It will not be an &lt;br /&gt;
improvement. Nobody has yet come up with a way for Ambisonics to improve &lt;br /&gt;
5.1; 5.1 is simply too broken.&lt;br /&gt;
&lt;br /&gt;
== B-Format ==&lt;br /&gt;
&lt;br /&gt;
B-Format is a single coherent soundfield composed of a set of related &lt;br /&gt;
channels.  The number of channels used depends on whether the soundfiled &lt;br /&gt;
is horizontal-only or full-sphere, and on the order. These B-Format &lt;br /&gt;
channels are transmission channels, not speaker feeds. Listening to &lt;br /&gt;
B-Format requires a decoder in your living room. Some numbers of &lt;br /&gt;
channels are tabulated below.&lt;br /&gt;
&lt;br /&gt;
=== Channel correlation ===&lt;br /&gt;
Compression techniques typically make use of channel correlation to &lt;br /&gt;
remove redundancy from the audio data, and so improve the compression &lt;br /&gt;
ratio.&lt;br /&gt;
&lt;br /&gt;
The correlation between B-Format channels depends on the content.  &lt;br /&gt;
Four-channel B-Format consists of an &lt;br /&gt;
omni-directional component, called W, and three figure-of-eight &lt;br /&gt;
components pointing forward, left and up, called X, Y, Z. &lt;br /&gt;
([http://members.tripod.com/martin_leese/Ambisonic/Harmonic.html Pictures are available].) &lt;br /&gt;
Three-channel, horizontal-only B-Format simply omits the Z channel. This &lt;br /&gt;
means that anything in X also appears in W. Same for Y and Z. (W is &lt;br /&gt;
omni-directional; everything appears in W.) Also, if content comes from &lt;br /&gt;
Front-Left then it appears equally in X and Y. Same for content from &lt;br /&gt;
Front-Right, Back-Left, Back-Right; only the relative polarities change. &lt;br /&gt;
So there can be a lot of correlation between B-Format channels, but it is &lt;br /&gt;
content dependent.&lt;br /&gt;
&lt;br /&gt;
One problem with B-Format is that it is big on low-frequency phase. The &lt;br /&gt;
phase relationships between the different B-Format channels are important &lt;br /&gt;
if the resulting soundfield is to correctly &amp;quot;gel&amp;quot;. This may be a problem &lt;br /&gt;
when B-Format channels are compressed using lossy compression.&lt;br /&gt;
&lt;br /&gt;
There is a file specification in use for downloadable B-Format files &lt;br /&gt;
called the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification].&lt;br /&gt;
&lt;br /&gt;
=== Limitations of the &amp;quot;.amb&amp;quot; specification ===&lt;br /&gt;
The [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] &lt;br /&gt;
for downloadable B-Format files is based on the WAVE-EX format.  There are &lt;br /&gt;
currently over 200 pieces available in this format &lt;br /&gt;
[http://www.ambisonia.com for free download]. Most of these are &lt;br /&gt;
first-order full-sphere soundfields. (The same website also has details of &lt;br /&gt;
[http://www.ambisonia.com/wiki/index.php/Playback_Software ad hoc software decoders].) &lt;br /&gt;
Some of the limitations of the specification are:  &lt;br /&gt;
&lt;br /&gt;
#It is limited to 4 GByte files (2 GBytes if somebody screwed up).&lt;br /&gt;
#It is limited to third-order soundfields and below. While third-order looks like a lot (16 channels), there already exists a prototype mic that can record up to fourth-order (25 channels).&lt;br /&gt;
#No compression (particularly lossless).&lt;br /&gt;
&lt;br /&gt;
The reason that the &amp;quot;.amb&amp;quot; file specification is limited to third-order &lt;br /&gt;
and below is because it uses the number of channels to uniquely define the &lt;br /&gt;
soundfield order. Unfortunately this simple and elegant scheme does not &lt;br /&gt;
work above third-order as ambiguities creep in. (One ambiguity is &lt;br /&gt;
illustrated in the table below.)&lt;br /&gt;
&lt;br /&gt;
A more general file format will have to use something else, such as &lt;br /&gt;
''Malham notation'', or storing both the horizontal-order and &lt;br /&gt;
height-order. There is a one-to-one correspondence between Malham notation &lt;br /&gt;
and the pair of orders, and either can generate the number of channels.&lt;br /&gt;
&lt;br /&gt;
==== Malham notation ====&lt;br /&gt;
Malham notation specifies the order of a B-Format soundfield using a &lt;br /&gt;
string of characters, each character being either '''f''' (for full-sphere) &lt;br /&gt;
or '''h''' (for horizontal). The first character in the string specifies &lt;br /&gt;
the type of the first-order components, the second character the type of &lt;br /&gt;
the second-order components, etc.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Horizontal&amp;lt;br&amp;gt;order&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Height&amp;lt;br&amp;gt;order&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Soundfield_type&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Malham&amp;lt;br&amp;gt;notation&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Number&amp;lt;br&amp;gt;of_channels&amp;lt;/span&amp;gt;&lt;br /&gt;
!&amp;lt;span style=&amp;quot;font-size:80%&amp;quot;&amp;gt;Channels&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1|| 0||horizontal||'''h'''|| 3||WXY&lt;br /&gt;
|-&lt;br /&gt;
| 1|| 1||full-sphere||'''f'''|| 4||WXYZ&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 0||horizontal||'''hh'''|| 5||WXYUV&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 1||mixed-order||'''fh'''|| 6||WXYZUV&lt;br /&gt;
|-&lt;br /&gt;
| 2|| 2||full-sphere||'''ff'''|| 9||WXYZRSTUV&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 0||horizontal||'''hhh'''|| 7||WXYUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 1||mixed-order||'''fhh'''|| 8||WXYZUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 2||mixed-order||'''ffh'''|| 11||WXYZRSTUVPQ&lt;br /&gt;
|-&lt;br /&gt;
| 3|| 3||full-sphere||'''fff'''|| 16||WXYZRSTUVKLMNOPQ&lt;br /&gt;
|-&lt;br /&gt;
| 4|| 0||horizontal||'''hhhh'''|| 9||extra channels unlabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from B-Format ===&lt;br /&gt;
Converting a B-Format file to a mono file is straightforward.  Use Mono = &lt;br /&gt;
W*sqrt(2).&lt;br /&gt;
&lt;br /&gt;
Converting a B-Format file to a stereo file is more difficult.  The &amp;quot;proper&amp;quot; &lt;br /&gt;
way to do this is to convert the W,X,Y channels to two-channel UHJ.  &lt;br /&gt;
Unfortunately this requires the use of wide-band 90-degree phase shifters.  &lt;br /&gt;
In the digital domain these are usually implemented as convolution filters.&lt;br /&gt;
&lt;br /&gt;
Assuming 90-degree phase shifters are unavailable then the problem is one of &lt;br /&gt;
choice.  Starting from B-Format, it is possible to synthesize ''any'' mic &lt;br /&gt;
response pointing in ''any'' direction.  Hence, it is possible to synthesize &lt;br /&gt;
''all'' coincident stereo mic techniques.  Two popular stereo techniques are &lt;br /&gt;
''Blumlein Mid-Side'' and ''Blumlein Crossed Pair''.&lt;br /&gt;
  &lt;br /&gt;
==== Blumlein Mid-Side ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mid = (W*sqrt(2)) + X  /*This is a cardioid response pointing forward*/&lt;br /&gt;
Left = Mid + Y&lt;br /&gt;
Right = Mid - Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Blumlein Crossed Pair ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Left = (X + Y)/sqrt(2)   /* (Left, Right) are just the (Y, X) */&lt;br /&gt;
Right = (X - Y)/sqrt(2)  /* responses rotated by -45 degrees  */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which conversion to stereo is better depends on the material and how it was &lt;br /&gt;
recorded.  A good suggestion is to not specify a ''particular'' default &lt;br /&gt;
channel conversion; instead, simply specify that there must be one.  If one &lt;br /&gt;
has to be specified then Blumlein Crossed Pair is the simpler.&lt;br /&gt;
&lt;br /&gt;
== UHJ format ==&lt;br /&gt;
&lt;br /&gt;
B-Format is the main format for Ambisonic files. However, B-Format is &lt;br /&gt;
not mono- or stereo-compatible. This is why the UHJ hierarchical system &lt;br /&gt;
was developed. Depending on the number of channels available, the UHJ &lt;br /&gt;
system can carry more or less information, but at all times it is fully &lt;br /&gt;
mono- and stereo-compatible. Up to four channels (Left, Right, T, Q) may &lt;br /&gt;
be used. The T-channel can also be band-limited but, as this &lt;br /&gt;
&amp;quot;2&amp;amp;frac12;-channel UHJ&amp;quot; was only ever used for FM radio transmission, it &lt;br /&gt;
will not be discussed further.&lt;br /&gt;
&lt;br /&gt;
To listen to UHJ files in surround requires a decoder in your living room. &lt;br /&gt;
Also, UHJ is restricted to first-order soundfields, either horizontal (two- &lt;br /&gt;
and three-channel UHJ) or full-sphere (four-channel UHJ).&lt;br /&gt;
&lt;br /&gt;
Converting B-Format channels to UHJ channels, and vice versa, requires the &lt;br /&gt;
use of wide-band 90-degree phase shifters. In the digital domain these &lt;br /&gt;
are usually implemented as convolution filters. Conversion between &lt;br /&gt;
four-channel B-Format (W, X, Y, Z) and four-channel UHJ (Left, Right, T, &lt;br /&gt;
Q) can be accomplished without loss of information. The same with &lt;br /&gt;
three-channel to three-channel (W, X, Y) &amp;lt;=&amp;gt; (Left, Right, T). It is &lt;br /&gt;
possible to recover three-channel B-Format (W, X, Y) from two-channel UHJ &lt;br /&gt;
(Left, Right), but not without loss. It is also important for the Ambisonic &lt;br /&gt;
decoder to be aware that the B-Format channels were recovered from &lt;br /&gt;
two-channel UHJ (because of the need to apply different shelf filters).&lt;br /&gt;
&lt;br /&gt;
Several hundred &lt;br /&gt;
[http://members.cox.net/surround/uhjdisc/ambindex.htm two-channel UHJ LPs and CDs] &lt;br /&gt;
have been released. Three- and four-channel UHJ recordings have never been &lt;br /&gt;
commercially released.&lt;br /&gt;
&lt;br /&gt;
=== UHJ encoding and decoding equations ===&lt;br /&gt;
&lt;br /&gt;
==== Encoding ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = 0.9396926*W + 0.1855740*X&lt;br /&gt;
D = j(-0.3420201*W + 0.5098604*X) + 0.6554516*Y&lt;br /&gt;
&lt;br /&gt;
Left = (S + D)/2.0&lt;br /&gt;
Right = (S - D)/2.0&lt;br /&gt;
T = j(-0.1432*W + 0.6512*X) - 0.7071*Y&lt;br /&gt;
Q = 0.9772*Z&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Decoding ====&lt;br /&gt;
For two-channel UHJ:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = (Left + Right)/2.0&lt;br /&gt;
D = (Left - Right)/2.0&lt;br /&gt;
&lt;br /&gt;
W = 0.982*S + j*0.164*D&lt;br /&gt;
X = 0.419*S - j*0.828*D&lt;br /&gt;
Y = 0.763*D + j*0.385*S&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that two-channel UHJ requires the player to use different shelf filters than for B-Format.&lt;br /&gt;
&lt;br /&gt;
For three- and four-channel UHJ:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S = (Left + Right)/2.0&lt;br /&gt;
D = (Left - Right)/2.0&lt;br /&gt;
&lt;br /&gt;
W = 0.982*S + j*0.197(0.828*D + 0.768*T)&lt;br /&gt;
X = 0.419*S - j(0.828*D + 0.768*T)&lt;br /&gt;
Y = 0.796*D - 0.676*T + j*0.187*S&lt;br /&gt;
Z = 1.023*Q&lt;br /&gt;
&lt;br /&gt;
where j is a +90 degree phase shift&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a file specification for downloadable two-channel UHJ files &lt;br /&gt;
called the &lt;br /&gt;
[http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification], but it is not currently in use.&lt;br /&gt;
&lt;br /&gt;
=== Limitations of the &amp;quot;.uhj&amp;quot; specification ===&lt;br /&gt;
The [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] &lt;br /&gt;
for downloadable two-channel UHJ files is based on the WAVE or WAVE-EX &lt;br /&gt;
format. A UHJ chunk is added to the file to indicate it is UHJ. As &lt;br /&gt;
unrecognized chunks are always skipped, use of this chunk maintains stereo &lt;br /&gt;
compatibility. Some of the limitations of the specification are:  &lt;br /&gt;
&lt;br /&gt;
#It is limited to 4 GByte files (2 GBytes if somebody screwed up).&lt;br /&gt;
#It is limited to two-channel UHJ files. Three- and four-channel UHJ are not accommodated.&lt;br /&gt;
#No compression.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;.uhj&amp;quot; spcecification is only defined for two-channel UHJ to maintain &lt;br /&gt;
stereo compatibility. While it would be possible to add the UHJ chunk to &lt;br /&gt;
three- and four-channel WAVE-EX files, the recommendations from Microsoft &lt;br /&gt;
for playing such files is that the audio device should render the extra &lt;br /&gt;
channels to output ports not in use. This can happen even when the extra &lt;br /&gt;
channels are masked off. (Put simply, in WAVE-EX files the channel mask &lt;br /&gt;
does ''not'' mask channels.) Because of this, three- and four-channel &lt;br /&gt;
WAVE-EX files can not be made stereo compatible.&lt;br /&gt;
&lt;br /&gt;
In the Xiph world, it should be possible to use default channel conversions &lt;br /&gt;
to ensure that three- and four-channel UHJ files remain stereo compatible.&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from UHJ ===&lt;br /&gt;
Converting a UHJ file to a mono file is straightforward.  Use Mono = &lt;br /&gt;
(Left + Right) / sqrt(2).&lt;br /&gt;
&lt;br /&gt;
Converting a UHJ file to a stereo file is even easier.  Use Left = Left, Right = Right, and discard T and Q if present.&lt;br /&gt;
&lt;br /&gt;
== G-Format ==&lt;br /&gt;
&lt;br /&gt;
A G-Format file is any common multi-channel surround file containing an &lt;br /&gt;
Ambisonic soundfield pre-decoded to its speaker feeds. This allows &lt;br /&gt;
listeners who do not own an Ambisonic decoder to enjoy Ambisonics.&lt;br /&gt;
&lt;br /&gt;
The sound engineer creates a set of speaker feeds for a particular number &lt;br /&gt;
and arrangement of speakers. This is typically four speakers arranged in &lt;br /&gt;
a square. Other speaker arrangements are also possible&lt;br /&gt;
&lt;br /&gt;
In Ambisonics, all speakers cooperate to localise sounds in any particular &lt;br /&gt;
direction; there are no &amp;quot;surround speakers&amp;quot; as such. Because of this, best &lt;br /&gt;
results when playing G-Format recordings (and Ambisonics in general) are &lt;br /&gt;
obtained when the speakers are matched. The easiest way to accomplish this &lt;br /&gt;
is to use identical speakers. Unfortunately, many home theatre systems &lt;br /&gt;
include a centre-front speaker which is different from the other speakers.&lt;br /&gt;
&lt;br /&gt;
An easy way to cope with this is adopted on G-Format recordings commercially &lt;br /&gt;
released on DVD-A by [http://www.wyastone.co.uk/nrl/dvd.html Nimbus Records]. &lt;br /&gt;
They use four speakers in a square, the centre-front speaker being unused. &lt;br /&gt;
&lt;br /&gt;
=== Recovering B-Format from G-Format ===&lt;br /&gt;
It is sometimes possible to recover the original B-Format channels from &lt;br /&gt;
the G-Format speaker feeds. The recovered B-Format channels can then be &lt;br /&gt;
fed to a decoder in the listener's living room, and so accommodate a &lt;br /&gt;
speaker arrangement different from the one used when the G-Format file &lt;br /&gt;
was produced. Each B-Format channel is recovered using a weighted &lt;br /&gt;
combination of the speaker feeds in the G-Format file. The conversion &lt;br /&gt;
coefficients required for the B-Format recovery depend on the particular &lt;br /&gt;
speaker arrangment chosen by the sound engineer. (Obviously, if a &lt;br /&gt;
B-Format version of the file also exists then it can be fed to the &lt;br /&gt;
decoder directly without the need for G-Format.)&lt;br /&gt;
&lt;br /&gt;
File formats for G-Format include all multi-channel formats that contain &lt;br /&gt;
speaker feeds. However, these will not contain information to allow the &lt;br /&gt;
B-Format channels to be automatically recovered. A [http://members.tripod.com/martin_leese/Ambisonic/G-Format_chunk.html &amp;quot;.amg&amp;quot; file format] &lt;br /&gt;
(based on WAVE-EX) for downloadable G-Format files, which will allow &lt;br /&gt;
the B-Format channels to be automatically recovered, has been proposed. &lt;br /&gt;
Such file formats have the advantage of storing the conversion &lt;br /&gt;
coefficients at the time the G-Format file is created. This is the only &lt;br /&gt;
time the required information is readily available.&lt;br /&gt;
&lt;br /&gt;
=== Default channel conversions from G-Format ===&lt;br /&gt;
Converting a G-Format file to a mono or stereo file is straightforward. &lt;br /&gt;
First, recover the B-Format channels using the conversion coefficients &lt;br /&gt;
contained in the file. Second, follow the advice given above for &lt;br /&gt;
[[#Default channel conversions from B-Format|Default channel conversions from B-Format]].&lt;br /&gt;
&lt;br /&gt;
== Resources on Ambisonics ==&lt;br /&gt;
&lt;br /&gt;
*There is a set of [http://en.wikipedia.org/wiki/Ambisonics Wikipedia articles on Ambisonics].&lt;br /&gt;
*Of particular relevance is the [http://members.tripod.com/martin_leese/Ambisonic/B-Format_file_format.html &amp;quot;.amb&amp;quot; specification] in use for downloadable B-Format files.  However the &amp;quot;.amb&amp;quot; spec has some limitations which it would be useful to overcome.&lt;br /&gt;
*There is also the [http://members.tripod.com/martin_leese/Ambisonic/UHJ_file_format.html &amp;quot;.uhj&amp;quot; specification] for downloadable two-channel UHJ files, but it is not currently in use.  The &amp;quot;.uhj&amp;quot; spec also has some limitations which it would be useful to overcome.&lt;br /&gt;
*[http://members.tripod.com/martin_leese/Ambisonic/ This website] has many pages on Ambisonics (including at the bottom links to other Ambisonic websites).&lt;br /&gt;
*[http://www.ambisonic.net/ Ambisonic.Net website] includes a detailed series of descriptive and practical articles on current and past Ambisonic techniques with links to tools, other sites and additional material.&lt;br /&gt;
*[http://ambisonic.info/info/ricardo.html Richard Lee's page on Ambisonics] contains articles on shelf filters and the design of Ambisonic decoders.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developers stuff]]&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Metadata</id>
		<title>Metadata</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Metadata"/>
				<updated>2011-01-21T05:25:49Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* VorbisComments */ Added GENRE so list matches that in Ogg Vorbis I format specification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page aims to give an overview of the current state of metadata in Ogg and the ongoing projects towards improving it. The different components work in concert; for example [[Ogg Skeleton]] provides important infrastructure for [[CMML]], [[VorbisComment]] is simple to use and program, while the draft [[M3F|Multimedia Metadata Format (M3F)]] provides more sophisticated information.&lt;br /&gt;
&lt;br /&gt;
== [[VorbisComment]]s ==&lt;br /&gt;
&lt;br /&gt;
All the Xiph.org codecs have some internal mechanism for including metadata about the current stream.&lt;br /&gt;
Generally, this is one of the codec headers, and in the words of the [http://www.xiph.org/vorbis/doc/v-comment.html vorbis spec], &lt;br /&gt;
&amp;quot;It is meant for short, text comments ... much like someone jotting a quick note on the bottom of a CDR.&amp;quot; A single VorbisComment can store upto 2^64 bytes (16 exabytes).&lt;br /&gt;
&lt;br /&gt;
VorbisComments store metadata describing the stream in key=value pairs, such as &amp;quot;ARTIST=Elvis&amp;quot;, &amp;quot;TITLE=Blue Suede Shoes&amp;quot;. Multiple copies of any given key are allowed (for example you can specify ARTIST several times for multiple performers). The specification has several suggested keys: TITLE, VERSION, ALBUM, TRACKNUMBER, ARTIST, PERFORMER, COPYRIGHT, LICENSE, ORGANIZATION, DESCRIPTION, GENRE, DATE, LOCATION, CONTACT, ISRC. See the [http://www.xiph.org/vorbis/doc/v-comment.html specification] for the intent of each one.&lt;br /&gt;
&lt;br /&gt;
The [[VorbisComment]] page contains improvements to the suggested comment set.&lt;br /&gt;
&lt;br /&gt;
== [[FLAC]] metadata blocks ==&lt;br /&gt;
&lt;br /&gt;
Metadata is included in the FLAC codec as METADATA_BLOCK_DATA. Seven types of metadata block are defined:  &lt;br /&gt;
#''METADATA_BLOCK_STREAMINFO'': Sample rate, number of channels, etc.&lt;br /&gt;
#''METADATA_BLOCK_PADDING'': Nul padding.&lt;br /&gt;
#''METADATA_BLOCK_APPLICATION'': Third-party applications can register an ID. Metadata is typically 32-bit integers, but any datatypes can be specified.&lt;br /&gt;
#''METADATA_BLOCK_SEEKTABLE'': For one or more seek points.&lt;br /&gt;
#''METADATA_BLOCK_VORBIS_COMMENT'': Also known as FLAC tags, the contents of a VorbisComment packet. Note that the 32-bit field lengths are little-endian coded according to the Vorbis spec, as opposed to the usual big-endian coding of fixed-length integers in the rest of FLAC. FLAC metadata blocks are limited to 2^24 bytes (16 megabytes) and a VorbisComment packet in FLAC must fit within that limit.&lt;br /&gt;
#''METADATA_BLOCK_CUESHEET'': Typically, but not necessarily, for CD-DA (Red Book) cuesheets.&lt;br /&gt;
#''METADATA_BLOCK_PICTURE'': For binary picture data.&lt;br /&gt;
&lt;br /&gt;
== [[Ogg Skeleton]] ==&lt;br /&gt;
&lt;br /&gt;
[[Ogg Skeleton]] provides metadata useful for handling Ogg streams. This includes information like mime-types and mapping for granulepos which allows seeking streams without the need for the demuxer to understand them. The latest version, [[Ogg Skeleton 4]], also provides a keyframe index to enable faster seeking over high latency networks.&lt;br /&gt;
&lt;br /&gt;
Ogg Skeleton allows for attachment of message header fields, given as name-value pairs, that contain some sort of protocol messages about the logical bitstream. This is intended for decode related stuff, such as the screen size for a video bitstream or the number of channels for an audio bitstream.&lt;br /&gt;
&lt;br /&gt;
== [[CMML]] ==&lt;br /&gt;
&lt;br /&gt;
The [[CMML|Continuous Media Markup Language]] allows time-based marking up of media streams, at its simplest this allows you to divide media files into clips and provide information about each clip.&lt;br /&gt;
&lt;br /&gt;
== [[M3F]] ==&lt;br /&gt;
&lt;br /&gt;
'''[[M3F|Multimedia Metadata Format]]''' for the Ogg container aims to provide metadata for media streams. The exact aims of this project are still under development, but they include being able to describe artist relationships to a piece more accurately as well as providing the structure to encourage more reliable metadata.&lt;br /&gt;
&lt;br /&gt;
The format is intended to replace VorbisComments for the use of ''structured'' metadata, allowing VorbisComments to revert to its orginally intended use of &amp;quot;short, text comments ... much like someone jotting a quick note on the bottom of a CDR.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== [[XMLEmbedding]] ==&lt;br /&gt;
&lt;br /&gt;
To implement XML metadata in Ogg (as for [[M3F]]), a mapping to Ogg streams is needed. The use of XML metadata will also open the way for the inclusion of technologies such as:&lt;br /&gt;
* RDF + dublin core&lt;br /&gt;
* [http://www.adobe.com/products/xmp/ XMP]&lt;br /&gt;
* [http://wiki.musicbrainz.org/MusicBrainzXMLMetaData MusicBrainz]&lt;br /&gt;
* [http://www.w3.org/Graphics/SVG/ SVG]&lt;br /&gt;
&lt;br /&gt;
== Aims of advanced metadata ==&lt;br /&gt;
&lt;br /&gt;
VorbisComments work well enough for most things, and can be overloaded/abused (depending on your point of view) for most other things. But there are three major requirements that point to the design of an external metadata format; one that can be interleaved with the other streams in a container.&lt;br /&gt;
&lt;br /&gt;
* '''Machinability:''' There are a number of items of metadata that a player will want to parse and take action on. While there are usually 'convention' schemes for doing this with the embedded comment headers, this is much easier if there is a separate metadata stream designed for such use, instead of having to do best-effort parsing of natural language comments. For example, a video file with multiple audio tracks can specify the language of each one; a player than can parse these reliably can match them against a language preference list configured by the user to automatically select and begin playback of the best option.&lt;br /&gt;
&lt;br /&gt;
* '''Kitchen Sink:''' There are a minority of people who care passionately about having every detail about a track available. In the sense of conserving such information, and providing an equivalent to liner notes for online distribution, this is a goal worth supporting. However, the simple unstructured key-value pairs offered by the inline metadata are unwieldy for this level of detail. How do you tell the 2nd unit Assistant Director from the USA unit Assistant Director? How do you indicate which artist played tenor sax in the solo?&lt;br /&gt;
&lt;br /&gt;
* '''Addressability:''' The internal comment metadata headers are by necessity attached to a single content stream. This is useful for some appication, but a limitation in others. In a multiplexed stream, which set of comments refers to the collection as a whole? (By convention, in Ogg, it's the first logical bitstream occuring, but we can do better.) A separate metadata stream type must address this issue of collective metadata while still allowing description of individual streams. It should also allow temporal addressability, so that changes can be described. Because the in-stream comment metadata are part of the codec headers, it cannot change over the course of the stream, and allowing additional comment packets elsewhere in the stream presents seeking challenges. In the Ogg container this can be resolved by inserting a chain boundary, but this is a poor option for very-low-bitrate streams and unreliable transports such as RTP.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/VorbisComment</id>
		<title>VorbisComment</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/VorbisComment"/>
				<updated>2011-01-21T05:21:27Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* New RIGHTS field name proposal */ Added comment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VorbisComment is a base-level [[Metadata]] format initially created for use with Ogg [[Vorbis]]. It has since been adopted in the specifications of &lt;br /&gt;
[[Ogg]] encapsulations for other Xiph.Org codecs including [[Theora]], [[Speex]] and [[FLAC]].&lt;br /&gt;
&lt;br /&gt;
The use case for VorbisComment is given as:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
... much like someone jotting a quick note on the bottom of a CDR. It should be a little information to remember the disc by and explain it to others; a short, to-the-point text note that need not only be a couple words, but isn't going to be more than a short paragraph.[http://xiph.org/vorbis/doc/v-comment.html]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically used to provide basic information like the title and copyright holder of a work.&lt;br /&gt;
As such the scope is similar to that of ID3 tags used with MP3 files.&lt;br /&gt;
VorbisComment is widely supported on [[VorbisHardware|portable Ogg Vorbis players]] as well as streaming, editing and playback software.&lt;br /&gt;
&lt;br /&gt;
Although the syntax of VorbisComment is well-specified, various conventions exist for the field names in use.&lt;br /&gt;
The goal for this page is to codify best practices and collect proposals for standardization of VorbisComment field names.&lt;br /&gt;
&lt;br /&gt;
VorbisComments are typically encoded as the second packet in a codec stream. When VorbisComments are included in the first (ie. Theora) stream of an Ogg Theora file, they are assumed to cover all streams in the multiplexed group. [http://lists.xiph.org/pipermail/vorbis-dev/2008-December/019676.html]&lt;br /&gt;
&lt;br /&gt;
VorbisComment is the simplest and most widely-supported mechanism for storing metadata with Xiph.Org codecs. For other existing and proposed mechanisms, see [[Metadata]].&lt;br /&gt;
&lt;br /&gt;
== Recommended field names ==&lt;br /&gt;
&lt;br /&gt;
The current [http://xiph.org/vorbis/doc/v-comment.html VorbisComment recommendation] contains a recommended set&lt;br /&gt;
of field names for comments.&lt;br /&gt;
&lt;br /&gt;
== Proposed field names ==&lt;br /&gt;
&lt;br /&gt;
Some proposals for extra field names:&lt;br /&gt;
&lt;br /&gt;
* [http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html Ogg Vorbis Comment Field Recommendations]&lt;br /&gt;
* [http://gophernet.org/articles/vorbiscomment/ Proposals for extending Ogg Vorbis comments]&lt;br /&gt;
* [[Field names]]&lt;br /&gt;
&lt;br /&gt;
Comments are intended to be free-form, but for the purposes of interoperability, it is helpful to define tag sets for particular applications, and provide some guidelines for machine parsing. Note that some field names have to be non-free-form to achieve machine parsing.&lt;br /&gt;
&lt;br /&gt;
=== Cover art ===&lt;br /&gt;
&lt;br /&gt;
==== METADATA_BLOCK_PICTURE ====&lt;br /&gt;
The [http://flac.sourceforge.net/format.html#metadata_block_picture binary FLAC picture structure] is base64 encoded and placed within a VorbisComment with the tag name &amp;quot;METADATA_BLOCK_PICTURE&amp;quot;. This is the preferred and recommended way of embedding cover art within VorbisComments. It has the following benefits:&lt;br /&gt;
&lt;br /&gt;
* Easy to use for developers since the identical (or similar) structure is also used by FLAC and MP3.&lt;br /&gt;
* The cover art can either be linked or embedded within the stream.&lt;br /&gt;
* Common picture file formats are supported (jpg and png).&lt;br /&gt;
* A description may be included and the picture type (front cover, back cover...) and image mime type are provided.&lt;br /&gt;
* Base64 encoded data is invariant under UTF-8 and a valid UTF-8 string, so obeys the rules for comment data.&lt;br /&gt;
&lt;br /&gt;
Implementations interpreting or writing picture blocks should note the following details:  &lt;br /&gt;
&lt;br /&gt;
===== General encoding/decoding =====&lt;br /&gt;
* Failure to decode a picture block should not prevent playback of the file (failure to deal with the particularly large packet required by the comment header is a separate problem with the player implementation).&lt;br /&gt;
* Base64 encoding is used as in section 4 of [http://www.faqs.org/rfcs/rfc4648.html RFC4648]. We note that line feeds are not allowed and padding characters ('=') are required.&lt;br /&gt;
* Applications adding picture blocks should inform users that some applications or hardware may not support them and should provide a method to remove the blocks (this is expected to be trivial for applications capable of adding them).&lt;br /&gt;
&lt;br /&gt;
===== Block handling =====&lt;br /&gt;
* The unencoded format is that of the [http://flac.sourceforge.net/format.html#metadata_block_picture FLAC picture block].  The fields are stored in big endian order as in FLAC, picture data is stored according to the relevant standard.&lt;br /&gt;
* Picture data should be stored in PNG or JPEG formats or linked separately.  It is recommended readers support both PNG and JPEG&lt;br /&gt;
* Allowed values for the MIME string are &amp;quot;image/&amp;quot;, &amp;quot;image/png&amp;quot;, &amp;quot;image/jpeg&amp;quot; and &amp;quot;--&amp;gt;&amp;quot; (the link indicator) and &amp;quot;&amp;quot; (length 0).  An empty MIME string indicates type &amp;quot;image/&amp;quot;&lt;br /&gt;
* Fields present in the ID3V2.4.0 [http://www.id3.org/id3v2.4.0-frames#line-1085 Attached Picture Frame] (APIC Frame) take the same interpretation as in the ID3V2.4.0 format with the following exceptions (following the FLAC format):&lt;br /&gt;
** The description field is UTF-8 (encoded without ID3V2's initial 'encoding byte')&lt;br /&gt;
** String fields are not null terminated: their preceding length fields are used instead.&lt;br /&gt;
&lt;br /&gt;
===== Linked images =====&lt;br /&gt;
Support for linked images is optional for applications handling picture blocks. When a linked picture is indicated the following rules are observed:&lt;br /&gt;
* The picture data is a complete URL indicating the picture to be used, relative URLs are allowed (note relative URLs do not start with a protocol specifier and are retrieved with the same protocol as the file being processed).&lt;br /&gt;
* Links are ISO-8859-1 encoded&lt;br /&gt;
* Applications MAY retrieve linked images via the file:// protocol.&lt;br /&gt;
* Applications MUST obtain user approval if they wish to retrieve images via remote protocols.&lt;br /&gt;
* Link targets may become unavailable: applications supporting linked images SHOULD recover gracefully from this and MAY report the absence to the user.&lt;br /&gt;
* The type of the linked file is not restricted to JPEG and JFIF and applications MAY support other formats&lt;br /&gt;
* If the application does not support linked images, the target is unavailable, not permitted or an unknown format the picture block should be skipped.&lt;br /&gt;
* Applications may make links available to users, this is of particular use when links are unsupported or of unsupported type&lt;br /&gt;
&lt;br /&gt;
===== Image dimension fields =====&lt;br /&gt;
* The height, width, colour depth and 'number of colours' fields are for purely informational purposes.  Applications MUST NOT use them for decoding purposes, but MAY display them to the user and MAY use them to make a decision whether to skip the block (for example if selecting the most appropriate among multiple blocks).&lt;br /&gt;
* Applications writing picture blocks MUST set these fields correctly OR set them all to zero.&lt;br /&gt;
&lt;br /&gt;
===== Multiple blocks =====&lt;br /&gt;
* Multiple image blocks MAY be included as separate METADATA_BLOCK_PICTURE comments.&lt;br /&gt;
* There may only be one each of picture type (APIC type) 1 and 2 in a Vorbis stream.&lt;br /&gt;
* Block order is significant for some types and applications should preserve the comment order when reading or writing VorbisComment headers. The block order may be used to determine the order pictures are presented to the user.&lt;br /&gt;
&lt;br /&gt;
===== Playback tests =====&lt;br /&gt;
Embedding a picture into the file might break playback of existing players (especially hardware players, software players could be updated easily). A workaround would be to link the picture within the tag. Furthermore users should become informed in some way that embedding a picture COULD cause problems (as stated above).&lt;br /&gt;
&lt;br /&gt;
In order to test if there are playback problems, there are test files available [http://www.audioranger.com/coverart_mk.ogg here] and [http://www.audioranger.com/coverart_im.ogg here]. You're invited to download one of these test files (or both), test playback on your software and hardware players, and report the results here on the wiki.&lt;br /&gt;
&lt;br /&gt;
'''Tested software players'''&lt;br /&gt;
* Audacious 1.5.1: no problem&lt;br /&gt;
* foobar2000: no problems&lt;br /&gt;
* Gnome: built-in preview playback: no problem&lt;br /&gt;
* MediaMonkey: no problems&lt;br /&gt;
* Media Player Classic (unicode build) 6.4.9.1: no problem&lt;br /&gt;
* RoarAudio: no problems (server and client side)&lt;br /&gt;
* Rythmbox 0.11.6: no problem&lt;br /&gt;
* Totem 2.24.3: no problem&lt;br /&gt;
* VLC 0.9.4/0.9.6: doesn't play&lt;br /&gt;
** Patch send to VLC to fix this - should get in 1.0.0&lt;br /&gt;
* WinAmp: no problems&lt;br /&gt;
* Windows Media Player 11: no problem&lt;br /&gt;
* XMPlay 3.4.2: no problem&lt;br /&gt;
* Nero ShowTime: no problem&lt;br /&gt;
* Songbird 1.8.0: no problem, able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested hardware players'''&lt;br /&gt;
* Logitech Squeezebox: Supported as of January 2009 (server version 7.3.3)&lt;br /&gt;
* Sandisk Sansa Fuze (Firmware 01.01.22): Hangs up when trying to playback the demo file - had to reset the player&lt;br /&gt;
** Note: The &amp;quot;Fuze&amp;quot; can play ogg vorbis files which have embedded pictures from &amp;quot;Easytag&amp;quot;&lt;br /&gt;
* Cowon iAudio U3 (Firmware 1.29, 4 GB): works&lt;br /&gt;
* Cowon D2: no problem (latest Firmware: 2.59, 8GB Version)&lt;br /&gt;
* iRiver E100: no problem (latest Firmware: 1.16 G_U, 8GB Version)&lt;br /&gt;
* Samsung YP-R1: no problem (latest Firmware: 3.07, 16GB Version)&lt;br /&gt;
&lt;br /&gt;
'''Tested tag editors'''&lt;br /&gt;
* Easytag 2.1.6: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.42e: can open the file to edit the normal tag fields&lt;br /&gt;
* MP3Tag 2.47b: is able to show and edit embedded pictures&lt;br /&gt;
&lt;br /&gt;
'''Tested other software'''&lt;br /&gt;
* Total Recorder: capable to work with artwork according to the specification.&lt;br /&gt;
&lt;br /&gt;
==== Unofficial COVERART field (deprecated) ====&lt;br /&gt;
There also exists an unofficial, not well supported comment field named &amp;quot;COVERART&amp;quot;. It includes a base64-encoded string of the binary picture data (usually a JPEG file, but this could be a different file format too). The disadvantages are that&lt;br /&gt;
* no additional information like a description about the cover art or its type (front cover, back cover etc.) is provided,&lt;br /&gt;
* the cover art can't be linked&lt;br /&gt;
* the base64 string is displayed within many tag editors as plain text because of their missing support for this &amp;quot;COVERART&amp;quot; field&lt;br /&gt;
* it may breaks the playback on hardware players because of a large VorbisComment header&lt;br /&gt;
The unofficial &amp;quot;COVERART&amp;quot; field is supported for example by such software as AudioShell (http://www.softpointer.com/AudioShell.htm) - read/write, and Total Recorder (http://www.totalrecorder.com/)- only read.&lt;br /&gt;
&lt;br /&gt;
===== Conversion to METADATA_BLOCK_PICTURE =====&lt;br /&gt;
Old &amp;quot;COVERART&amp;quot; tags should be converted to the new METADATA_BLOCK_PICTURE tag (see above for its specification). This conversion is straightforward and is suggested to be done the following way:&lt;br /&gt;
&lt;br /&gt;
* Decode the COVERART tag. A program MAY check the signature of the embedded picture in order to determine whether it is an allowed type. Lossless conversion from disallowed types to allowed types MAY be carried out.&lt;br /&gt;
* Fill out the FLAC block with the binary picture data. If the MIME type of the picture is unknown or can't be determined, the MIME type &amp;quot;image/&amp;quot; MAY be used instead. Supplying image dimensions, color depth etc. is optional (see specification above).&lt;br /&gt;
* In the absence of other information the picture type 'Other' should be used. Applications may want to allow users to select a default type or specify the type to use.&lt;br /&gt;
* Encode the new picture block, remove the COVERART tag from the comments and add the METADATA_BLOCK_PICTURE entry.&lt;br /&gt;
* If multiple tags are being converted the order of the METADATA_BLOCK_PICTURE tags should be the same as that of the COVERART tags they are replacing.&lt;br /&gt;
&lt;br /&gt;
=== Date and time ===&lt;br /&gt;
&lt;br /&gt;
The goal is to specify '''one''' standard format for describing date and/or time.&lt;br /&gt;
&lt;br /&gt;
==== ISO proposal ====&lt;br /&gt;
The date format for any field describing a date must follow the ISO scheme: YYYY-MM-DD, shortened to just YYYY-MM or simply YYYY.&lt;br /&gt;
&lt;br /&gt;
We have been recommending this usage with the DATE tag for some time. It is proposed that the spec be amended to include this information for machinability.&lt;br /&gt;
&lt;br /&gt;
The time format for any field '''except''' track duration must be specified with leading T and ending with a time zone. Schemas with and without dates: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
YYYY-MM-DDTHH:MM:SS+TS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
THH:MM+TZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ENCODER ===&lt;br /&gt;
&lt;br /&gt;
The goal is to attribute encoder software. This value can be used in the future to determine which files can be improved by being re encoded with a newer version.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': What is lacking from the vendor string present in the spec from the start? All libvorbis and encoder tunings I'm aware of have recorded the encoder version here.&lt;br /&gt;
&lt;br /&gt;
Rationale for not using the vendor string:&lt;br /&gt;
* The vendor string is usually used to store the name and version of the underlying codec library&lt;br /&gt;
* The idea of ENCODER is to store the name of the user-visible application, for example &amp;lt;tt&amp;gt;ffmpeg2theora&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* It can be useful for debugging to store the name and version of the calling application.&lt;br /&gt;
* The libvorbis API does not let applications override the vendor string.&lt;br /&gt;
&lt;br /&gt;
==== Proposal: Inclusion of URL in ENCODER value ====&lt;br /&gt;
The encoder field name must be a unique URL providing both encoder software name and version. If no unique URL address is available were both name and version is available; then the version number can be specified by separating with a space character. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ENCODER=http://flac.sourceforge.net/ 1.2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that ffmpeg2theora uses ENCODER, but does not include a url. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
&lt;br /&gt;
==== Proposal: ENCODED_BY ====&lt;br /&gt;
&lt;br /&gt;
I've also seen ENCODED_BY. ''Added by Rillian on September 17, 2007''&lt;br /&gt;
: ENCODED_BY is usually the person who did the encoding. This should not be part of the recommendation due to legal problems around deliberate and accidental distribution to third parties. Basically the name of the encoder should not be included to protect encoders from their own egos and possible legal prosecution. ''Added by Aleksandersen on September 20, 2007''&lt;br /&gt;
&lt;br /&gt;
=== Improving license data ===&lt;br /&gt;
&lt;br /&gt;
The goal is to provide a method for proclaiming license and copyright information (basically clarifying ‘distribution rights (if any) and ownership’).&lt;br /&gt;
&lt;br /&gt;
The [http://xiph.org/vorbis/doc/v-comment.html specification document] describes LICENSE and COPYRIGHT fields. But is not clear enough about whether these should be machine-readable.&lt;br /&gt;
&lt;br /&gt;
We should consider working together with Creative Commons to have complementary and interlinked information on the Creative Commons and Xiph wikis. Refer to the [http://wiki.creativecommons.org/Ogg Ogg page] in the Creative Commons wiki.&lt;br /&gt;
&lt;br /&gt;
==== New RIGHTS field name proposal ====&lt;br /&gt;
One proposal is to replace the COPYRIGHT and LICENSE field names with RIGHTS. RIGHTS must be a human-readable copyright statement. Basic example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But this is not machine-readable. Adding two complementary field names should do the trick: RIGHTS-DATE, describing the date of copyright; and RIGHTS-URI, providing a method for linking to a license. Software agents can assume that multiple songs uses the sameURIs, such as in the case for Creative Commons. Full example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS=Copyright © 2019 Recording Company Inc. All distribution rights reserved.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-DATE=2019-04&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;RIGHTS-URI=http://somewhere.com/license.xhtml&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Software such as for multimedia management and playback are encouraged to display the RIGHTS statement as a linked phrase using RIGHTS-URI.&lt;br /&gt;
&lt;br /&gt;
RIGHTS-DATE does not need to be displayed as it is required in the human readable version by international copyright agreements. RIGHTS-DATE can be used to determine when a copyrighted work falls under the public domain and related matters. (''The Beatles''' copyright on their original studio recordings (not the remixes) are soon expiering. So mechanisms such as the RIGHTS-DATE are indeed required in music management and filesharing software!)&lt;br /&gt;
&lt;br /&gt;
To remain machine-readable it would be required to have at most one instance of each RIGHTS field name. All fields would of course remain optional.&lt;br /&gt;
&lt;br /&gt;
The ''Dublin Core Metadata Initiative'' recommends the use of ‘rights’ to describe license and copyright matters. The web feed format Atom 1.0 has implemented a rights element in their specification.&lt;br /&gt;
&lt;br /&gt;
:'''Comment''': The triplet RIGHTS, RIGHTS-DATE, RIGHTS-URI is an example of structured metadata. VorbisComments are inherently unstructured, and this should be respected. Structured metadata belongs in a different stream, such as XML (using [[Metadata#XMLEmbedding|XMLEmbedding]]).&lt;br /&gt;
&lt;br /&gt;
==== Improving existing fields proposal ====&lt;br /&gt;
Similar to the DATE tag above, we have generally recommended that a URL uniquely identifying the license be included in the LICENSE field to allow machine identification of the license. This is in agreement with the proposal in the Creative Commons wiki. Since the COPYRIGHT field is a human-readable statement of the copyright, like the proposed RIGHTS tag above, some people include a license url there. Therefore if a url can't be found in a LICENSE tag if any, applications should use one from the COPYRIGHT tag, if any. Contact information for verification, attribution, relicensing, etc. can be obtained from the COPYRIGHT field, but Creative Commons also recommend a separate CONTACT tag for this information. This is reasonable, so we propose it be included.&lt;br /&gt;
&lt;br /&gt;
=== Geo Location fields ===&lt;br /&gt;
&lt;br /&gt;
The existing LOCATION field is meant to carry a human readable location for the recording/creation of the media file. &lt;br /&gt;
&lt;br /&gt;
Having geographical coordinates according to [http://en.wikipedia.org/wiki/World_Geodetic_System WGS84] can be useful as well, especially in a form that can be machine parsed. The agreed format is similar to this [http://en.wikipedia.org/wiki/Geo_(microformat) geo microformat]:&lt;br /&gt;
&lt;br /&gt;
GEO_LOCATION= ''latitude'' ; ''longitude'' [; ''elevation'' ] &lt;br /&gt;
&lt;br /&gt;
where each value is a fixed point decimal number formatted in the C locale with a period (.) for the radix. Values are separated with a ';' and white space is not significant. The elevation is optional.&lt;br /&gt;
&lt;br /&gt;
''latitude'' is the geo latitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the equator, negative values for southern latitudes) (C double).&lt;br /&gt;
&lt;br /&gt;
''longitude'' is the geo longitude location of where the media has been recorded or produced in decimal degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, negative values for western longitudes). (C double).&lt;br /&gt;
&lt;br /&gt;
''elevation'' is the geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level) (C double).&lt;br /&gt;
&lt;br /&gt;
=== Replay Gain ===&lt;br /&gt;
&lt;br /&gt;
The REPLAYGAIN_* fields implement the Replay Gain proposal for storing a track relative volume adjustment, which can be used to &amp;quot;fix&amp;quot; quiet or loud sounding Vorbis or FLAC streams. The set of tags is intended to be machine parsed, and has the following form: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REPLAYGAIN_TRACK_GAIN=-7.03 dB&lt;br /&gt;
REPLAYGAIN_TRACK_PEAK=1.21822226&lt;br /&gt;
REPLAYGAIN_ALBUM_GAIN=-6.37 dB&lt;br /&gt;
REPLAYGAIN_ALBUM_PEAK=1.21822226&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See http://www.replaygain.org/ for detailed information about Replay Gain and how the different values are calculated.&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
* [http://sbooth.org/importers/ OggImporter] &amp;amp;ndash; imports Ogg Vorbis and Ogg FLAC files to Spotlight.&lt;br /&gt;
* vorbiscomment &amp;amp;ndash; a commandline tool, part of [[VorbisTools]].&lt;br /&gt;
* [http://www.xiph.org/oggz/ oggz-comment] &amp;amp;ndash; a commandline tool, part of [[Oggz]] tool. It can add comments to multitrack and video files.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Field_names</id>
		<title>Field names</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Field_names"/>
				<updated>2011-01-15T16:04:12Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Analysis */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a proposed update to the minimal list of 15 standard field names in the [http://xiph.org/vorbis/doc/v-comment.html Vorbis I specification]. Please keep discussion confined to [[Talk:Field names|the Discussion page]] (or, better, the [http://lists.xiph.org/mailman/listinfo/vorbis-dev &amp;lt;vorbis-dev&amp;gt;] mailing list).&lt;br /&gt;
&lt;br /&gt;
After the proposal has been discussed, and accepted or rejected, this page should be deleted.&lt;br /&gt;
&lt;br /&gt;
== Analysis ==&lt;br /&gt;
&lt;br /&gt;
To determine what field names are being used in the wild, the following resources were analysed: &lt;br /&gt;
&lt;br /&gt;
* [http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html Reactor Core proposal]&lt;br /&gt;
* [http://gophernet.org/articles/vorbiscomment/ Carnival of Technology proposal]&lt;br /&gt;
* Proposals on the XiphWiki [[VorbisComment]] page&lt;br /&gt;
* [http://sbooth.org/importers/ OggImporter to Spotlight]&lt;br /&gt;
* [http://easytag.sourceforge.net/ EasyTAG] tagging program (routine &amp;quot;ogg_tag.c&amp;quot; in the source code)&lt;br /&gt;
* [http://www.mp3tag.de/en/ Mp3tag] tagging program ([http://forums.mp3tag.de/index.php?showtopic=9730 post in the Mp3tag Forum])&lt;br /&gt;
&lt;br /&gt;
The analysis is presented as an [http://lists.xiph.org/pipermail/vorbis-dev/attachments/20090716/e2db9203/attachment-0001.xls Excel spreadsheet] (note that it contains two sheets, the first of which is the more interesting).&lt;br /&gt;
&lt;br /&gt;
== Proposal ==&lt;br /&gt;
&lt;br /&gt;
The following modest list of additions to the minimal list in the specification is proposed: &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;COMPOSER&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;TRACKTOTAL&amp;lt;/code&amp;gt; &amp;amp;ndash; complements the existing &amp;lt;code&amp;gt;TRACKNUMBER&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;DISCNUMBER&amp;lt;/code&amp;gt; &amp;amp;ndash; used if part of a multi-disc album&lt;br /&gt;
# &amp;lt;code&amp;gt;DISCTOTAL&amp;lt;/code&amp;gt; &amp;amp;ndash; total number of discs in a multi-disc album&lt;br /&gt;
# &amp;lt;code&amp;gt;ENCODED-BY&amp;lt;/code&amp;gt; &amp;amp;ndash; see [[VorbisComment]] page&lt;br /&gt;
# &amp;lt;code&amp;gt;ENCODER&amp;lt;/code&amp;gt; &amp;amp;ndash; see [[VorbisComment]] page&lt;br /&gt;
# &amp;lt;code&amp;gt;METADATA_BLOCK_PICTURE&amp;lt;/code&amp;gt; &amp;amp;ndash; see [[VorbisComment]] page&lt;br /&gt;
# &amp;lt;code&amp;gt;SOURCEMEDIA&amp;lt;/code&amp;gt; &amp;amp;ndash; recommended because two different field names have been proposed&lt;br /&gt;
# &amp;lt;code&amp;gt;PRODUCTNUMBER&amp;lt;/code&amp;gt; &amp;amp;ndash; recommended because two different field names have been proposed&lt;br /&gt;
&lt;br /&gt;
The field names &amp;lt;code&amp;gt;SOURCEMEDIA&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PRODUCTNUMBER&amp;lt;/code&amp;gt; could be dropped if Xiph does '''not''' wish to prescribe field names. (The alternatives which have also been proposed to store the same information are &amp;lt;code&amp;gt;SOURCE MEDIUM&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;EAN/UPN&amp;lt;/code&amp;gt;, respectively.)&lt;br /&gt;
&lt;br /&gt;
The field name &amp;lt;code&amp;gt;REMIXER&amp;lt;/code&amp;gt; has '''not''' been included as its use is covered by the existing &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The triple &amp;lt;code&amp;gt;RIGHTS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RIGHTS-DATE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RIGHTS-URI&amp;lt;/code&amp;gt;, proposed on the [[VorbisComment]] page, has '''not''' been included because this is structured metadata. VorbisComments are inherently unstructured and this should be respected.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Field_names</id>
		<title>Field names</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Field_names"/>
				<updated>2011-01-10T19:28:51Z</updated>
		
		<summary type="html">&lt;p&gt;Martin.leese: /* Analysis */ Clarity&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a proposed update to the minimal list of 15 standard field names in the [http://xiph.org/vorbis/doc/v-comment.html Vorbis I specification]. Please keep discussion confined to [[Talk:Field names|the Discussion page]] (or, better, the [http://lists.xiph.org/mailman/listinfo/vorbis-dev &amp;lt;vorbis-dev&amp;gt;] mailing list).&lt;br /&gt;
&lt;br /&gt;
After the proposal has been discussed, and accepted or rejected, this page should be deleted.&lt;br /&gt;
&lt;br /&gt;
== Analysis ==&lt;br /&gt;
&lt;br /&gt;
To determine what field names are being used in the wild, the following resources were analysed: &lt;br /&gt;
&lt;br /&gt;
* [http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html Reactor Core proposal]&lt;br /&gt;
* [http://gophernet.org/articles/vorbiscomment/ Carnival of Technology proposal]&lt;br /&gt;
* Proposals on the XiphWiki [[VorbisComment]] page&lt;br /&gt;
* [http://sbooth.org/importers/ OggImporter to Spotlight]&lt;br /&gt;
* [http://easytag.sourceforge.net/ EasyTAG] tagging program (routine &amp;quot;ogg_tag.c&amp;quot; in the source code)&lt;br /&gt;
* [http://www.mp3tag.de/en/ Mp3tag] tagging program ([http://forums.mp3tag.de/index.php?showtopic=9730 post in the Mp3tag Forum])&lt;br /&gt;
&lt;br /&gt;
The analysis is presented as an [http://lists.xiph.org/pipermail/vorbis-dev/attachments/20090716/e2db9203/attachment-0001.xls Excel spreadsheet] (note that it contains two sheets, the first of which is more interesting).&lt;br /&gt;
&lt;br /&gt;
== Proposal ==&lt;br /&gt;
&lt;br /&gt;
The following modest list of additions to the minimal list in the specification is proposed: &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;COMPOSER&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;TRACKTOTAL&amp;lt;/code&amp;gt; &amp;amp;ndash; complements the existing &amp;lt;code&amp;gt;TRACKNUMBER&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;DISCNUMBER&amp;lt;/code&amp;gt; &amp;amp;ndash; used if part of a multi-disc album&lt;br /&gt;
# &amp;lt;code&amp;gt;DISCTOTAL&amp;lt;/code&amp;gt; &amp;amp;ndash; total number of discs in a multi-disc album&lt;br /&gt;
# &amp;lt;code&amp;gt;ENCODED-BY&amp;lt;/code&amp;gt; &amp;amp;ndash; see [[VorbisComment]] page&lt;br /&gt;
# &amp;lt;code&amp;gt;ENCODER&amp;lt;/code&amp;gt; &amp;amp;ndash; see [[VorbisComment]] page&lt;br /&gt;
# &amp;lt;code&amp;gt;METADATA_BLOCK_PICTURE&amp;lt;/code&amp;gt; &amp;amp;ndash; see [[VorbisComment]] page&lt;br /&gt;
# &amp;lt;code&amp;gt;SOURCEMEDIA&amp;lt;/code&amp;gt; &amp;amp;ndash; recommended because two different field names have been proposed&lt;br /&gt;
# &amp;lt;code&amp;gt;PRODUCTNUMBER&amp;lt;/code&amp;gt; &amp;amp;ndash; recommended because two different field names have been proposed&lt;br /&gt;
&lt;br /&gt;
The field names &amp;lt;code&amp;gt;SOURCEMEDIA&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PRODUCTNUMBER&amp;lt;/code&amp;gt; could be dropped if Xiph does '''not''' wish to prescribe field names. (The alternatives which have also been proposed to store the same information are &amp;lt;code&amp;gt;SOURCE MEDIUM&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;EAN/UPN&amp;lt;/code&amp;gt;, respectively.)&lt;br /&gt;
&lt;br /&gt;
The field name &amp;lt;code&amp;gt;REMIXER&amp;lt;/code&amp;gt; has '''not''' been included as its use is covered by the existing &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The triple &amp;lt;code&amp;gt;RIGHTS&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RIGHTS-DATE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;RIGHTS-URI&amp;lt;/code&amp;gt;, proposed on the [[VorbisComment]] page, has '''not''' been included because this is structured metadata. VorbisComments are inherently unstructured and this should be respected.&lt;/div&gt;</summary>
		<author><name>Martin.leese</name></author>	</entry>

	</feed>