Saturday, May 4, 2013

Open Source Java Library


First of all, sorry if my Englush is not very good; I'm Spanish from Barcelona and I'm learning Englush by my own. Now let me to introduce myself: I have a degree in computer science, but I didn't have the oportunity to develop for a long time, because I got blind. In fact, I've been getting blind slowly and progressively due to a diseasse I'm affected by: retinitis pigmenthosa. Nevertheless, I was involved in the CLAM project (C++ Library for Audio and Music) for one year and a half before loosing my vision completely. When got totally blind, I was a bit depressed and I was out from computers for almost four yeears. In March 2011 I installed a screen reader in my computer and began to take contact again with the programming world. Since then, I'm reviewing subjects of my interest and, when I have any idea, I stop reading for a while and type a bit of code. Currently, I'm developing a small library in Java, but I hope to make it bigger step by step. I named that library imr that stands for Ismael Mosquera Rivera (my name). Currently, the library has the following packages:

  • matrix: provides classes to make the most common operations applied to matrices and vectors, and implements functionality to solve nxn linear systems and make LU decomposition.
  • media. has 2 subpackages: audio and midi. The media package provides a sound player with capability to play audio and MIDI with support to play lists or single files; also provides support to loop and shuffle among other useful funcionalities. The audio package provides an audio player in case you don't need MIDI support and want just a player to play single files. The midi package also provides a MIDI player, a MIDI file reader and writer and classes to manage MIDI data with its correspondent wrappers to javax.sound.midi classes.
  • util: provides a useful static class to resize, get chunks, clone and print one, two or three-dimensional arrays of any kind of type included the atomic ones.

I hope that small library can help anyone in some way and I have the idea to extend it adding new features to the current packages in the library and even adding new packages.

You can get the imr library which contains the whole source code and api documentation from: Download imr_lib.rar

I developed an applicationin C++ to convert audio into MIDI by humming You can get it from: Download Voice2MIDI.rar

You can download a pdf explaining how Voice2MIDI was developed from Download imosquera (pdf in Spanish compressed in a rar file)

Other links of interest where I was involved: CLAM project (C++ Library for Audio and Music) Network Editor Music Annotator

No comments:

Post a Comment