If you plugin your Bela, this is the example: http://bela.local/documentation/sample-streamer_2render_8cpp-example.html
So my experiment was using only 10 minutes of 16 channels at the default bit size of Matlabs 'audiowrite' function (16 bits per sample). It could well be that my storage medium is too slow, it is a freebee USB key after all. It would appear the USB host port on the BBB has a theoretical maximum read rate of 480Mbitsps or 60Mbytesps. A sandisk uSDHC has a suggested maximum read rate of 40Mbytesps, so I will try one of these and see where we get to.
An envelope calculation of 48000(samples)16(channels)16(bits) = 12288000 bits to be read (excluding headers) per second. Leaving 467712000 bits to spare for the read as far as the USB2.0 limit goes. Lets downrate this estimate for a uSDHC card leaving 37712000 spare.
However, my concern is that buffering a whole second of 48k audio at 16 channels into the 512Mb of RAM isn't great for leaving headroom for other system services. In fact it isn't working at all at the moment. However, if I drop the frame size down to something sensible, I get plenty of under-runs. Reading 8 channels is however not a problem.