haudio
hAudio 0.1
hAudio is a simple, open, distributed format, suitable for embedding information about audio recordings in (X)HTML, Atom, RSS, and arbitrary XML. hAudio is one of several microformats open standards.
hAudio Microformat Draft Specification 2007-04-18
- Editor
- Manu Sporny, Bitmunk - Digital Bazaar, Inc.
- Authors
- Manu Sporny, Bitmunk - Digital Bazaar, Inc.
- Martin McEvoy
- Alexandre Van De Sande
- Michael Johnson
- Dave Longley
Microformats copyright and patents statements apply.
Introduction
It is difficult for a browser to extract semantic information about an audio recording described on a web page. Metadata such as speaker, musician, publisher, label, title of the work, release date, acquisition link, related image artwork and tags provide relevant context for the audio recording.
Having such information marked up can provide a number of benefits to the viewer. If a web browser understands that a particular web page contains a song performed by an artist, it can produce richer interactions. For example, specific searches may be performed for artists and songs via general search services such as Google and Wikipedia. Specific search services may also be queried such as MusicBrainz, The Internet Archive, FreeDB, or Bitmunk. Additionally, classification by crawlers can become more accurate. If there are 20 tracks found on a page done by the same artist, and that content consumes a significant portion of the page, it can be assumed that the page is not only about music, but also about a particular artist.
In order to enable and encourage the sharing, distribution, syndication, and aggregation of audio content, the authors propose the hAudio microformat, an open standard for distributed audio metadata. The authors have researched both numerous audio-info-examples in the wild and earlier attempts at audio-info-formats, and have designed hAudio around a simple minimal schema for audio content. Feedback is encouraged on the hAudio feedback page.
Inspiration and Acknowledgments
Many thanks to the various individuals that did research and proposed ideas and discussion related to media info and audio info in general. Among the many participants are RodBegbie, Dean Hudson, Çelik, Mary Hodder (http://napsterization.org/stories/), Joshua Kinberg (http://joshkinberg.com/blog/), ChrisMessina, and Lisa Rein (http://onlisareinsradar.com/).
Scope
Audio content consistently share several common fields. Where possible hAudio has been based on this minimal common subset.
Out of scope
Fields that are type-specific have been omitted from hAudio. It is important that hAudio be kept simple and minimal from the start. Additional features can be added as deemed necessary by practical implementation experience.
The concept of a universal audio identifier, that is, how to identify the same audio album, song, speech, or podcast across different music and audio sites, though something very useful to have, is outside the scope of this format.
Semantic XHTML Design Principles
Note: the Semantic XHTML Design Principles were written primarily within the context of developing hCard and hCalendar, thus it may be easier to understand these principles in the context of the hCard design methodology (i.e. read that first). Tantek
XHTML is built on XML, and thus XHTML based formats can be used not only for convenient display presentation, but also for general purpose data exchange. In many ways, XHTML based formats exemplify the best of both HTML and XML worlds. However, when building XHTML based formats, it helps to have a guiding set of principles.
- Reuse the schema (names, objects, properties, values, types, hierarchies, constraints) as much as possible from pre-existing, established, well-supported standards by reference. Avoid restating constraints expressed in the source standard. Informative mentions are ok.
- For types with multiple components, use nested elements with class names equivalent to the names of the components.
- Plural components are made singular, and thus multiple nested elements are used to represent multiple text values that are comma-delimited.
- Use the most accurately precise semantic XHTML building block for each object etc.
- Otherwise use a generic structural element (e.g.
<span>
or<div>
), or the appropriate contextual element (e.g. an<li>
inside a<ul>
or<ol>
). - Use class names based on names from the original schema, unless the semantic XHTML building block precisely represents that part of the original schema. If names in the source schema are case-insensitive, then use an all lowercase equivalent. Components names implicit in prose (rather than explicit in the defined schema) should also use lowercase equivalents for ease of use. Spaces in component names become dash '-' characters.
- Finally, if the format of the data according to the original schema is too long and/or not human-friendly, use
<abbr>
instead of a generic structural element, and place the literal data into the 'title' attribute (where abbr expansions go), and the more brief and human readable equivalent into the element itself. Further informative explanation of this use of<abbr>
: Human vs. ISO8601 dates problem solved
Format
In General
The hAudio format is based on a set of fields common to numerous audio content sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related hCard standards.
Schema
The hAudio schema consists of the following:
- hAudio (
haudio
)- title. required. text.
- collaborator. optional. using hCard.
- suggested 'role's: speaker, artist, composer, band, publisher
- release-date. optional. using datetime-design-pattern.
- sample. optional. using rel-design-pattern with
sample
as themf-rel-value
. - acquire. optional. using rel-design-pattern with
acquire
as themf-rel-value
. - image-summary. optional. using HTML and XHTML tag
img
. - genre. optional. text.
- length. optional. time in seconds using abbr-design-pattern.
- price. optional. using currency-proposal.
tracks and songs are specified by embedding hAudio's inside of hAudios and using the collection-design-pattern.
Field details
The fields of the hAudio schema represent the following:
The following field names have been reused from the hCard and hCalendar microformats: version, summary, fn, url, photo, description
. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the Atom 1.0 specification.
More Semantic Equivalents
For some properties there is a more semantic equivalent, and therefore they get special treatment, e.g.:
- For any "url", use
<a class="url" href="...">...</a>
inside the element with the class name 'haudio' in hAudio. - And for "image-summary", use
<img class="image-summary" src="..." alt="Photo of ..." />
Language
- To explicitly convey the natural language that an hAudio is written in, use the standard (X)HTML 'lang' attribute on the element with class="haudio", e.g.
<div class="haudio" lang="en"> ... </div>
If portions of an hAudio (e.g. the item name) are in a different language, use the 'lang' attribute on those portions. - hAudio processors which need to handle the language of reviews MUST process the standard (X)HTML 'lang' attribute as specified.
Human vs. Machine Readable
If an <abbr>
element is used for a property, then its 'title
' attribute is used for the value of the property, instead of the contents of the element, which can then be used to provide a user-friendly alternate presentation of the value.
Similarly, if an <img />
element is used for one or more properties, it MUST be treated as follows:
- For the "image-summary" property and any other property that takes a URL as its value, the
src="..."
attribute provides the property value. - For other properties, the
<img />
element's 'alt
' attribute is the value of the property.
Object Includes
hAudio includes support for the id-based-collection-pattern.
Notes
This section is informative.
- By marking up audio content with the hAudio microformat, the expectation is communicated that information about the content MAY be indexed. This has no impact on the copyright of the content itself which the publisher may explicitly specify using rel-license as specified above.
- The enumerated list of item types is under development and may be extended.
- Each type may have custom hAudio fields that follow the common set.
- Additional details about a particular item should be specified with the rest of the item's info at the URL provided for the item.
Examples
Here are a few examples of audio content from current web sites, and how they could be easily enhanced to support the hAudio audio metadata microformat.
Want to write valid hAudio? Use the hAudio creator (not implemented yet) to write about audio content and publish it on your blog.
Speech
Publication of audio speeches on blogs is often called "podcasting". In essence though, it is simply audio speech publishing. Quotes of audio files are beginning to appear, and publishers are putting up files with links to other audio files they've quoted from. Most audio appears to often have the same base elements as video and photos, with the exception of quotes.
Individual Publishing of Speech
- Microformats: Web Essentials Audio
- Appears to be composed of:
- title/summary of the recording
- clickable hyperlink to the recording (MP3)
- Contextual:
- (primary) speaker is indicated in nearby text
- Appears to be composed of:
- Chris Pirillo podcast
- This example has a Title, Html URL, media URL(s), description or summary, categories/tags underneath what is viewable, and date. +10k
- Reflog's Random Thoughts podcast
- This example has a Title, Html URL, description or summary, creator, tags and publish time and date. +10k records.
- Evil Genius Chronicles podcast
- This example has a Title, Html URL, description or summary, quotes URLs and descriptions, licence, creator, tags and publish time and date. +10k records.
- media published from a blog, Jake Steinfeld's Audio Blog NOTE: this record had trouble because mediawiki blocks any DOTbiz domains and so while this domain coincidentally has a DOTbizbyjake.com name that is not a TLD, it was still blocked in the loading of the page with this example. So please adjust the URL manually and then visit the site.
- This example has a Title, Html URL, media URL, creator and publish time and date. +10k records.
- Matt's today in history
- mp3 episode example
- Information displayed: Title, transcripts, download link, rss feed, author
- mp3 episode example
- Buzz Out Loud
- episode example
- Information displayed: Title, episode summary, length, date
- Information displayed on a separated page: Title, episode summary, lenght, date, show links, voice mail, emails received
- episode example
- Ruby On Rails Podcast
- Appears to be composed of:
- title, contributors/artist, album, and length.
- clickable hyperlink to the recording (MP3) or (MP4/M4A).
- Contextual:
- Some transcripts of certain episodes are available.
- Examples:
- Single episode Jack Dorsey and Alex Payne of Twitter.
- All episodes since 2005.
- Appears to be composed of:
Music
Individual Publishing of Music
- Brad Sucks » music
- Has album title, song title, separate link to more info, inline flash player, and play link (to mp3)
- Scott Andrew - lo-fi acoustic pop superhero! > music >
- Has album title, song title, album artwork, streaming link (to m3u), and play link (to mp3)
- Portishead Remixed
- Whole page is for one album (a mash-up remix of a Portishead album). Has Album Track Number and Title (linked to mp3) and Remixer's name, plus cover art. Also a link to the BitTorrent download of the whole album.
Music Podcasting
Music podcasts are a totally different beast, but a very important one. They usually consist of one big file containg multiples songs, speech, audio advertising and prerecorded audio (such as voicemail or promos). Podcasts consists of multiple songs and therefore might need another microformat, one that makes a collection of multiple songs and only one file.
- Coverville
- Example episode
- Information displayed: title, artist, full length song, web-based purchase, album, original artist (it's a cover show), episode summary, full length song, mp3 download, RSS Feed
- Example episode
- Magnatune podcasts
- episode example
- Information displayed: title, sample, web-based purchase, artist, flash player, episode summary, full length song, mp3 download, RSS Feed
- episode example
- Radio Clash
- episode example
- Information displayed: title, artist, artist website, download link, image, episode summary , full length song, mp3 download, RSS Feed
- episode example
- Daily Source Code
- episode example
- Information displayed: title, artist, artist website, download link, voicemail phone number, sponsor link, episode summary, full length song, mp3 download, RSS Feed
- episode example
- Rock and Roll Geek show
- episode example
- Information displayed: title, artist, artist website, download link, Label, episode summary, full length song, mp3 download, RSS Feed
- episode example
- Accidenth hash
- episode example
- Information displayed: title, artist, artist website, download link, flash player, episode summary, full length song, mp3 download, RSS Feed
- episode example
- Veer cast
- episode example
- Information displayed: title, artist, download link, show links, episode summary, full length song, mp3 download, RSS Feed
- episode example
- Concert Blast
- mp3 episode example
- Information displayed: title, artist, episode summary, full length song, mp3 download, RSS Feed
- mp3 episode example
- 3 hive podcast
- episode example
- Information displayed: title, artist, full length song, mp3 download, RSS Feed
- episode example
Mashups, remixes, cut-ups and audio-collages
Some music is in fact made from other samples of other music. The information on those tracks then must contain another audio information, on the original track. Some of those tracks are posted to sampling communities and therefore are remixed again, creating a fractal-like information. Most sites, thou, will only show the first layer: the music directly derivated
- [ http://www.example.com Website Name]
- [ http://www.example.com/song_example/ Song Example]
- Information displayed: title, track number, sample, web-based purchase, artist, price, length
- [ http://www.example.com/song_example/ Song Example]
- Mashup of the week
- banned music
- illegal art
- cc mixter a creative commons community
Service Publishing of Music
- AudioFind
- Album Example
- Information displayed: artist (link), title, genre (link), style (link), release date, label, summary, web-based purchase (link), price, artist rating, album rating, cover image
- Song Example
- Information displayed: track number, title, length, rating, price, sample (link), web-based purchase (link)
- Album Example
- Telstra BigPond
- Album Example
- Information displayed: artist (link), title, genre, release date, label, summary, web-based purchase (link), subscriber price, non-subscriber price, cover image
- Song Example
- Information displayed: track number, title, artist, album, price, add to pop-list (link), sample (link), web-based purchase (link)
- Album Example
- Bitmunk
- Album Example
- Information displayed: artist, album title, publisher, release date, genre (link), summary, long description, payees, total price, sample (link), tracks, web-based purchase (link), cover image, p2p-based purchase (link)
- Song Example
- Information displayed: artist, song title, composer, publisher, release date, genres, album, payees, total price, web-based purchase (link), p2p-based purchase (link)
- Album Example
- Download Punk
- Album Example
- Information displayed: title, artist (link), label (link), physical-based purchase (link), web-based purchase (link), cover image
- Song Example
- Information displayed: title, sample (link), price, web-based purchase (link)
- Album Example
- FYE
- Album Example
- Information displayed: title, artist (link), format, release date, label (link), UPC, product id, genre, styles, cover image, regular price, store price, savings, physical-based purchase (link), tracks, description, reviews, production credits
- Song Example
- Information displayed: track number, title, artist
- Album Example
- iMusic
- Album Example
- Information displayed: title, artist (link), cover image, genre, release date, publisher, number of tracks, length, tracks, web-based purchase (link)
- Song Example
- Information displayed: track number, length, sample (link), release date, price, web-based purchase (link)
- Album Example
- AON Music
- Album Example
- Information displayed: artist (link), album, cover image, price, format, bitrate, label, genre, number of tracks, sample (link), add bookmark (link), web-based purchase (link), tracks
- Song Example
- Information displayed: track number, title, length, format, price, sample (link), add bookmark (link), web-based purchase (link)
- Album Example
- MSN
- Album Example
- Information displayed: artist (link), title, release date, label, album rating, cover image,
- Song Example (store wasn't working correctly - no song info found)
- Album Example
- TDC Online
- Album Example
- Information displayed: title, artist (link), length, release date, label, format, cover image, web-based purchase (link), price, tracks
- Song Example
- Information displayed: track number, title (link), price, sample (link), web-based purchase (link)
- Album Example
- Audio Lunchbox
- Album Example
- Information displayed: title, artist (link), label (link), genre (link), release date (link), cover image, format, bitrate, price, price in credits, web-based purchase (link), add to wishlist (link), sample (flash applet), tracks
- Song Example
- Information displayed: track number, title, length, price, price in credits, web-based purchase (link), sample (flash applet)
- Album Example
- Chaos Music
- Album Example
- Information displayed: title, artist (link), cover image, genre, format, release date, price, physical-based purchase (link), add to wishlist (link), tracks, description, availability
- Song Example
- Information displayed: track number, title
- Album Example
- Sony Connect
- Album Example
- Information displayed: title, artist (link), cover image, genre (link), release date, label, length, publisher, price, web-based purchase (link), tracks
- Song Example
- Information displayed: title, artist, length, price, sample (link), web-based purchase (link)
- Album Example
- Digirama
- Album Example
- Information displayed: title, artist (link), genre (link), label, cover image, release date, price, web-based purchase (link), license, related albums, also bought, reviews, tracks
- Song Example
- Information displayed: track number, title, length, sample (link), price, web-based purchase (link)
- Album Example
- eMusic
- Album Example
- Information displayed: title, artist (link), sample (link), save to playlist (link), genre (link), styles (link), label (link), album rating, reviews, length, tracks, web-based purchase (link)
- Song Example
- Information displayed: track number, sample (link), tracks, length, web-based purchase (link)
- Album Example
- FNAC
- Album Example
- Information displayed: title, artist (link), cover image, length, add to playlist (link), web-based purchase (link), tracks, price, genre
- Song Example
- Information displayed: sample (link), add to playlist (link), track number, title, length, web-based purchase (link), price
- Album Example
- Sanity
- Album Example
- Information displayed: title, artist (link), cover image, release date, catalog ID, SKU, label, price, price in points, summary, tracks, physical-based purchase (link)
- Song Example
- Information displayed: track number, title
- Album Example
- MisRolas
- Album Example
- Information displayed: title, artist (link), cover image, release date, number of tracks, album rating, price, web-based purchase (link), tracks, reviews
- Song Example
- Information displayed: track number, title, sample (link), artist, price, web-based purchase (link), add to wishlist (link)
- Album Example
- MTV
- Album Example
- Information displayed: title (link), artist (link), cover image, release date, label, tracks, physical-based purchase (link)
- Song Example
- Information displayed: track number, title, sample (link), video sample (link)
- Album Example
- Musica360
- Album Example
- Information displayed: title, artist, price, samples (flash), cover image, tracks, web-based purchase (link)
- Song Example
- Information displayed: title, artist, price, web-based purchase (link)
- Album Example
- Musicload
- Album Example
- Information displayed: title, artist (link), price, rating, genre, length, quality, release date, label, sample (link), web-based purchase (link), tracks, comments
- Song Example
- Information displayed: title, artist (link), album (link), price, rating, genre, length, quality, release date, label, sample (link), web-based purchase (link), comments
- Album Example
- Napster
- Album Example
- Information displayed: title, artist (link), release date, track count, label, sample (link), share (link), web-based purchase (link), review, tracks
- Song Example
- Information displayed: artist (link), title, track number, album title, length, web-based purchase (link)
- Album Example
- PartyMob
- Album Example
- Information displayed: title, artist (link), total length, release date, format, quality, genre, sample (link), price, web-based purchase (link), tracks
- Song Example
- Information displayed: title, artist, length, release date, format, quality, genre, sample (link), price, web-based purchase (link), DRM information
- Album Example
- Peer Impact
- Album Example
- Information displayed: title, artist (link), price, purchase (application link), format, track count, genre, release date, label, tracks
- Song Example
- Information displayed: track number, sample (link), title, artist (link), length, price
- Album Example
- Pure Tracks
- Album Example
- Information displayed: artist, title, label, total length, disc count, release date, price, web-based purchase (link), DRM information, tracks
- Song Example (in popup window)
- Information displayed: track number, sample (link), title, artist, length, price, web-based purchase (link), label (popup)
- Album Example
- Reggae Country
- Album Example
- Information displayed: title, artist, release date, label, web-based purchse (link), price, tracks
- Song Example
- Information displayed: sample (link), track number, title, artist, length, web-based purchase (link), price
- Album Example
- Real/Rhapsody
- Album Example
- Information displayed: artist, title, sample (link), label, release date, tracks
- Song Example
- Information displayed: sample (link), track number, title
- Album Example
- Ruckus
- Album Example
- Information displayed: title, artist, release date, genre, label, tracks
- Song Example
- Information displayed: track number, title, length
- Album Example
- Sanity
- Album Example
- Information displayed: title, artist (link), release date, catalog id, label, price, web-based purchase (link), tracks
- Song Example
- Information displayed: sample, track number, title
- Album Example
- Starzik SARL
- Album Example (hidden url)
- Information displayed: title, artist (link), genre, label, release date, length, format, bitrate, size, web-based purchase (link), tracks
- Song Example (hidden url, separate from album example)
- Information displayed: title, artist (link), album title, genre, label, release date, length, creators, composer, performance artist, format, bitrate, size, web-based purchase (link)
- Album Example (hidden url)
- CellCity
- [1] Album Example]
- Information displayed: artist, label, release date, genre, tracks
- Song Example
- Information displayed: title, price, web-based purchase (link)
- [1] Album Example]
- top100.cn
- Album Example
- Information displayed: title, artist (link), release date, sample (link), web-based purchase (link), label (link), genre (link), long description, tracks
- Song Example
- Information displayed: title, artist (link), label (link), genre (link), price, sample (link), web-based purchase (link), description, comments
- Album Example
- Wippit
- Album Example
- Information displayed: title, artist (link), price, genre (link), format, release date, tracks, web-based purchase (link)
- Song Example
- Information displayed: title, artist (link), album (link), genre, format, release date, size, track number, file type, price, web-based purchase link
- Album Example
- Yanga
- Album Example
- Information displayed: title, artist (link), genre (link), release date, label, price, web-based purchase (link), rating, tracks
- Song Example
- Information displayed: sample, track number, title, length, rating, price, web-based purchase (link)
- Album Example
- somesongs
- [Album Example]
- Information displayed:
- Song Example
- Information displayed: title, artist (link), rating, sample (link), summary, reviews, release date
- [Album Example]
- Magnatune
- Album Example
- Information displayed: artist (link), title, cover image, total time, length, release date, artist location (link), web-based purchase (link), physical-based purchase (link), license (link), tracks, summary
- Song Example
- Information displayed: track number, title, length, sample (link)
- Album Example
- SONG FIGHT!
- Album Example
- Information displayed: artist (link), cover image, artist location, summary, title,
- [ Song Example]
- Information displayed: release date, sample (link), title
- Album Example
- Yes.com
- Album Example
- Information displayed: cover image, artist (link)
- Song Example
- Information displayed: cover image, artist (link), rank, web-based purchase (link), played-by radio station
- Album Example
- MySpace
- Album Example
- Information displayed: artist, title, sample (link), cover image, number of plays, tracks
- Song Example
- Information displayed: artist, title, number of plays, sample (link), lyrics (link)
- Album Example
- MusicBrainz.org
- Album Example
- Information displayed: artist (link), title, cover image, tracks, disc id
- Song Example
- Information displayed: title, artist, length, id (link), length, album (link), album id (link), artist, artist id (link), relationship (link), track number
- Album Example
- Vorbis Comment Recommendations
- Album Example
- Information displayed: artist, publisher, copyright, disc number, isrc, ean/upn, label, label catalog number, license, opus, source media, title, version, encoded-by, encoding, composer, arranger, lyricist, author, conductor, performer, ensemble, part, part number, genre, release date, location, comment
- Song Example
- Information displayed: album, artist, publisher, copyright, disc number, isrc, ean/upn, label, label number, license, opus, source media, title, track number, version, encoded-by, encoding, composer, arranger, lyricist, author, conductor, performer, ensemble, part, part number, genre, release date, location, comment
- Album Example
- iTunes RSS extensions
- Album Example
- Information displayed: title, website (link), language, licensing, summary, description, owner, owner e-mail, cover image, genre
- Song Example
- Information displayed: title, artist, summary, description, sample (link), length, format, id, release date, tags
- Album Example
- Discogs
- Album Example
- Information displayed: artist, title, label (link), catalog id, format, country, release date, genre, style, notes, rating, tracks
- Song Example
- Information displayed: artist (link), title, track number
- Album Example
- Last.fm
- Album Example
- Information displayed: cover image, artist, title, release date, label (link), number of tracks, sample (link), physical-based purchase (link), tracks
- Song Example
- Information displayed: track number, sample (link), title, length, number of plays
- Album Example
Examples in the wild
This section is informative.
Implementations
This section is informative.
References
Normative References
Informative References
- CSS1
- ISO.8601.1988
- International Organization for Standardization, "Data elements and interchange formats - Information interchange - Representation of dates and times", ISO Standard 8601, June 1988.
- W3C NOTE-datetime-19980827
- W3C Patent Policy
- Other audio metadata efforts. See audio-info-formats.
Similar Work
Copyright
This specification is (C) 2005 by the authors. However, the authors intend to submit (or already have submitted, see details in the spec) this specification to a standards body with a liberal copyright/licensing policy such as the GMPG, IETF, and/or W3C. Anyone wishing to contribute should read their copyright principles, policies and licenses (e.g. the GMPG Principles) and agree to them, including licensing of all contributions under all required licenses (e.g. CC-by 1.0 and later), before contributing.
Patents
This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.
Work in progress
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added.
Further Reading
See also
Related Pages
- hAudio
- hAudio cheatsheet - hAudio properties.
- hAudio authoring - learn how to add hAudio markup to your existing web pages.
- hAudio issues - issues with the specification.
- Audio info issues - issues with the preparatory work.
- hAudio brainstorming - ideas for the specification.
- hAudio-history - the history of the research and development of hAudio.