Hello,<br><br>I want to read from a binary file called myaudio.dat<br>Then I've tried the next code:<br><br>import struct<br>name = "myaudio.dat"<br>f = open(name,'rb')<br>f.seek(0)<br>chain = "< 4s 4s I 4s I 20s I I i 4s I 67s s 4s I"<br>

s = f.read(4*1+4*1+4*1+4*1+4*1+20*1+4*1+4*1+4*1+4*1+4*1+67*1+1+4*1+4*1)<br>a = struct.unpack(chain, s)<br>header = {'identifier'     : a[0],<br>          'cid'              : a[1],<br>          'clength'       : a[2],<br>

                  'hident'         : a[3],<br>                  'hcid32'         : a[4],<br>                  'hdate'          : a[5],<br>                  'sampling'     : a[6],<br>                  'length_B'      : a[7],<br>

                  'max_cA'       : a[8],<br>                  'max_cA1'     : a[9],<br>                  'identNOTE'  : a[10],<br>                  'c2len'          : a[11],}<br><br>It produces:<br>

<br>{'length_B': 150001, 'sampling': 50000, 'max_cA1': 'NOTE', 'hident': 'HEDR', 'c2len': "Normal Sustained Vowel 'A', Voice and Speech Lab., MEEI, Boston, MA", 'hdate': 'Jul 13 11:57:41 1994', 'identNOTE': 68, 'max_cA': -44076, 'cid': 'DS16', 'hcid32': 32, 'identifier': 'FORM', 'clength': 300126}<br>

<br>So far when I run f.tell()<br>>>f.tell()<br>136L<br> <br>The audio data length is 300126, now I need a clue to build an array with the audio data (The Chunk SDA_), would it possible with struct?, any help ?<br>

<br>Thanks<br><br>The file format is:<br><br><br>Offset  |  Length |  Type |                Contents<br>0               4            character     Identifier: "FORM"<br>4              4            character     Chunk identifier: "DS16"<br>

8              4            integer             Chunk length<br>12              -             -                      Chunk data<br><br>Header 2<br><br>Offset       Length       Type       Contents<br>0     4     character     Identifier: "HEDR" or "HDR8"<br>

4     4     integer     Chunk length (32)<br>8     20     character     Date, e.g. "May 26 23:57:43 1995"<br>28     4     integer     Sampling rate<br>32     4     integer     Data length (bytes)<br>36     2     unsigned integer     Maximum absolute value for channel A: 0xFFFF if not defined<br>

38     2     unsigned integer     Maximum absolute value for channel A: 0xFFFF if not defined<br><br>NOTE Chunk<br><br>Offset       Length       Type       Contents<br>0     4     character     Identifier: "NOTE"<br>

4     4     integer     Chunk length<br>8     -     character     Comment string<br><br>SDA_, SD_A or SDAB Chunk<br>Offset     Length     Type     Contents<br>0     4     character     Identifier: "SDA_", "SD_B", or "SDAB"<br>

4     4     integer     Chunk length<br>8     -     -     Data<br><br>