[opus] Choosing a java library that conforms to RFC6716 to extract audio data for scientific computing.

にむJia Wei l.jiawei6150 at gmail.com
Wed Oct 28 07:43:36 UTC 2020


description:I had spend a few days reading up documentations and trying out
various lib to check if it gives the result I wanted.
The object I want is quite simple,the audio data in terms of arrays.
By audio data,I mean raw audio data without headers.
And by raw audio data I also refer to the values of those samples.The
sampled data that contains the audio signal strength,etc.

So you may ask what is my expectations then.
A library with good decoding that returns the language supported primitives
or common class for putting into scientific computing matrix,tensor,etc.
Encoding can simply use opus c official compiled binaries to encode wav as
preprocessing because size limiitation at.

Of course,I did try and use some unofficial implementations.

So I used some and below is my experience

Lwjgl opus:Broken documentation,messed us variable and types.Using jni,java
nio.Status,Probably unmantained broken no one cares.Probably a more chaotic
copy from other jni wrappers.

The stackoverflow commonly seen suggested lib way:
The jorbis ,jogg both by jcraft.With javax,google code_tritonus share now
moved to github for maven support.
Quite nice very good it works but it doesn't support opus,only ogg
vorbis.Why,why...

So you may ask,now with these info it seems like I am kinda stuck and how
you may help me.
I hope there is a test suite to quickly verify if it is compliant to the
opus specification.
So future developer may not need to waste their time trying out those
implementations that just doesn't work and struggle.
Also it will provide a better support for the specification
verification.Finding a library will also be much easy.

Of course verifying the specifications does not mean it has good
documentations.
How does we expect a test suite to be a fast runnable to run is also a
problem.
But of course all is possible by having some naming convention.Like fixed
method name or fixed class name.
In fact i have a java program that has a plugin system that uses
reflection,with the limitations of fixed method name and a set of fixed
arguments type.
Of course maven itself is also using plugin system concept.

Some possible canditate that need to waste time to test:
discord java_java opus,github
https://github.com/leonfancy/oggus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xiph.org/pipermail/opus/attachments/20201028/5a678504/attachment-0001.html>


More information about the opus mailing list