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 the README of the 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 with the aim of the Ogg project. JOrbis is our contribution to the Ogg project in our style. We think the ubiquity of Vorbis decoders will leverage the popularity of Ogg Vorbis. We hope JOrbis will run on any platform, any device and any web browser that supports Java, and that everyone will enjoy streamed music without patent or royalty concerns about the codec.

Features

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 Celeron machine, JOrbisPlayer enables you to enjoy Ogg files on a web page. Please check the README file to try JOrbisPlayer.

Live Streams in Ogg Vorbis

If you click the 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 a link to the 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 https://en.wikinews.org/wiki/Wikinews:Audio_Wikinews and apply it. You can play Ogg files by clicking "Vorbis". Here is the 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 the following Java programs have been using JOrbis.

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 support to JMF (JavaSound API). It is available at http://www.javazoom.net/vorbisspi/vorbisspi.html.

Credits

JOrbis has been developed by ymnk and has been based on the excellent work of the Ogg Vorbis CODEC authors, Monty and The XIPHOPHORUS Company. Many thanks to them and many contributors to Ogg Vorbis. Of course, all credit goes to them.

Download

JOrbis 0.0.17 is available.

Tutorial

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

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