I am trying to get more information from a .wav For example, using decibel or RMS to cut a .wav into pieces. or raise the decibel of a .wav It would be perfect if I could get the frequency information too. the .wav is mono.
I could play my .wav using urish/java-openal. created by Uri Shaked. Do I look into the OpenAL documents? or should I find another audio library? I prefer Java over C. I am not good at C.
First use some library to open up the WAV file and populate an array with the raw audio wave which will be in PCM format ... see Reading wav file in Java ... WAV format is simple so you can write your own code to parse a WAV file and look at the 44 byte header and PCM audio payload see below links for WAV specs
Once you have the array of integers I suggest you simply print to the console ... depending on where you send that array of integers you may need to first convert it into floats ... typically the integers vary from 0 to some power of 2 like 2^16 - 1 ... often you will be interested in just a short set of those integers not the entire file ... this is called a window of samples where each integer is a sample of the source audio which has been digitized from its analog source say from a microphone into a discrete integer to represent the height of the audio curve at an instant in time
Often to obtain the frequency you send the array or a segment of the array into a FFT call ... this will transform the signal from its time domain into the frequency domain ... it neither looses nor gains information during that transformation ... once in the frequency domain you can then send it into the reverse namely into an inverse transform to obtain the original time domain signal ... here is how to parse the frequency domain data
Be aware you can perform an incredible amount of manipulation of audio (and video) using the command line tool FFMEG ... its also available as a library which you can call from your code ( in various languages )
OpenAL is a good library for rendering audio or to capture audio from the mic
good luck and welcome to the world of DSP
here are some WAV spec details
http://tiny.systems/software/soundProgrammer/WavFormatDocs.pdf
http://soundfile.sapp.org/doc/WaveFormat/
http://www.labbookpages.co.uk/audio/javaWavFiles.html
https://blogs.msdn.microsoft.com/dawate/2009/06/23/intro-to-audio-programming-part-2-demystifying-the-wav-format/
http://soundfile.sapp.org/doc/WaveFormat/
http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html
http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples.html
http://soundfile.sapp.org/doc/WaveFormat/ # craig@ccrma.stanford.edu
http://unusedino.de/ec64/technical/formats/wav.html
http://www.drdobbs.com/database/inside-the-riff-specification/184409308
http://www.gamedev.net/page/resources/_/technical/game-programming/loading-a-wave-file-r709
http://www.topherlee.com/software/pcm-tut-wavformat.html
http://www.labbookpages.co.uk/audio/javaWavFiles.html
http://www.johnloomis.org/cpe102/asgn/asgn1/riff.html