Preparations to implement FFT on a wav file (code Java, not Library) I am making preparations to implement FFT on a wav File.wav Only Java.
I'm reluctant to use matlab

I have a File wav stereo, 16 bits.

I need to calculate the FFT, but I have confusing.

My File has a Frequency of 44100, the samples in bytes are 10 minuts -> 

(10 minuts)*(60 seconds)*(44100 sample rate)*(2 bytes because are 16 bits)
= 52920000 &gt;~ 52MB per channel.


As you can see it's a big file.

1. Question.
Can I to split my file in order to make smaller calculus?
If yes, My file can be variable, How I can calculate a moderate lenght working in function of frequency (greater frequency will need greater length FFT).

2. Question.
According to FFT the size need to have a lenght = mantissa = Pow(2, Integer).
Can I to fill with zeros to reach Pow(2, Integer), Example I have a file with a lenght of 65000 samples, then I will need a FFT with order of 16 -> mantissa = 65536, Can i to fill with zeros the others 536 samples?

Thank you.
Simply taking the Fourier transform of a ten minute signal is unlikely to provide you with any useful information - I suspect what is actually of interest to you is the spectral information at intervals throughout the signal, e.g. 600 frequency plots at 1 second intervals, which if you so desire can be combined into a spectographic image for analysis. This can be achieved by performing multiple windowed Short Time Fourier Transforms (STFT) and storing the results.

Can I to split my file in order to make smaller [calculations]?

Yes, it is up to you what granularity of frequency information you wish to obtain. Small FFT lengths will afford you a better time resolution, longer FFT lengths will afford you a better frequency resolution. For purely visualisation purposes an FFT length of 1024 is generally sufficient.

Can I to fill with zeros to reach Pow(2, Integer) [for my FFT length]?

Yes, if you do not have sufficient samples to reach a power of two length for your FFT then you should zero pad the input. This will introduce the minimal amount of spectral error into your frequency domain results.