にむJia Wei
2020-Oct-28 07:43 UTC
[opus] Choosing a java library that conforms to RFC6716 to extract audio data for scientific computing.
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>