John Sigler wrote: > I experimented with the following command: > > $ arecord -vv -M -r 48000 -f S32_LE -t raw -d 60 -D hw /tmp/out > > which gave the following output: > > Recording raw data '/tmp/out' : Signed 32 bit Little Endian, Rate 48000 > Hz, Mono > Hardware PCM card 0 'HDSPM MADI' device 0 subdevice 0 > Its setup is: > stream : CAPTURE > access : MMAP_NONINTERLEAVED > format : S32_LE > subformat : STD > channels : 1 > rate : 48000 > exact rate : 48000 (48000/1) > msbits : 24 > buffer_size : 8192 > period_size : 4096 > period_time : 85333 > tstamp_mode : NONE > period_step : 1 > avail_min : 4096 > start_threshold : 1 > stop_threshold : 8192 > silence_threshold: 0 > silence_size : 0 > boundary : 1073741824 > > AFAIU, S32_LE means that each sample is a 32-bit signed quantity stored > least-significant byte first, right? > > e.g. -2 (0xfffffffe) is stored as "fe ff ff ff" and 1 is stored as > "01 00 00 00" right? > > The dump of the beginning /tmp/out follows: > > 00000000 00 00 a5 f5 08 00 43 f6 08 00 bc f6 00 00 20 f7 > 00000010 08 00 9a f7 00 00 3e f8 00 00 11 f9 08 00 f2 f9 > 00000020 00 00 a9 fa 08 00 42 fb 08 00 e7 fb 08 00 6b fc > 00000030 08 00 ae fc 00 00 f6 fc 00 00 75 fd 08 00 f3 fd > 00000040 00 00 31 fe 08 00 41 fe 00 00 62 fe 00 00 b5 fe > 00000050 00 00 30 ff 08 00 c2 ff 00 00 47 00 08 00 80 00 > 00000060 00 00 65 00 00 00 47 00 00 00 63 00 08 00 ab 00 > 00000070 00 00 f9 00 08 00 0c 01 08 00 c4 00 00 00 60 00 > 00000080 08 00 1a 00 00 00 c3 ff 00 00 2d ff 08 00 7e fe > 00000090 00 00 d5 fd 00 00 2f fd 00 00 95 fc 00 00 03 fc > 000000a0 08 00 66 fb 00 00 d7 fa 08 00 6b fa 08 00 01 fa > 000000b0 08 00 91 f9 00 00 41 f9 00 00 e9 f8 08 00 4e f8 > 000000c0 00 00 c4 f7 00 00 89 f7 00 00 2a f7 08 00 43 f6 > 000000d0 08 00 f9 f4 00 00 81 f3 08 00 0f f2 08 00 ce f0 > 000000e0 08 00 81 ef 08 00 08 ee 08 00 b2 ec 00 00 7e eb > 000000f0 08 00 27 ea 00 00 d4 e8 00 00 bd e7 00 00 b6 e6 > > The first sample is stored as 00 00 a5 f5. > Does this represent the value 0xf5a50000? > > For the majority of samples, the first two bytes are 00 00. > Is this because the input stream was, in fact, a 16-bit stream? > > For the rest of the samples, the first two byte are 08 00. > Why don't all the samples start with 00 00? > Does this sequence 08 00 have a special meaning? Would anyone care to venture a guess? Regards. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user