this is just guessing from looking at the example dsp plugins but, it looks like:
each item in the array holds the amplitude of the sound wave at a given point in time. The range used to store the amplitude depends on the bps parameter. bps is eather 16 (range -32768 to 32768) or 8 (-128 to 128). The number of cells in the array is the number of channels (nch) multiplied by the number of samples (numsamples).
That all seems pretty certain. Taking a bigger guess, i'd say that the channels are interleaved in the array so that, if you have 2 channels then every even index in the array holds a sample for channel 1 (eg: left) and every odd index in the array holds a sample for channel 2.
The alternative would be that all samples for channel 1 come first and then all samples for channel 2 however that would seem to be much more difficult to construct as the input plugin reads the file.