Thanks! this works perfectly. The pointer_to_array() function seems to be deprecated, however, do you know how to use the suggested replacement, unsafe_wrap()?
And if it's not too much to ask, I am wondering how I can do the conversion from this UInt8 buffer more efficiently. This is what I am currently doing, where blocks is the buffer: # We now have all the blocks in the blocks array, we need to extract the # 12-bit samples from that array. The data in the blocks is organized in 4 # bytes / 32-bit words, and each word contains two 12-bit samples. # Calculate the number of 32-bit words in the blocks array numwords = div(numblocks*DIG_BLOCK_SIZE,4) # Initialize array to store the samples data = Array{Int32}(2*numwords) for n=1:numwords # Convert next four bytes to 32-bit string s = reverse(bits(blocks[(n-1)*4+1]))*reverse(bits(blocks[(n-1)*4+2]))*reverse(bits(blocks[(n-1)*4+3]))*reverse(bits(blocks[(n-1)*4+4])) # Parse the first 12 bits as the first sample and the 12 bits 4 bits later as the second sample data[(n-1)*2+1] = parse(Int,reverse(s[1:12]),2) data[(n-1)*2+2] = parse(Int,reverse(s[17:28]),2) end This is pretty slow, I assume due to the translation between numbers and strings. Is there a better way to do this? Thanks, Jeremy