Hello Sergio,
Unless you have lots of ram, trying to load so much data at once will cause you trouble no matter the format.
The fread dimensions are [nChannels nSamplesToRead].
Additionally, each time you execute a fread command it will start from where it stopped last time, so you can issue multiple freads to load different chunks of data.
An example could be something like:
f=fopen('filename', 'rb');
while (~feof(f)) %tests for end of file
D=fread(f,[nChannels, nSamplesToRead],'int16');
process_your_data(D);
end
fclose(f);
Or, if you wanted to start from a specific offset you could use the fseek function, which moves the read pointer a specific number of bytes
f=fopen('filename', 'rb');
fseek(f, nChannels*nOffsetSamples*2); %a int16 is 2 bytes
D=fread(f,[nChannels, nSamplesToRead],'int16');
fclose(f);
I hope this clarifies it for you. I'll be happy to offer further explanations if you need them
Best,
Aarón