Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #94237

Re: Fast 12 bit to 16 bit sample conversion?

From "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de>
Newsgroups comp.lang.python
Subject Re: Fast 12 bit to 16 bit sample conversion?
Date 2015-07-20 15:23 +0000
Message-ID <d14i39Fccn6U1@mid.individual.net> (permalink)
References <d14a9iF9nfgU1@mid.individual.net> <mailman.787.1437403400.3674.python-list@python.org>

Show all headers | View raw


MRAB <python@mrabarnett.plus.com> wrote:
>On 2015-07-20 14:10, Peter Heitzer wrote:
>> I am currently writing a python script to extract samples from old Roland 12 bit sample
>> disks and save them as 16 bit wav files.
>>
>> The samples are layouted as follows
>>
>> 0 [S0 bit 11..4] [S0 bit 3..0|S1 bit 3..0] [S1 bit 11..4]
>> 3 [S2 bit 11..4] [S2 bit 3..0|S3 bit 3..0] [S3 bit 11..4]
>>
>> In other words
>> sample0=(data[0]<<4)|(data[1]>>4)
>> sample1=(data[2]<<4)|(data[1] & 0x0f)
>>
>> I use this code for the conversion (using the struct module)
>>
>> import struct
>> from array import array
>>
>> def getWaveData(diskBuffer):
>>    offset=0
>>    words=array('H')
>>    for i in range(len(diskBuffer)/3):

>If the 2 12-bit values are [0xABC, 0xDEF], the bytes will be [0xAB, 
>0xCF, 0xDE].

>>      h0=struct.unpack_from('>h',diskBuffer,offset)

>This gives 0xABCF, which is ANDed to give 0xABC0. Good.

>>      h1=struct.unpack_from('<h',diskBuffer,offset+1)

>This gives 0xDECF, which is ANDed to give 0xDEC0. Not what you want.
You are right! It looked to me as if it was little endian, but only for the MSB.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Fast 12 bit to 16 bit sample conversion? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2015-07-20 13:10 +0000
  Re: Fast 12 bit to 16 bit sample conversion? MRAB <python@mrabarnett.plus.com> - 2015-07-20 15:43 +0100
    Re: Fast 12 bit to 16 bit sample conversion? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2015-07-20 15:23 +0000
  Re: Fast 12 bit to 16 bit sample conversion? edmondo.giovannozzi@gmail.com - 2015-07-20 08:14 -0700
  Re: Fast 12 bit to 16 bit sample conversion? Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-07-21 03:45 +0100

csiph-web