Just knocked this up for ya (not tested). I used a short pointer instead of peekshort...
Notice the divide ;)
As for saving to ogg vorbis There is a SaveOgg command ready to use.
Method isSound16Bit%(samplesbank:TBank) Local sptr:Short Ptr = Short Ptr(BankBuf(samplesbank)) For Local i% = 0 Until BankSize(samplesbank)/BytesPerSample[format] Step 8 If Abs(SignedShort(sptr[i]))>15 Then Return True Next Return False End Method
Notice the divide ;)
As for saving to ogg vorbis There is a SaveOgg command ready to use.