Fast conversion byte array to short array of audio data
<p>I need fastest way to convert byte array to short array of audio data.</p>

<p>Audio data byte array contains data from two audio channels placed in such way:</p>

<pre><code>C1C1C2C2 C1C1C2C2 C1C1C2C2 ...

where

C1C1 - two bytes of first channel

C2C2 - two bytes of second channel
</code></pre>

<p>Currently I use such algorithm, but I feel there is better way to perform this task.</p>

<pre><code>byte[] rawData = //from audio device
short[] shorts = new short[rawData.Length / 2];
short[] channel1 = new short[rawData.Length / 4];
short[] channel2 = new short[rawData.Length / 4];
System.Buffer.BlockCopy(rawData, 0, shorts, 0, rawData.Length);
for (int i = 0, j = 0; i &lt; shorts.Length; i+=2, ++j)
{
    channel1[j] = shorts[i];
    channel2[j] = shorts[i+1];
}
</code></pre>
