harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leo Li" <liyilei1...@gmail.com>
Subject Re: [classlib][sound]Proposal for Harmony Sound real implementation
Date Tue, 04 Sep 2007 09:39:04 GMT
On 9/4/07, Jimmy,Jing Lv <firepure@gmail.com> wrote:
> Hi,
>    I miss something last time, it seems if we want Harmony to play
> music, we need a native support for sound in Harmony as well. RI's
> implementation has a 100k-sized dll (sound.dll) under lib directory.
>    However as we know, sound driver on windows and linux are totally
> different,  and harmony port lib do not contain any support for this.
> We need to write several libs for variety of platforms (windows,
> linux, macos,etc).
>    And RI currently support .au、.aiff、.Wav、.Midi、.rfm files (do I
> miss something here?) As a result, Harmony'd better implement these
> providers (And IMO, it'll be better if Harmony support more formats of
> media).
>    I try to google for more open source sound
> providers/native-implementation these days, though most open source
> music implementations are GPL licensed, still there're a few seems
> good to use. For an example, "portaudio"[1] from Carnegie Mellon
> University is  cross-platform APIs and library implementations for
> music, under a MIT-like license, which seems compitable with APL., we
> may use this library as our native lib of sound. But we'd better send
> mail and ask them about this, do we?

    I have also some interests in this area.
    Apache has a mailing list about legal issues. Maybe we can ask the
question there. Maybe we had better first it meet our need before we
contact with the writer for the library about the license issues.
      Besides, I have a skim over its tutorial[2].
      And it says "This means that you can write a simple 'C' program
to process or generate an audio signal, and that program can run on
several different types of computer just by recompiling the source
code. "
      Does it mean that the library is just a sound driver and there
still remains the work to decode signals from sound stream file, for
example, a midi file, if I have not missed something?

>    If we can use "portaudio" as our native lib, the next thing is to
> implement our java providers for  .au、.aiff、.Wav、.Midi、.rfm, etc.
> files, unluckiely, I dont find any non-GPLed or non-LGPLed open source
> java sound provider yet. Is it acceptable for us to use LGPLed
> providers (do not re-disturbute them, but ask harmony clients to
> download themselves?) Or we can wrap native API, do some change to
> comply java sound infrastructure. if native api is strong enough, the
> wrapping may be not too costy.
>    Currently the sound module test coverage is still low, if we
> finish real implementation, we can make it 100%.
>    Any comments/suggestions? And is it possible to mail portmusic and
> use their lib as a part of Harmony? Thanks!
> [1] http://www.cs.cmu.edu/~music/portmusic/
> 2007/8/28, Jimmy,Jing Lv <firepure@gmail.com>:
> > Hi All,
> >
> >     Though sound module has 100% API coverage [1], a simple test on
> > sound module shows that it lacks some real providers[2]. What's more,
> > Harmony need a sound.properties file under jdk/jre/lib according to
> > java doc [3].
> >     It seems Harmony does not have a sound provider yet  (please
> > correct me if I miss something). So we have two ways to go:
> >     1. code a provider for Harmony, it may be more than 300K in binary
> > size according to RI's implementation, so a lot of work to do :)
> >     2. find a sound provider from other open source project. I googled
> > open source sound provider, and find some of them. On the top of
> > search result is a project named Tritonus[4],  though it does not
> > update since 2003, it is said "Tritonus is an implementation of the
> > Java Sound API" and has a full build for downloading, sounds perfectly
> > meet our requirement (but I did not test it yet), however it is GPL
> > licensed. Some other project, like JLayer/MP3SPI[5] does not support
> > Midi at all which is required, and also LGPL licensed. If we want to
> > use these providers, we can not re-distribute them with
> > Harmony(according to GPL and APL) but ask users to download them
> > theirslves.
> >
> >      Any suggestions on this? Or do someone know some APL or
> > APL-compatible open source java sound provider? Thanks!
> >
> >
> > [1] http://www.kaffe.org/~stuart/japi/htmlout/h-jdk15-harmony5.html
> > [2] a small test try to play a midi will cause an Error as follows
> > while RI plays well:
> > java.lang.Error: There is no MidiFileReaderProviders on your system!!!
> >         at javax.sound.midi.MidiSystem.getSequence(MidiSystem.java:315)
> >         at testdecl.PlayMidi.<init>(PlayMidi.java:39)
> >         at testdecl.PlayMidi.main(PlayMidi.java:81)
> > [3] file:///C:/Spec/docs/api/javax/sound/midi/MidiMessage.html
> > [4] http://tritonus.org/
> > [5] http://www.javazoom.net/projects.html
> > --
> >
> > Best Regards!
> >
> > Jimmy, Jing Lv
> > China Software Development Lab, IBM
> >
> --
> Best Regards!
> Jimmy, Jing Lv
> China Software Development Lab, IBM

Leo Li
China Software Development Lab, IBM

View raw message