úγ     .'The header and stream read or written. 9A stream is a list of frames, each of which is a list of & samples with one sample per channel. 5Each sample is a left-justified signed integer, with * significant bits as given in the header. .Descriptive information for the audio source. Samples per frame. Frames per second.  Number of + significant bits of left-justified value.  If present, ! number of frames in the stream. # Otherwise, can be (inefficiently) ! inferred from the length of the  stream. 9For internal use only; the header as it appears on-disk. 7 The interface cleans this up to remove redundancy and # make things easier to understand.  8Utility routine for working with audio data in floating  point format. 8Utility routine for working with audio data in floating  point format.  !"#$%&'BRead the WAVE file at the given handle and return the audio data. @Read the WAVE file at the given path and return the audio data. ()*+,-?Write the given audio data to the given handle as a WAVE file. =Write the given audio data to the given path as a WAVE file.      .      !"#$%&'()*+,-WAVE-0.1 Data.WAVEWAVE waveHeader waveSamples WAVESamples WAVESample WAVEHeaderwaveNumChannels waveFrameRatewaveBitsPerSample waveFramestilecollectsampleToDoubledoubleToSamplehGetWAVE getWAVEFilehPutWAVE putWAVEFile WAVERawHeaderrawNumChannels rawSampleRate rawByteRate rawBlockAlignrawBitsPerSample rawFrames bits_to_bytes bs_to_stringmatchconvert_nbytes_lendget_nbytes_lend get_word_lendget_halfword_lendget_wave_header skip_chunk get_wave_data cook_header get_chunksunconvert_nbytes_lendput_nbytes_lend put_word_lendput_halfword_lendput_wave_header put_wave_data