JOrbis - Pure Java Ogg Vorbis Decoder

JOrbis is a pure Java Ogg Vorbis decoder.
JOrbis accepts Ogg Vorbis bitstreams and decodes them to raw PCM.


What is Ogg Vorbis?

Here is a quote from README of Ogg Vorbis CODEC from the Developer site for Ogg Vorbis,

"Vorbis is a general purpose audio and music encoding format contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond MPEG audio layer 3. Unlike the MPEG sponsored formats (and other proprietary formats such as RealAudio G2 and Windows' flavor of the month), the Vorbis CODEC specification belongs to the public domain. All the technical details are published and documented, and any software entity may make full use of the format without royalty or patent concerns."

Why JOrbis?

We sympathize the aim of the Ogg project. JOrbis is our contribution to the Ogg project in our style. We think the ubiquity of Vorbis decoder will leverage the popularity of Ogg Vorbis. We hope JOrbis will run on any platform, any devices and any web browsers, which support Java and every people will enjoy streamed musics without patent or royalty concerns about codec.


Features

  • JOrbis is in pure JavaTM.
    JOrbis will run on JDK1.0.* or higher.
  • JOrbis is under LGPL.
  • JOrbis includes the pure Java Ogg Vorbis player, JOrbisPlayer.
    To enjoy this player, your JVM must support Java Sound API. JOrbisPlayer is under GPL.
  • JOrbisPlayer can play Ogg Vorbis live streams on UDP broadcast packets from JRoar.
  • JOrbis includes very simple pure Java Ogg Vorbis comment editor, JOrbisComment.

Pure Java Ogg Vorbis Player

The pure Java Ogg Vorbis player, JOrbisPlayer, has been included in JOrbis. If you have J2SE V.1.3 and a Cerelon machine, JOrbisPlayer enables you to enjoy ogg files on a web page. Please check README file for trying JOrbisPlayer.


Live Sreams in Ogg Vorbis

If you click following links, the digitally signed JOrbisPlayer will be invoked and enable you to enjoy a live stream.

If you want to use this player from your web page, feel free to add an link to following URL on your web page,
http://www.jcraft.com/jorbis/player/JOrbisPlayer.php?play=http://somewhere/test.ogg


Bookmarklet to Play Ogg Vorbis Files.

This bookmarklet JOrbisPlayer will allow you to play ogg files linked on the web page.
For example, after bookmarking it, jump to http://en.wikinews.org/wiki/Wikinews:Audio_Wikinews and apply it.You can play ogg files by clicking "Vorbis". Here is a javascript code,

function(){
  var foo,i,player; 
  player="http://www.jcraft.com/jorbis/player/JOrbisPlayer.php?play="; 
  foo=document.getElementsByTagName("a"); 
  for(i=0;i<foo.length;i++){
    var href=foo[i].href; 
    if(href.search(/.ogg$/)!=-1 && href.search(/JOrbisPlayer.php/)==-1){
      foo[i].href=player+href; 
      foo[i].target="JOrbisPlayer";
    }
  } 
}

Applications Using JOrbis

We have heard that following Java programs have been using JOrbis.

  • Our streaming server for Ogg, JRoar.
    You can try testing streams from JRoar at http://jroar.jcraft.com:8800/ and Ogg Theora stream is here.
  • Fluendo's slashdotted pure Java Ogg Theora player, Cortado.
    You can enjoy its demo at here.
  • JavaTunes.
  • The fastest file sharing program on the planet, LimeWire.
  • d3caster Game Engine.
    It is a free Java Doom-like game engine,providing 3-D high-color gaming with sound on every browser.
  • An open source platform independant Graphical Vorbis Ogg Player, jOggPlayer.
  • A 100% Java graphical music player, jlGui, which supports MP3,WAV, AU, AIFF and OGG VORBIS. It's under GPL
  • A Java based XML browser, X-SMILES has used JOrbis to support Ogg Vorbis sound format.
  • LGPL'ed 2D game programming library for Java, GF4J has included JOrbis to support loading of OggVorbis audio files.
  • Sockso is a free, open-source, personal music server for everyone!
  • Haundrix Chess is a free open source chess program that can be used for playing against your computer and for viewing/editing your PGN files.

Vorbis SPI

Some guys at JavaZOOM are working on implementing Vorbis SPI(Service Provider Interface). SPI,a new feature in Java 2 1.3, allows developers to transparently add new functions to the JVM and, in this case, Vorbis SPI will add Ogg Vorbis supports to JMF(JavaSound API). It is available at http://www.javazoom.net/vorbisspi/vorbisspi.html.


Credits

JOrbis has developed by ymnk and has been based on the awesome works of Ogg Vorbis CODEC authors, Monty and The XIPHOPHORUS Company. Many thanks to them and many contributes of Ogg Vorbis. Of course, all credits goes to them.


Download

JOrbis 0.0.17 is available.


Tutorial

Jon Kristensen(info at jonkri . org) has contributed the tutorial titled as "Tutorial: How to use JOgg and JOrbis to play an Ogg Vorbis stream over HTTP".


Comments/suggestions are accepted at jorbis@jcraft.com.