| Electronic Components Datasheet Search |
|
VS1103 Datasheet(PDF) 39 Page - VLSI Solution Oy |
|
|
|||||||||||||||||||||||||||||
VS1103 Datasheet(HTML) 39 Page - VLSI Solution Oy |
|
39 / 61 page ![]() VS1103b Datasheet 7 OPERATION 7.4.3 Adding a RIFF Header To make your IMA ADPCM file a RIFF / WAV file, you have to add a header before the actual data. Note that 2- and 4-byte values are little-endian (lowest byte first) in this format: File Offset Field Name Size Bytes Description 0 ChunkID 4 "RIFF" 4 ChunkSize 4 F0 F1 F2 F3 File size - 8 8 Format 4 "WAVE" 12 SubChunk1ID 4 "fmt " 16 SubChunk1Size 4 0x14 0x0 0x0 0x0 20 20 AudioFormat 2 0x11 0x0 0x11 for IMA ADPCM 22 NumOfChannels 2 0x1 0x0 Mono sound 24 SampleRate 4 R0 R1 R2 R3 0x1f40 for 8 kHz 28 ByteRate 4 B0 B1 B2 B3 0xfd7 for 8 kHz 32 BlockAlign 2 0x0 0x1 0x100 34 BitsPerSample 2 0x4 0x0 4-bit ADPCM 36 ByteExtraData 2 0x2 0x0 2 38 ExtraData 2 0xf9 0x1 Samples per block (505) 40 SubChunk2ID 4 "fact" 44 SubChunk2Size 4 0x4 0x0 0x0 0x0 4 48 NumOfSamples 4 S0 S1 S2 S3 52 SubChunk3ID 4 "data" 56 SubChunk3Size 4 D0 D1 D2 D3 Data size (File Size-60) 60 Block1 256 First ADPCM block 316 . . . More ADPCM data blocks If we have n audio blocks, the values in the table are as follows: F = n × 256 + 52 R = Fs (see Chapter 7.4.1 to see how to calculate Fs) B = Fs×256 505 S = n × 505 . D = n × 256 If you know beforehand how much you are going to record, you may fill in the complete header before any actual data. However, if you don’t know how much you are going to record, you have to fill in the header size datas F , S and D after finishing recording. The 128 words (256 bytes) of an ADPCM block are read from SCI_IN0 and written into file as follows. The high 8 bits of SCI_IN0 should be written as the first byte to a file, then the low 8 bits. Note that this is contrary to the default operation of some 16-bit microcontrollers, and you may have to take extra care to do this right. A way to see if you have written the file in the right way is to check bytes 2 and 3 (the first byte counts as byte 0) of each 256-byte block. Byte 2 should always be less than 90, and byte 3 should always be zero. Version: 1.04, 2018-03-16 39 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |