wavefile-0.6.0/0000775000175000017500000000000012647143014012313 5ustar hannohannowavefile-0.6.0/Rakefile0000775000175000017500000000017112647143014013762 0ustar hannohannorequire 'rake/testtask' Rake::TestTask.new do |t| t.libs << "test" t.test_files = FileList['test/**/*_test.rb'] end wavefile-0.6.0/metadata.yml0000664000175000017500000000706312647143014014624 0ustar hannohanno--- !ruby/object:Gem::Specification name: wavefile version: !ruby/object:Gem::Version version: 0.6.0 platform: ruby authors: - Joel Strait autorequire: bindir: bin cert_chain: [] date: 2013-12-08 00:00:00.000000000 Z dependencies: [] description: You can use this gem to create Ruby programs that produce audio. Since it is written in pure Ruby (as opposed to wrapping an existing C library), you can use it without having to compile a separate extension. email: joel dot strait at Google's popular web mail service executables: [] extensions: [] extra_rdoc_files: [] files: - LICENSE - README.markdown - Rakefile - lib/wavefile/buffer.rb - lib/wavefile/duration.rb - lib/wavefile/format.rb - lib/wavefile/info.rb - lib/wavefile/reader.rb - lib/wavefile/writer.rb - lib/wavefile.rb - test/buffer_test.rb - test/buffer_test.rbc - test/duration_test.rb - test/duration_test.rbc - test/fixtures/actual_output/valid_mono_pcm_8_44100_with_padding_byte.wav - test/fixtures/invalid/bad_riff_header.wav - test/fixtures/invalid/bad_wavefile_format.wav - test/fixtures/invalid/empty.wav - test/fixtures/invalid/empty_format_chunk.wav - test/fixtures/invalid/incomplete_riff_header.wav - test/fixtures/invalid/insufficient_format_chunk.wav - test/fixtures/invalid/no_data_chunk.wav - test/fixtures/invalid/no_format_chunk.wav - test/fixtures/invalid/README.markdown - test/fixtures/unsupported/bad_audio_format.wav - test/fixtures/unsupported/bad_channel_count.wav - test/fixtures/unsupported/bad_sample_rate.wav - test/fixtures/unsupported/README.markdown - test/fixtures/unsupported/unsupported_audio_format.wav - test/fixtures/unsupported/unsupported_bits_per_sample.wav - test/fixtures/valid/no_samples.wav - test/fixtures/valid/README.markdown - test/fixtures/valid/valid_mono_float_32_44100.wav - test/fixtures/valid/valid_mono_float_64_44100.wav - test/fixtures/valid/valid_mono_pcm_16_44100.wav - test/fixtures/valid/valid_mono_pcm_16_44100_junk_chunk_with_padding_byte.wav - test/fixtures/valid/valid_mono_pcm_24_44100.wav - test/fixtures/valid/valid_mono_pcm_32_44100.wav - test/fixtures/valid/valid_mono_pcm_8_44100.wav - test/fixtures/valid/valid_mono_pcm_8_44100_with_padding_byte.wav - test/fixtures/valid/valid_stereo_float_32_44100.wav - test/fixtures/valid/valid_stereo_float_64_44100.wav - test/fixtures/valid/valid_stereo_pcm_16_44100.wav - test/fixtures/valid/valid_stereo_pcm_24_44100.wav - test/fixtures/valid/valid_stereo_pcm_32_44100.wav - test/fixtures/valid/valid_stereo_pcm_8_44100.wav - test/fixtures/valid/valid_tri_float_32_44100.wav - test/fixtures/valid/valid_tri_float_64_44100.wav - test/fixtures/valid/valid_tri_pcm_16_44100.wav - test/fixtures/valid/valid_tri_pcm_24_44100.wav - test/fixtures/valid/valid_tri_pcm_32_44100.wav - test/fixtures/valid/valid_tri_pcm_8_44100.wav - test/format_test.rb - test/format_test.rbc - test/info_test.rb - test/info_test.rbc - test/reader_test.rb - test/reader_test.rbc - test/wavefile_io_test_helper.rb - test/wavefile_io_test_helper.rbc - test/writer_test.rb - test/writer_test.rbc homepage: http://www.joelstrait.com/ licenses: [] metadata: {} post_install_message: rdoc_options: [] require_paths: - lib required_ruby_version: !ruby/object:Gem::Requirement requirements: - - '>=' - !ruby/object:Gem::Version version: '0' required_rubygems_version: !ruby/object:Gem::Requirement requirements: - - '>=' - !ruby/object:Gem::Version version: '0' requirements: [] rubyforge_project: rubygems_version: 2.1.11 signing_key: specification_version: 4 summary: A pure Ruby library for reading and writing Wave sound files (*.wav) test_files: [] wavefile-0.6.0/lib/0000775000175000017500000000000012647143014013061 5ustar hannohannowavefile-0.6.0/lib/wavefile/0000775000175000017500000000000012647143014014663 5ustar hannohannowavefile-0.6.0/lib/wavefile/reader.rb0000644000175000017500000003273012647143014016455 0ustar hannohannomodule WaveFile # Error that is raised when trying to read from a file that is either not a wave file, # or that is not valid according to the wave file spec. class InvalidFormatError < StandardError; end # Error that is raised when trying to read from a valid wave file that has its sample data # stored in a format that Reader doesn't understand. class UnsupportedFormatError < StandardError; end # Provides the ability to read sample data out of a wave file, as well as query a # wave file about its metadata (e.g. number of channels, sample rate, etc). # # When constructing a Reader a block can be given. All data should be read inside this # block, and when the block exits the Reader will automatically be closed. # # Reader.new("my_file.wav") do |reader| # # Read sample data here # end # # Alternately, if a block isn't given you should make sure to call close when finished reading. # # reader = Reader.new("my_file.wav") # # Read sample data here # reader.close class Reader # Returns a Reader object that is ready to start reading the specified file's sample data. # # file_name - The name of the wave file to read from. # format - The format that read sample data should be returned in # (default: the wave file's internal format). # # Returns a Reader object that is ready to start reading the specified file's sample data. # Raises Errno::ENOENT if the specified file can't be found # Raises InvalidFormatError if the specified file isn't a valid wave file # Raises UnsupportedFormatError if the specified file has its sample data stored in a format # that Reader doesn't know how to process. def initialize(file_name, format=nil) @file_name = file_name @file = File.open(file_name, "rb") raw_format_chunk, sample_frame_count = HeaderReader.new(@file, @file_name).read_until_data_chunk @current_sample_frame = 0 @total_sample_frames = sample_frame_count # Make file is in a format we can actually read validate_format_chunk(raw_format_chunk) native_sample_format = "#{FORMAT_CODES.invert[raw_format_chunk[:audio_format]]}_#{raw_format_chunk[:bits_per_sample]}".to_sym @native_format = Format.new(raw_format_chunk[:channels], native_sample_format, raw_format_chunk[:sample_rate]) @pack_code = PACK_CODES[@native_format.sample_format][@native_format.bits_per_sample] @format = (format == nil) ? @native_format : format if block_given? begin yield(self) ensure close end end end # Reads metadata from the specified wave file and returns an Info object with the results. # Metadata includes things like the number of channels, bits per sample, number of sample # frames, sample encoding format (i.e. PCM, IEEE float, uLaw etc). See the Info object for # more detail on exactly what metadata is available. # # file_name - The name of the wave file to read from # # Examples: # # info = Reader.info("my_docs/my_sounds/my_file.wav") # # Returns an Info object containing metadata about the wave file. # Raises Errno::ENOENT if the specified file can't be found # Raises InvalidFormatError if the specified file isn't a valid wave file, or is in a format # that WaveFile can't read. def self.info(file_name) file = File.open(file_name, "rb") raw_format_chunk, sample_frame_count = HeaderReader.new(file, file_name).read_until_data_chunk file.close Info.new(file_name, raw_format_chunk, sample_frame_count) end # Reads sample data of the into successive Buffers of the specified size, until there is no more # sample data to be read. When all sample data has been read, the Reader is automatically closed. # Each Buffer is passed to the given block. # # Note that sample_frame_count indicates the number of sample frames to read, not number of samples. # A sample frame include one sample for each channel. For example, if sample_frame_count is 1024, then # for a stereo file 1024 samples will be read from the left channel, and 1024 samples will be read from # the right channel. # # sample_frame_count - The number of sample frames to read into each Buffer from each channel. The number # of sample frames read into the final Buffer could be less than this size, if there # are not enough remaining. # # Returns nothing. def each_buffer(sample_frame_count) begin while true do yield(read(sample_frame_count)) end rescue EOFError close end end # Reads the specified number of sample frames from the wave file into a Buffer. Note that the Buffer will have # at most sample_frame_count sample frames, but could have less if the file doesn't have enough remaining. # # sample_frame_count - The number of sample frames to read. Note that each sample frame includes a sample for # each channel. # # Returns a Buffer containing sample_frame_count sample frames # Raises EOFError if no samples could be read due to reaching the end of the file def read(sample_frame_count) if @current_sample_frame >= @total_sample_frames #FIXME: Do something different here, because the end of the file has not actually necessarily been reached raise EOFError elsif sample_frame_count > sample_frames_remaining sample_frame_count = sample_frames_remaining end samples = @file.sysread(sample_frame_count * @native_format.block_align).unpack(@pack_code) @current_sample_frame += sample_frame_count if @native_format.bits_per_sample == 24 # Since the sample data is little endian, the 3 bytes will go from least->most significant samples = samples.each_slice(3).map {|least_significant_byte, middle_byte, most_significant_byte| # Convert the byte read as "C" to one read as "c" most_significant_byte = [most_significant_byte].pack("c").unpack("c").first (most_significant_byte << 16) | (middle_byte << 8) | least_significant_byte } end if @native_format.channels > 1 samples = samples.each_slice(@native_format.channels).to_a end buffer = Buffer.new(samples, @native_format) buffer.convert(@format) end # Returns true if the Reader is closed, and false if it is open and available for reading. def closed? @file.closed? end # Closes the Reader. After a Reader is closed, no more sample data can be read from it. # # Returns nothing. # Raises IOError if the Reader is already closed. def close @file.close end # Returns a Duration instance for the total number of sample frames in the file def total_duration Duration.new(total_sample_frames, @format.sample_rate) end # Returns the name of the Wave file that is being read attr_reader :file_name # Returns a Format object describing how sample data is being read from the Wave file (number of # channels, sample format and bits per sample, etc). Note that this might be different from the # underlying format of the Wave file on disk. attr_reader :format # Returns the index of the sample frame which is "cued up" for reading. I.e., the index # of the next sample frame that will be read. A sample frame contains a single sample # for each channel. So if there are 1,000 sample frames in a stereo file, this means # there are 1,000 left-channel samples and 1,000 right-channel samples. attr_reader :current_sample_frame # Returns the total number of sample frames in the file. A sample frame contains a single # sample for each channel. So if there are 1,000 sample frames in a stereo file, this means # there are 1,000 left-channel samples and 1,000 right-channel samples. attr_reader :total_sample_frames private # The number of sample frames in the file after the current sample frame def sample_frames_remaining @total_sample_frames - @current_sample_frame end def validate_format_chunk(raw_format_chunk) # :byte_rate and :block_align are not checked to make sure that match :channels/:sample_rate/bits_per_sample # because this library doesn't use them. unless FORMAT_CODES.values.include? raw_format_chunk[:audio_format] raise UnsupportedFormatError, "Audio format is #{raw_format_chunk[:audio_format]}, " + "but only format code 1 (PCM) or 3 (floating point) is supported." end unless Format::SUPPORTED_BITS_PER_SAMPLE[FORMAT_CODES.invert[raw_format_chunk[:audio_format]]].include?(raw_format_chunk[:bits_per_sample]) raise UnsupportedFormatError, "Bits per sample is #{raw_format_chunk[:bits_per_sample]}, " + "but only #{Format::SUPPORTED_BITS_PER_SAMPLE[:pcm].inspect} are supported." end unless raw_format_chunk[:channels] > 0 raise UnsupportedFormatError, "Number of channels is #{raw_format_chunk[:channels]}, " + "but only #{Format::MIN_CHANNELS}-#{Format::MAX_CHANNELS} are supported." end unless raw_format_chunk[:sample_rate] > 0 raise UnsupportedFormatError, "Sample rate is #{raw_format_chunk[:sample_rate]}, " + "but only #{Format::MIN_SAMPLE_RATE}-#{Format::MAX_SAMPLE_RATE} are supported." end end end # Used to read the RIFF chunks in a wave file up until the data chunk. Thus is can be used # to open a wave file and "queue it up" to the start of the actual sample data, as well as # extract information out of pre-data chunks, such as the format chunk. class HeaderReader # :nodoc: RIFF_CHUNK_HEADER_SIZE = 12 FORMAT_CHUNK_MINIMUM_SIZE = 16 def initialize(file, file_name) @file = file @file_name = file_name end def read_until_data_chunk read_riff_chunk begin chunk_id = @file.sysread(4) chunk_size = @file.sysread(4).unpack(UNSIGNED_INT_32).first while chunk_id != CHUNK_IDS[:data] if chunk_id == CHUNK_IDS[:format] format_chunk = read_format_chunk(chunk_id, chunk_size) else # The RIFF specification requires that each chunk be aligned to an even number of bytes, # even if the byte count is an odd number. # # See http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Docs/riffmci.pdf, page 11. if chunk_size.odd? chunk_size += 1 end # Other chunk types besides the format chunk are ignored. This may change in the future. @file.sysread(chunk_size) end chunk_id = @file.sysread(4) chunk_size = @file.sysread(4).unpack(UNSIGNED_INT_32).first end rescue EOFError raise_error InvalidFormatError, "It doesn't have a data chunk." end if format_chunk == nil raise_error InvalidFormatError, "The format chunk is either missing, or it comes after the data chunk." end sample_frame_count = chunk_size / format_chunk[:block_align] return format_chunk, sample_frame_count end private def read_riff_chunk riff_header = {} riff_header[:chunk_id], riff_header[:chunk_size], riff_header[:riff_format] = read_chunk_body(CHUNK_IDS[:riff], RIFF_CHUNK_HEADER_SIZE).unpack("a4Va4") unless riff_header[:chunk_id] == CHUNK_IDS[:riff] raise_error InvalidFormatError, "Expected chunk ID '#{CHUNK_IDS[:riff]}', but was '#{riff_header[:chunk_id]}'" end unless riff_header[:riff_format] == WAVEFILE_FORMAT_CODE raise_error InvalidFormatError, "Expected RIFF format of '#{WAVEFILE_FORMAT_CODE}', but was '#{riff_header[:riff_format]}'" end riff_header end def read_format_chunk(chunk_id, chunk_size) if chunk_size < FORMAT_CHUNK_MINIMUM_SIZE raise_error InvalidFormatError, "The format chunk is incomplete." end raw_bytes = read_chunk_body(CHUNK_IDS[:format], chunk_size) format_chunk = {} format_chunk[:audio_format], format_chunk[:channels], format_chunk[:sample_rate], format_chunk[:byte_rate], format_chunk[:block_align], format_chunk[:bits_per_sample] = raw_bytes.slice!(0...FORMAT_CHUNK_MINIMUM_SIZE).unpack("vvVVvv") if chunk_size > FORMAT_CHUNK_MINIMUM_SIZE format_chunk[:extension_size] = raw_bytes.slice!(0...2).unpack(UNSIGNED_INT_16).first if format_chunk[:extension_size] == nil raise_error InvalidFormatError, "The format chunk is missing an expected extension." end if format_chunk[:extension_size] != raw_bytes.length raise_error InvalidFormatError, "The format chunk extension is shorter than expected." end # TODO: Parse the extension end format_chunk end def read_chunk_body(chunk_id, chunk_size) begin return @file.sysread(chunk_size) rescue EOFError raise_error InvalidFormatError, "The #{chunk_id} chunk has incomplete data." end end def raise_error(exception_class, message) raise exception_class, "File '#{@file_name}' is not a supported wave file. #{message}" end end end wavefile-0.6.0/lib/wavefile/format.rb0000644000175000017500000001222312647143014016476 0ustar hannohannomodule WaveFile class InvalidFormatError < StandardError; end # Represents information about the data format for a Wave file, such as number of # channels, bits per sample, sample rate, and so forth. A Format instance is used # by Reader to indicate what format to read samples out as, and by Writer to # indicate what format to write samples as. # # This class is immutable - once a new Format is constructed, it can't be modified. class Format # Not using ranges because of 1.8.7 performance problems with Range.max MIN_CHANNELS = 1 # :nodoc: MAX_CHANNELS = 65535 # :nodoc: MIN_SAMPLE_RATE = 1 # :nodoc: MAX_SAMPLE_RATE = 4_294_967_296 # :nodoc: SUPPORTED_SAMPLE_FORMATS = [:pcm, :float] # :nodoc: SUPPORTED_BITS_PER_SAMPLE = { :pcm => [8, 16, 24, 32], :float => [32, 64], } # :nodoc: # Constructs a new immutable Format. # # channels - The number of channels in the format. Can either be a Fixnum # (e.g. 1, 2, 3) or the symbols :mono (equivalent to 1) or # :stereo (equivalent to 2). # format_code - A symbol indicating the format of each sample. Consists of # two parts: a format code, and the bits per sample. The valid # values are :pcm_8, :pcm_16, :pcm_32, :float_32, :float_64, # and :float (equivalent to :float_32) # sample_rate - The number of samples per second, such as 44100 # # Examples # # format = Format.new(1, :pcm_16, 44100) # format = Format.new(:mono, :pcm_16, 44100) # Equivalent to above # # format = Format.new(:stereo, :float_32, 44100) # format = Format.new(:stereo, :float, 44100) def initialize(channels, format_code, sample_rate) channels = normalize_channels(channels) sample_format, bits_per_sample = normalize_format_code(format_code) validate_channels(channels) validate_sample_format(sample_format) validate_bits_per_sample(sample_format, bits_per_sample) validate_sample_rate(sample_rate) @channels = channels @sample_format = sample_format @bits_per_sample = bits_per_sample @sample_rate = sample_rate @block_align = (@bits_per_sample / 8) * @channels @byte_rate = @block_align * @sample_rate end # Returns true if the format has 1 channel, false otherwise. def mono? @channels == 1 end # Returns true if the format has 2 channels, false otherwise. def stereo? @channels == 2 end # Returns the number of channels, such as 1 or 2. This will always return a # Fixnum, even if the number of channels is specified with a symbol (e.g. :mono) # in the constructor. attr_reader :channels # Returns a symbol indicating the sample format, such as :pcm or :float attr_reader :sample_format # Returns the number of bits per sample, such as 8, 16, 24, 32, or 64. attr_reader :bits_per_sample # Returns the number of samples per second, such as 44100. attr_reader :sample_rate # Returns the number of bytes in each sample frame. For example, in a 16-bit stereo file, # this will be 4 (2 bytes for each 16-bit sample, times 2 channels). attr_reader :block_align # Returns the number of bytes contained in 1 second of sample data. # Is equivalent to block_align * sample_rate. attr_reader :byte_rate private def normalize_channels(channels) if channels == :mono return 1 elsif channels == :stereo return 2 else return channels end end def normalize_format_code(format_code) if SUPPORTED_BITS_PER_SAMPLE[:pcm].include? format_code [:pcm, format_code] elsif format_code == :float [:float, 32] else sample_format, bits_per_sample = format_code.to_s.split("_") [sample_format.to_sym, bits_per_sample.to_i] end end def validate_sample_format(candidate_sample_format) unless SUPPORTED_SAMPLE_FORMATS.include? candidate_sample_format raise InvalidFormatError, "Sample format of #{candidate_sample_format} is unsupported. " + "Only #{SUPPORTED_SAMPLE_FORMATS.inspect} are supported." end end def validate_channels(candidate_channels) unless (MIN_CHANNELS..MAX_CHANNELS) === candidate_channels raise InvalidFormatError, "Invalid number of channels. Must be between 1 and #{MAX_CHANNELS}." end end def validate_bits_per_sample(candidate_sample_format, candidate_bits_per_sample) unless SUPPORTED_BITS_PER_SAMPLE[candidate_sample_format].include? candidate_bits_per_sample raise InvalidFormatError, "Bits per sample of #{candidate_bits_per_sample} is unsupported for " + "sample format #{candidate_sample_format}." end end def validate_sample_rate(candidate_sample_rate) unless (MIN_SAMPLE_RATE..MAX_SAMPLE_RATE) === candidate_sample_rate raise InvalidFormatError, "Invalid sample rate. Must be between 1 and #{MAX_SAMPLE_RATE}" end end end end wavefile-0.6.0/lib/wavefile/info.rb0000644000175000017500000000375712647143014016155 0ustar hannohannomodule WaveFile # Contains metadata about an existing wave file. Returned by Reader.info. # # This class is immutable - once a new Info is constructed, it can't be modified. class Info def initialize(file_name, raw_format_chunk, sample_frame_count) # :nodoc: @file_name = file_name @audio_format = raw_format_chunk[:audio_format] @channels = raw_format_chunk[:channels] @bits_per_sample = raw_format_chunk[:bits_per_sample] @sample_rate = raw_format_chunk[:sample_rate] @byte_rate = raw_format_chunk[:byte_rate] @block_align = raw_format_chunk[:block_align] @sample_frame_count = sample_frame_count @duration = Duration.new(@sample_frame_count, @sample_rate) end # Returns the name of file this Info contains metadata about. attr_reader :file_name # Returns a Fixnum indicating the audio format, such as 1 for PCM or 3 for IEEE float. attr_reader :audio_format # Returns the number of channels, such as 1 or 2. attr_reader :channels # Returns the number of bits per sample, such as 8, 16, 32, or 64. attr_reader :bits_per_sample # Returns the number of samples per second, such as 44100. attr_reader :sample_rate # Returns the number of bytes contained in 1 second of sample data. # Is equivalent to block_align * sample_rate. attr_reader :byte_rate # Returns the number of bytes in each sample frame. For example, in a 16-bit stereo file, # this will be 4 (2 bytes for each 16-bit sample, times 2 channels). attr_reader :block_align # Returns the total number of sample frames in the file. A sample frame contains a single # sample for each channel. So if there are 1,000 sample frames in a stereo file, this means # there are 1,000 left-channel samples and 1,000 right-channel samples. attr_reader :sample_frame_count # Returns a Duration instance for the total number of sample frames in the file attr_reader :duration end end wavefile-0.6.0/lib/wavefile/duration.rb0000644000175000017500000000524212647143014017036 0ustar hannohannomodule WaveFile # Calculates playback time given the number of sample frames and the sample rate. For # example, you can use this to calculate how long a given Wave file is. # # The hours, minutes, seconds, and milliseconds fields return values like you would # see on a stopwatch, and not the total amount of time in that unit. For example, a # stopwatch running for exactly 2 hours would show something like "2:00:00.000". # Accordingly, if the given sample frame count and sample rate add up to exactly # 2 hours, then hours will be 2, and minutes, seconds, and milliseconds will all be 0. # # This class is immutable - once a new Duration is constructed, it can't be modified. class Duration # Constructs a new immutable Duration. # # sample_frame_count - The number of sample frames, i.e. the number # samples in each channel. # sample_rate - The number of samples per second, such as 44100 # # Examples: # # duration = Duration.new(400_000_000, 44100) # duration.hours # => 2 # duration.minutes # => 31 # duration.seconds # => 10 # duration.milliseconds # => 294 # # Note that the hours, minutes, seconds, and milliseconds fields do not return # the total of the respective unit in the entire duration. For example, if a # duration is exactly 2 hours, then minutes will be 0, not 120. def initialize(sample_frame_count, sample_rate) @sample_frame_count = sample_frame_count @sample_rate = sample_rate sample_frames_per_millisecond = sample_rate / 1000.0 sample_frames_per_second = sample_rate sample_frames_per_minute = sample_frames_per_second * 60 sample_frames_per_hour = sample_frames_per_minute * 60 @hours, @minutes, @seconds, @milliseconds = 0, 0, 0, 0 if(sample_frame_count >= sample_frames_per_hour) @hours = sample_frame_count / sample_frames_per_hour sample_frame_count -= sample_frames_per_hour * @hours end if(sample_frame_count >= sample_frames_per_minute) @minutes = sample_frame_count / sample_frames_per_minute sample_frame_count -= sample_frames_per_minute * @minutes end if(sample_frame_count >= sample_frames_per_second) @seconds = sample_frame_count / sample_frames_per_second sample_frame_count -= sample_frames_per_second * @seconds end @milliseconds = (sample_frame_count / sample_frames_per_millisecond).floor end attr_reader :sample_frame_count attr_reader :sample_rate attr_reader :hours attr_reader :minutes attr_reader :seconds attr_reader :milliseconds end end wavefile-0.6.0/lib/wavefile/writer.rb0000644000175000017500000001620412647143014016525 0ustar hannohannomodule WaveFile # Provides the ability to write data to a wave file. # # When a Writer is constructed it can be given a block. All samples should be written inside this # block, and when the block exits the file will automatically be closed: # # Writer.new("my_file.wav", Format.new(:mono, :pcm_16, 44100)) do |writer| # # Write sample data here # end # # If no block is given, you'll need to manually close the Writer when done. The underlaying # file will not be valid or playable until close is called. # # writer = Writer.new("my_file.wav", Format.new(:mono, :pcm_16, 44100)) # # Write sample data here # writer.close class Writer # Padding value written to the end of chunks whose payload is an odd number of bytes. The RIFF # specification requires that each chunk be aligned to an even number of bytes, even if the byte # count is an odd number. # # See http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Docs/riffmci.pdf, page 11. EMPTY_BYTE = "\000" # :nodoc: # The number of bytes at the beginning of a wave file before the sample data in the data chunk # starts, assuming this canonical format: # # RIFF Chunk Header (12 bytes) # Format Chunk (16 bytes for PCM, 18 bytes for floating point) # FACT Chunk (0 bytes for PCM, 12 bytes for floating point) # Data Chunk Header (8 bytes) # # All wave files written by Writer use this canonical format. CANONICAL_HEADER_BYTE_LENGTH = {:pcm => 36, :float => 50} # :nodoc: # Returns a constructed Writer object which is available for writing sample data to the specified # file (via the write method). When all sample data has been written, the Writer should be closed. # Note that the wave file being written to will NOT be valid (and playable in other programs) until # the Writer has been closed. # # If a block is given to this method, sample data can be written inside the given block. When the # block terminates, the Writer will be automatically closed (and no more sample data can be written). # # If no block is given, then sample data can be written until the close method is called. def initialize(file_name, format) @file_name = file_name @file = File.open(file_name, "wb") @format = format @total_sample_frames = 0 @pack_code = PACK_CODES[format.sample_format][format.bits_per_sample] # Note that the correct sizes for the RIFF and data chunks can't be determined # until all samples have been written, so this header as written will be incorrect. # When close is called, the correct sizes will be re-written. write_header(0) if block_given? begin yield(self) ensure close end end end # Appends the sample data in the given Buffer to the end of the wave file. # # Returns the number of sample frames that have been written to the file so far. # Raises IOError if the Writer has been closed. def write(buffer) samples = buffer.convert(@format).samples if @format.bits_per_sample == 24 && @format.sample_format == :pcm samples.flatten.each do |sample| @file.syswrite([sample].pack("lX")) end else @file.syswrite(samples.flatten.pack(@pack_code)) end @total_sample_frames += samples.length end # Returns true if the Writer is closed, and false if it is open and available for writing. def closed? @file.closed? end # Closes the Writer. After a Writer is closed, no more sample data can be written to it. # # Note that the wave file will NOT be valid until this method is called. The wave file # format requires certain information about the amount of sample data, and this can't be # determined until all samples have been written. (This method doesn't need to be called # when passing a block to Writer.new, as this method will automatically be called when # the block exits). # # Returns nothing. # Raises IOError if the Writer is already closed. def close # The RIFF specification requires that each chunk be aligned to an even number of bytes, # even if the byte count is an odd number. Therefore if an odd number of bytes has been # written, write an empty padding byte. # # See http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Docs/riffmci.pdf, page 11. bytes_written = @total_sample_frames * @format.block_align if bytes_written.odd? @file.syswrite(EMPTY_BYTE) end # We can't know what chunk sizes to write for the RIFF and data chunks until all # samples have been written, so go back to the beginning of the file and re-write # those chunk headers with the correct sizes. @file.sysseek(0) write_header(@total_sample_frames) @file.close end # Returns a Duration instance for the number of sample frames that have been written so far def total_duration Duration.new(@total_sample_frames, @format.sample_rate) end # Returns the name of the Wave file that is being written to attr_reader :file_name # Returns a Format object describing the Wave file being written (number of channels, sample # format and bits per sample, sample rate, etc.) attr_reader :format # Returns the number of samples (per channel) that have been written to the file so far. # For example, if 1000 "left" samples and 1000 "right" samples have been written to a stereo file, # this will return 1000. attr_reader :total_sample_frames private # Writes the RIFF chunk header, format chunk, and the header for the data chunk. After this # method is called the file will be "queued up" and ready for writing actual sample data. def write_header(sample_frame_count) sample_data_byte_count = sample_frame_count * @format.block_align # Write the header for the RIFF chunk header = CHUNK_IDS[:riff] header += [CANONICAL_HEADER_BYTE_LENGTH[@format.sample_format] + sample_data_byte_count].pack(UNSIGNED_INT_32) header += WAVEFILE_FORMAT_CODE # Write the format chunk header += CHUNK_IDS[:format] header += [FORMAT_CHUNK_BYTE_LENGTH[@format.sample_format]].pack(UNSIGNED_INT_32) header += [FORMAT_CODES[@format.sample_format]].pack(UNSIGNED_INT_16) header += [@format.channels].pack(UNSIGNED_INT_16) header += [@format.sample_rate].pack(UNSIGNED_INT_32) header += [@format.byte_rate].pack(UNSIGNED_INT_32) header += [@format.block_align].pack(UNSIGNED_INT_16) header += [@format.bits_per_sample].pack(UNSIGNED_INT_16) if @format.sample_format == :float header += [0].pack(UNSIGNED_INT_16) end # Write the FACT chunk, if necessary unless @format.sample_format == :pcm header += CHUNK_IDS[:fact] header += [4].pack(UNSIGNED_INT_32) header += [sample_frame_count].pack(UNSIGNED_INT_32) end # Write the header for the data chunk header += CHUNK_IDS[:data] header += [sample_data_byte_count].pack(UNSIGNED_INT_32) @file.syswrite(header) end end end wavefile-0.6.0/lib/wavefile/buffer.rb0000644000175000017500000002056212647143014016464 0ustar hannohannomodule WaveFile # Error that is raised when an attempt is made to perform an unsupported or undefined # conversion between two sample data formats. For example, converting a Buffer with # 3 channels into a Buffer with 2 channels is undefined. class BufferConversionError < StandardError; end # Represents a collection of samples in a certain format (e.g. 16-bit mono). # Reader returns sample data contained in Buffers, and Writer expects incoming sample # data to be contained in a Buffer as well. # # Contains methods to convert the sample data in the buffer to a different format. class Buffer # Creates a new Buffer. # # samples - An array of samples. If the Format has 1 channel (i.e. is mono), this # should be a flat array of samples such as [0.5, 0.4, -0.3, ...]. If the # Format has 2 or more channels the array should include a sub-array for # each sample frame. For example, [[0.5, 0.2], [0.1, 0.6], [-0.2, 0.4], ...] # for a stereo file. # # format - A Format instance which describes the sample format of the sample array. # # Note that the sample array is not compared with the format to make sure # they match - you are on the honor system to make sure they do. If they # don't match, unexpected things will happen. # # Examples # # samples = ([0.5] * 50) + ([-0.5] * 50) # A 440Hz mono square wave # buffer = Buffer.new(samples, Format.new(:mono, :float, 44100) # # samples = ([0.5, 0.5] * 50) + ([-0.5, -0.5] * 50) # A 440Hz stereo square wave # buffer = Buffer.new(samples, Format.new(2, :float, 44100) # # Returns a constructed Buffer. def initialize(samples, format) @samples = samples @format = format end # Creates a new Buffer containing the sample data of this Buffer, but converted to # a different format. # # new_format - The format that the sample data should be converted to # # Examples # # new_format = Format.new(:mono, :pcm_16, 44100) # new_buffer = old_buffer.convert(new_format) # # Returns a new Buffer; the existing Buffer is unmodified. def convert(new_format) new_samples = convert_buffer(@samples.dup, @format, new_format) Buffer.new(new_samples, new_format) end # Converts the sample data contained in the Buffer to a new format. The sample data # is converted in place, so the existing Buffer is modified. # # new_format - The format that the sample data should be converted to # # Examples # # new_format = Format.new(:mono, :pcm_16, 44100) # old_buffer.convert!(new_format) # # Returns self. def convert!(new_format) @samples = convert_buffer(@samples, @format, new_format) @format = new_format self end # Returns the number of channels the buffer's sample data has def channels @format.channels end # Returns the bits per sample of the buffer's sample data def bits_per_sample @format.bits_per_sample end # Returns the sample rate of the buffer's sample data def sample_rate @format.sample_rate end # Returns the sample data contained in the Buffer as an Array. If the Format has # 1 channel, the Array will be a flat list of samples. If the Format has 2 or more # channels, the Array will include sub arrays for each sample frame, with a sample # for each channel. # # Examples # # samples = mono_buffer.samples # # => [-0.5, 0.3, 0.2, -0.9, ...] # # samples = stereo_buffer.samples # # => [[-0.2, 0.5], [0.1, 0.2], [-0.4, 0.7], [0.1, 0.2], ...] # # samples = three_channel_buffer.samples # # => [[0.3, 0.5, 0.2], [-0.1, 0.2, -0.9], [0.2, 0.3, -0.4], [0.1, 0.2, -0.8], ...] attr_reader :samples private def convert_buffer(samples, old_format, new_format) if old_format.channels > new_format.channels samples = convert_channels(samples, old_format.channels, new_format.channels) samples = convert_sample_format(samples, old_format, new_format) else samples = convert_sample_format(samples, old_format, new_format) samples = convert_channels(samples, old_format.channels, new_format.channels) end samples end def convert_channels(samples, old_channels, new_channels) return samples if old_channels == new_channels # The cases of mono -> stereo and vice-versa are handled specially, # because those conversion methods are faster than the general methods, # and the large majority of wave files are expected to be either mono or stereo. if old_channels == 1 && new_channels == 2 samples.map! {|sample| [sample, sample]} elsif old_channels == 2 && new_channels == 1 samples.map! {|sample| (sample[0] + sample[1]) / 2} elsif old_channels == 1 && new_channels >= 2 samples.map! {|sample| [].fill(sample, 0, new_channels)} elsif old_channels >= 2 && new_channels == 1 samples.map! {|sample| sample.inject(0) {|sub_sample, sum| sum + sub_sample } / old_channels } elsif old_channels > 2 && new_channels == 2 samples.map! {|sample| [sample[0], sample[1]]} else raise BufferConversionError, "Conversion of sample data from #{old_channels} channels to #{new_channels} channels is unsupported" end samples end def convert_sample_format(samples, old_format, new_format) return samples if old_format.sample_format == :float && new_format.sample_format == :float if old_format.sample_format == :pcm && new_format.sample_format == :pcm convert_sample_format_pcm_to_pcm(samples, old_format.bits_per_sample, new_format.bits_per_sample) elsif old_format.sample_format == :pcm && new_format.sample_format == :float convert_sample_format_pcm_to_float(samples, old_format.bits_per_sample, new_format.bits_per_sample) elsif old_format.sample_format == :float && new_format.sample_format == :pcm convert_sample_format_float_to_pcm(samples, old_format.bits_per_sample, new_format.bits_per_sample) end end def convert_sample_format_pcm_to_pcm(samples, old_bits_per_sample, new_bits_per_sample) return samples if old_bits_per_sample == new_bits_per_sample shift_amount = (new_bits_per_sample - old_bits_per_sample).abs if old_bits_per_sample == 8 convert_sample_format_helper(samples) {|sample| (sample - 128) << shift_amount } elsif new_bits_per_sample == 8 convert_sample_format_helper(samples) {|sample| (sample >> shift_amount) + 128 } else if new_bits_per_sample > old_bits_per_sample convert_sample_format_helper(samples) {|sample| sample << shift_amount } else convert_sample_format_helper(samples) {|sample| sample >> shift_amount } end end end def convert_sample_format_pcm_to_float(samples, old_bits_per_sample, new_bits_per_sample) if old_bits_per_sample == 8 convert_sample_format_helper(samples) {|sample| (sample - 128).to_f / 128.0 } elsif old_bits_per_sample == 16 convert_sample_format_helper(samples) {|sample| sample.to_f / 32768.0 } elsif old_bits_per_sample == 24 convert_sample_format_helper(samples) {|sample| sample.to_f / 8388608.0 } elsif old_bits_per_sample == 32 convert_sample_format_helper(samples) {|sample| sample.to_f / 2147483648.0 } end end def convert_sample_format_float_to_pcm(samples, old_bits_per_sample, new_bits_per_sample) if new_bits_per_sample == 8 convert_sample_format_helper(samples) {|sample| (sample * 127.0).round + 128 } elsif new_bits_per_sample == 16 convert_sample_format_helper(samples) {|sample| (sample * 32767.0).round } elsif new_bits_per_sample == 24 convert_sample_format_helper(samples) {|sample| (sample * 8388607.0).round } elsif new_bits_per_sample == 32 convert_sample_format_helper(samples) {|sample| (sample * 2147483647.0).round } end end def convert_sample_format_helper(samples, &converter) more_than_one_channel = (Array === samples.first) if more_than_one_channel samples.map! do |sample| sample.map! &converter end else samples.map! &converter end end end end wavefile-0.6.0/lib/wavefile.rb0000644000175000017500000000213512647143014015207 0ustar hannohannorequire 'wavefile/buffer' require 'wavefile/duration' require 'wavefile/format' require 'wavefile/info' require 'wavefile/reader' require 'wavefile/writer' module WaveFile VERSION = "0.6.0" WAVEFILE_FORMAT_CODE = "WAVE" # :nodoc: FORMAT_CHUNK_BYTE_LENGTH = {:pcm => 16, :float => 18} # :nodoc: FORMAT_CODES = {:pcm => 1, :float => 3} # :nodoc: CHUNK_IDS = {:riff => "RIFF", :format => "fmt ", :data => "data", :fact => "fact", :silence => "slnt", :cue => "cue ", :playlist => "plst", :list => "list", :label => "labl", :labeled_text => "ltxt", :note => "note", :sample => "smpl", :instrument => "inst" } # :nodoc: PACK_CODES = {:pcm => {8 => "C*", 16 => "s*", 24 => "C*", 32 => "l*"}, :float => { 32 => "e*", 64 => "E*"}} # :nodoc: UNSIGNED_INT_16 = "v" # :nodoc: UNSIGNED_INT_32 = "V" # :nodoc: end wavefile-0.6.0/README.markdown0000644000175000017500000001026612647143014015017 0ustar hannohannoA pure Ruby gem for reading and writing sound files in Wave format (*.wav). You can use this gem to create Ruby programs that produce audio, such as [drum machine](http://beatsdrummachine.com). Since it is written in pure Ruby (as opposed to wrapping an existing C library), you can use it without having to compile a separate extension. For more info, check out the website: # Example Usage This is a short example that shows how to append three separate Wave files into a single file: require 'wavefile' include WaveFile FILES_TO_APPEND = ["file1.wav", "file2.wav", "file3.wav"] SAMPLES_PER_BUFFER = 4096 Writer.new("append.wav", Format.new(:stereo, :pcm_16, 44100)) do |writer| FILES_TO_APPEND.each do |file_name| Reader.new(file_name).each_buffer(SAMPLES_PER_BUFFER) do |buffer| writer.write(buffer) end end end More examples can be [found on the wiki](https://github.com/jstrait/wavefile/wiki). # Features * Ability to read and write Wave files with any number of channels in the following formats: * PCM (8, 16, 24, and 32 bits per sample) * Floating Point (32 and 64 bits per sample) * Ability to read sample data from a file in any of the supported formats, regardless of the file's actual sample format # Sample data will be returned as 32-bit floating point samples, # regardless of the actual sample format in the file. Reader.new("some_file.wav", Format.new(:mono, :float_32, 44100)) * Automatic file management, similar to how `IO.open` works. That is, you can open a file for reading or writing, and if a block is given, the file will automatically be closed when the block exits. Writer.new("some_file.wav", Format.new(:mono, :pcm_16, 44100)) do |writer| # write some sample data end # At this point, the writer will automatically be closed, no need to do it manually * Ability to query metadata about Wave files (sample rate, number of channels, number of sample frames, etc.), including files that are in a format this gem can't read or write. * Pure Ruby, so no need to compile a separate extension in order to use it. # Current Release: v0.6.0 This release includes these improvements: * Support for reading and writing Wave files containing 24-bit PCM sample data, and the ability to convert buffers containing 24-bit PCM sample data to/from other formats. (Thanks to [Rich Orton](https://github.com/richorton) for suggesting this). * Reading files with 2 or more channels is now faster. * Converting buffers from one format to another is now faster in certain cases. * Bug fix: Files containing certain chunks with an odd size are now read properly. According to the Wave file spec, all chunks should be aligned to an even number of bytes. If the chunk has an odd size, a padding byte should be appended to bring the chunk to an even size. The `Reader` class now properly takes this expected padding byte into account for all chunks when reading files. (Previously it just took this into account for the main `data` chunk). (Thanks to [Andrew Kuklewicz](https://github.com/kookster) for reporting this). # Compatibility WaveFile has been tested with these Ruby versions, and appears to be compatible with them: * MRI 2.0.0, 1.9.3, 1.9.2, 1.9.1, 1.8.7 * JRuby 1.7.8 * Rubinius 1.2.4 * MacRuby 0.12 If you find any compatibility issues, please let me know by opening a GitHub issue. # Dependencies WaveFile has no external dependencies. It is written in pure Ruby, and is entirely self-contained. # Installation First, install the WaveFile gem from rubygems.org: gem install wavefile ...and include it in your Ruby program: require 'wavefile' Note that if you're installing the gem into the default Ruby that comes pre-installed on MacOS (as opposed to a Ruby installed via [RVM](http://beginrescueend.com/) or [rbenv](https://github.com/sstephenson/rbenv/)), you should used `sudo gem install wavefile`. Otherwise you might run into a file permission error. # Contributing 1. Fork my repo 2. Create a branch for your changes 3. Add your changes, and please include tests 4. Make sure the tests pass by running `rake test` 5. Create a pull request wavefile-0.6.0/test/0000775000175000017500000000000012647143014013272 5ustar hannohannowavefile-0.6.0/test/writer_test.rb0000644000175000017500000001630412647143014016174 0ustar hannohannorequire 'test/unit' require 'wavefile.rb' require 'wavefile_io_test_helper.rb' include WaveFile class WriterTest < Test::Unit::TestCase include WaveFileIOTestHelper OUTPUT_FOLDER = "test/fixtures/actual_output" def setup clean_output_folder end def test_write_file_with_no_sample_data writer = Writer.new("#{OUTPUT_FOLDER}/no_samples.wav", Format.new(:mono, :pcm_8, 44100)) writer.close assert_equal(read_file(:expected, "no_samples.wav"), read_file(:actual, "no_samples.wav")) end def test_write_basic_file exhaustively_test do |channels, sample_format| file_name = "valid_#{channels}_#{sample_format}_44100.wav" format = Format.new(CHANNEL_ALIAS[channels], sample_format, 44100) writer = Writer.new("#{OUTPUT_FOLDER}/#{file_name}", format) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[channels][sample_format] * 128, format)) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[channels][sample_format] * 128, format)) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[channels][sample_format] * 24, format)) writer.close assert_equal(read_file(:expected, file_name), read_file(:actual, file_name)) end end def test_write_basic_file_with_a_block exhaustively_test do |channels, sample_format| file_name = "valid_#{channels}_#{sample_format}_44100.wav" format = Format.new(CHANNEL_ALIAS[channels], sample_format, 44100) writer = Writer.new("#{OUTPUT_FOLDER}/#{file_name}", format) do |writer| 4.times do writer.write(Buffer.new(SQUARE_WAVE_CYCLE[channels][sample_format] * 70, format)) end end assert_equal(read_file(:expected, file_name), read_file(:actual, file_name)) assert(writer.closed?) end end def test_write_buffers_of_different_formats file_name = "valid_mono_pcm_8_44100.wav" format_8bit_mono = Format.new(:mono, :pcm_8, 44100) format_16_bit_mono = Format.new(:mono, :pcm_16, 22050) format_16bit_stereo = Format.new(:stereo, :pcm_16, 44100) writer = Writer.new("#{OUTPUT_FOLDER}/#{file_name}", format_8bit_mono) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[:stereo][:pcm_16] * 128, format_16bit_stereo)) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[:mono][:pcm_16] * 128, format_16_bit_mono)) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[:stereo][:pcm_16] * 24, format_16bit_stereo)) writer.close assert_equal(read_file(:expected, file_name), read_file(:actual, file_name)) end def test_write_file_with_padding_byte file_name = "valid_mono_pcm_8_44100_with_padding_byte.wav" format = Format.new(:mono, :pcm_8, 44100) writer = Writer.new("#{OUTPUT_FOLDER}/#{file_name}", format) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 128, format)) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 128, format)) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 23 + [88, 88, 88, 88, 167, 167, 167], format)) writer.close assert_equal(read_file(:expected, file_name), read_file(:actual, file_name)) end def test_file_name file_name = "#{OUTPUT_FOLDER}/example.wav" writer = Writer.new(file_name, Format.new(:mono, :pcm_8, 44100)) assert_equal("#{OUTPUT_FOLDER}/example.wav", writer.file_name) writer.close assert_equal("#{OUTPUT_FOLDER}/example.wav", writer.file_name) end def test_closed? writer = Writer.new("#{OUTPUT_FOLDER}/closed_test.wav", Format.new(:mono, :pcm_16, 44100)) assert_equal(false, writer.closed?) writer.close assert(writer.closed?) end def test_attempt_to_write_after_close format = Format.new(:mono, :pcm_8, 44100) writer = Writer.new("#{OUTPUT_FOLDER}/write_after_close.wav", format) writer.write(Buffer.new([1, 2, 3, 4], format)) writer.close assert_raise(IOError) { writer.write(Buffer.new([5, 6, 7, 8], format)) } end def test_total_duration exhaustively_test do |channels, sample_format| format = Format.new(CHANNEL_ALIAS[channels], sample_format, 44100) writer = Writer.new("#{OUTPUT_FOLDER}/total_duration_#{channels}_#{sample_format}_44100.wav", format) assert_equal(0, writer.total_sample_frames) duration = writer.total_duration assert_equal(0, duration.sample_frame_count) assert_equal(44100, duration.sample_rate) assert_equal(0, duration.hours) assert_equal(0, duration.minutes) assert_equal(0, duration.seconds) assert_equal(0, duration.milliseconds) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[channels][sample_format] * 2756, format)) assert_equal(8 * 2756, writer.total_sample_frames) duration = writer.total_duration assert_equal(8 * 2756, duration.sample_frame_count) assert_equal(44100, duration.sample_rate) assert_equal(0, duration.hours) assert_equal(0, duration.minutes) assert_equal(0, duration.seconds) assert_equal(499, duration.milliseconds) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[channels][sample_format] * 2756, format)) writer.write(Buffer.new(SQUARE_WAVE_CYCLE[channels][sample_format] * 2756, format)) assert_equal(8 * 2756 * 3, writer.total_sample_frames) duration = writer.total_duration assert_equal(8 * 2756 * 3, duration.sample_frame_count) assert_equal(44100, duration.sample_rate) assert_equal(0, duration.hours) assert_equal(0, duration.minutes) assert_equal(1, duration.seconds) assert_equal(499, duration.milliseconds) writer.close assert_equal(8 * 2756 * 3, writer.total_sample_frames) duration = writer.total_duration assert_equal(8 * 2756 * 3, duration.sample_frame_count) assert_equal(44100, duration.sample_rate) assert_equal(0, duration.hours) assert_equal(0, duration.minutes) assert_equal(1, duration.seconds) assert_equal(499, duration.milliseconds) end end # Cause an exception within the block passed to Writer.new, to prove # that close is still called (due to an ensure statement in Writer.new). def test_exception_with_block format = Format.new(:mono, :pcm_8, 44100) samples = [1, 2, 3, 4, 5, 6] Writer.new("#{OUTPUT_FOLDER}/exception_with_block.wav", format) do |writer| begin writer.write(Buffer.new(samples, format)) 1 / 0 # cause divide-by-zero exception rescue # catch the exception and ignore, so test passes OK end end reader = Reader.new("#{OUTPUT_FOLDER}/exception_with_block.wav") assert_equal(samples.size, reader.total_sample_frames) end private def read_file(type, file_name) if type == :expected fixture_folder = 'valid' elsif type == :actual fixture_folder = 'actual_output' else raise 'Invalid fixture type' end # For Windows compatibility with binary files, File.read is not directly used File.open("test/fixtures/#{fixture_folder}/#{file_name}", "rb") {|f| f.read } end def clean_output_folder # Make the folder if it doesn't already exist Dir.mkdir(OUTPUT_FOLDER) unless File.exists?(OUTPUT_FOLDER) dir = Dir.new(OUTPUT_FOLDER) file_names = dir.entries file_names.each do |file_name| if(file_name != "." && file_name != "..") File.delete("#{OUTPUT_FOLDER}/#{file_name}") end end end end wavefile-0.6.0/test/format_test.rbc0000644000175000017500000004034212647143014016312 0ustar hannohanno!RBIX 17831730954501249321 x M 1 n n x 10 __script__ i 62 5 7 0 64 47 49 1 1 15 5 7 2 64 47 49 1 1 15 5 45 3 4 47 49 5 1 15 99 7 6 45 7 8 43 9 43 10 65 49 11 3 13 99 12 7 12 12 7 13 12 65 12 49 14 4 15 49 12 0 15 2 11 I 6 I 0 I 0 I 0 n p 15 s 9 test/unit x 7 require s 11 wavefile.rb x 8 WaveFile n x 7 include x 10 FormatTest x 4 Test n x 4 Unit x 8 TestCase x 10 open_class x 14 __class_init__ M 1 n n x 10 FormatTest i 156 5 66 99 7 0 7 1 65 67 49 2 0 49 3 4 15 99 7 4 7 5 65 67 49 2 0 49 3 4 15 99 7 6 7 7 65 67 49 2 0 49 3 4 15 99 7 8 7 9 65 67 49 2 0 49 3 4 15 99 7 10 7 11 65 67 49 2 0 49 3 4 15 99 7 12 7 13 65 67 49 2 0 49 3 4 15 99 7 14 7 15 65 67 49 2 0 49 3 4 15 99 7 16 7 17 65 67 49 2 0 49 3 4 15 99 7 18 7 19 65 67 49 2 0 49 3 4 15 99 7 20 7 21 65 67 49 2 0 49 3 4 15 99 7 22 7 23 65 67 49 2 0 49 3 4 11 I 5 I 0 I 0 I 0 n p 24 x 19 test_valid_channels M 1 n n x 19 test_valid_channels i 108 79 80 4 3 4 4 7 0 35 5 56 1 50 2 0 15 5 79 45 3 4 13 71 5 47 9 45 47 49 6 0 13 7 7 7 8 7 9 47 49 10 3 15 8 54 7 7 7 8 7 9 49 5 3 49 11 0 47 49 12 2 15 5 80 45 3 13 13 71 5 47 9 91 47 49 6 0 13 7 14 7 8 7 9 47 49 10 3 15 8 100 7 14 7 8 7 9 49 5 3 49 11 0 47 49 12 2 11 I 7 I 0 I 0 I 0 n p 15 I ffff M 1 p 2 x 9 for_block t n x 19 test_valid_channels i 51 57 19 0 15 5 20 0 45 0 1 13 71 2 47 9 34 47 49 3 0 13 20 0 7 4 7 5 47 49 6 3 15 8 43 20 0 7 4 7 5 49 2 3 49 7 0 47 49 8 2 11 I 9 I 1 I 1 I 1 n p 9 x 6 Format n x 3 new x 8 allocate x 6 pcm_16 I ac44 x 10 initialize x 8 channels x 12 assert_equal p 5 I 0 I 8 I 4 I 9 I 33 x 34 /Code/wavefile/test/format_test.rb p 1 x 14 valid_channels x 4 each x 6 Format n x 3 new x 8 allocate x 4 mono x 6 pcm_16 I ac44 x 10 initialize x 8 channels x 12 assert_equal n x 6 stereo p 9 I -1 I 7 I 0 I 8 I 10 I c I 3e I d I 6c x 34 /Code/wavefile/test/format_test.rb p 0 x 17 method_visibility x 15 add_defn_method x 21 test_invalid_channels M 1 n n x 21 test_invalid_channels i 17 7 0 64 7 1 78 77 7 2 35 5 56 3 50 4 0 11 I 5 I 0 I 0 I 0 n p 5 s 8 dsfsfsdf x 3 foo I 10000 M 1 p 2 x 9 for_block t n x 21 test_invalid_channels i 15 57 19 0 15 5 45 0 1 56 2 47 50 3 1 11 I 5 I 1 I 1 I 1 n p 4 x 18 InvalidFormatError n M 1 p 2 x 9 for_block t n x 21 test_invalid_channels i 39 45 0 1 13 71 2 47 9 28 47 49 3 0 13 21 1 0 7 4 7 5 47 49 6 3 15 8 38 21 1 0 7 4 7 5 49 2 3 11 I 6 I 0 I 0 I 0 I -2 p 7 x 6 Format n x 3 new x 8 allocate x 6 pcm_16 I ac44 x 10 initialize p 3 I 0 I 12 I 27 x 34 /Code/wavefile/test/format_test.rb p 0 x 12 assert_raise p 5 I 0 I 11 I 4 I 12 I f x 34 /Code/wavefile/test/format_test.rb p 1 x 16 invalid_channels x 4 each p 5 I -1 I 10 I 0 I 11 I 11 x 34 /Code/wavefile/test/format_test.rb p 0 x 24 test_valid_sample_format M 1 n n x 24 test_valid_sample_format i 517 5 7 0 45 1 2 13 71 3 47 9 30 47 49 4 0 13 7 5 4 8 7 6 47 49 7 3 15 8 39 7 5 4 8 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 0 45 1 10 13 71 3 47 9 77 47 49 4 0 13 7 5 4 16 7 6 47 49 7 3 15 8 86 7 5 4 16 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 0 45 1 11 13 71 3 47 9 124 47 49 4 0 13 7 5 4 24 7 6 47 49 7 3 15 8 133 7 5 4 24 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 0 45 1 12 13 71 3 47 9 171 47 49 4 0 13 7 5 4 32 7 6 47 49 7 3 15 8 180 7 5 4 32 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 0 45 1 13 13 71 3 47 9 218 47 49 4 0 13 7 5 7 14 7 6 47 49 7 3 15 8 227 7 5 7 14 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 0 45 1 15 13 71 3 47 9 265 47 49 4 0 13 7 5 7 16 7 6 47 49 7 3 15 8 274 7 5 7 16 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 0 45 1 17 13 71 3 47 9 312 47 49 4 0 13 7 5 7 18 7 6 47 49 7 3 15 8 321 7 5 7 18 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 0 45 1 19 13 71 3 47 9 359 47 49 4 0 13 7 5 7 20 7 6 47 49 7 3 15 8 368 7 5 7 20 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 21 45 1 22 13 71 3 47 9 406 47 49 4 0 13 7 5 7 21 7 6 47 49 7 3 15 8 415 7 5 7 21 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 21 45 1 23 13 71 3 47 9 453 47 49 4 0 13 7 5 7 24 7 6 47 49 7 3 15 8 462 7 5 7 24 7 6 49 3 3 49 8 0 47 49 9 2 15 5 7 21 45 1 25 13 71 3 47 9 500 47 49 4 0 13 7 5 7 26 7 6 47 49 7 3 15 8 509 7 5 7 26 7 6 49 3 3 49 8 0 47 49 9 2 11 I 7 I 0 I 0 I 0 n p 27 x 3 pcm x 6 Format n x 3 new x 8 allocate x 4 mono I ac44 x 10 initialize x 13 sample_format x 12 assert_equal n n n n x 5 pcm_8 n x 6 pcm_16 n x 6 pcm_24 n x 6 pcm_32 x 5 float n n x 8 float_32 n x 8 float_64 p 25 I -1 I 16 I 0 I 17 I 2f I 18 I 5e I 19 I 8d I 1a I bc I 1b I eb I 1c I 11a I 1d I 149 I 1e I 178 I 1f I 1a7 I 20 I 1d6 I 21 I 205 x 34 /Code/wavefile/test/format_test.rb p 0 x 26 test_invalid_sample_format M 1 n n x 26 test_invalid_sample_format i 19 7 0 64 7 1 4 12 7 2 7 3 35 5 56 4 50 5 0 11 I 5 I 0 I 0 I 0 n p 6 s 8 dsfsfsdf x 3 foo x 6 pcm_14 x 8 float_20 M 1 p 2 x 9 for_block t n x 26 test_invalid_sample_format i 15 57 19 0 15 5 45 0 1 56 2 47 50 3 1 11 I 5 I 1 I 1 I 1 n p 4 x 18 InvalidFormatError n M 1 p 2 x 9 for_block t n x 26 test_invalid_sample_format i 39 45 0 1 13 71 2 47 9 28 47 49 3 0 13 7 4 21 1 0 7 5 47 49 6 3 15 8 38 7 4 21 1 0 7 5 49 2 3 11 I 6 I 0 I 0 I 0 I -2 p 7 x 6 Format n x 3 new x 8 allocate x 4 mono I ac44 x 10 initialize p 3 I 0 I 26 I 27 x 34 /Code/wavefile/test/format_test.rb p 0 x 12 assert_raise p 5 I 0 I 25 I 4 I 26 I f x 34 /Code/wavefile/test/format_test.rb p 1 x 21 invalid_sample_format x 4 each p 5 I -1 I 24 I 0 I 25 I 13 x 34 /Code/wavefile/test/format_test.rb p 0 x 26 test_valid_bits_per_sample M 1 n n x 26 test_valid_bits_per_sample i 517 5 4 8 45 0 1 13 71 2 47 9 30 47 49 3 0 13 7 4 4 8 7 5 47 49 6 3 15 8 39 7 4 4 8 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 16 45 0 9 13 71 2 47 9 77 47 49 3 0 13 7 4 4 16 7 5 47 49 6 3 15 8 86 7 4 4 16 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 24 45 0 10 13 71 2 47 9 124 47 49 3 0 13 7 4 4 24 7 5 47 49 6 3 15 8 133 7 4 4 24 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 32 45 0 11 13 71 2 47 9 171 47 49 3 0 13 7 4 4 32 7 5 47 49 6 3 15 8 180 7 4 4 32 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 8 45 0 12 13 71 2 47 9 218 47 49 3 0 13 7 4 7 13 7 5 47 49 6 3 15 8 227 7 4 7 13 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 16 45 0 14 13 71 2 47 9 265 47 49 3 0 13 7 4 7 15 7 5 47 49 6 3 15 8 274 7 4 7 15 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 24 45 0 16 13 71 2 47 9 312 47 49 3 0 13 7 4 7 17 7 5 47 49 6 3 15 8 321 7 4 7 17 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 32 45 0 18 13 71 2 47 9 359 47 49 3 0 13 7 4 7 19 7 5 47 49 6 3 15 8 368 7 4 7 19 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 32 45 0 20 13 71 2 47 9 406 47 49 3 0 13 7 4 7 21 7 5 47 49 6 3 15 8 415 7 4 7 21 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 32 45 0 22 13 71 2 47 9 453 47 49 3 0 13 7 4 7 23 7 5 47 49 6 3 15 8 462 7 4 7 23 7 5 49 2 3 49 7 0 47 49 8 2 15 5 4 64 45 0 24 13 71 2 47 9 500 47 49 3 0 13 7 4 7 25 7 5 47 49 6 3 15 8 509 7 4 7 25 7 5 49 2 3 49 7 0 47 49 8 2 11 I 7 I 0 I 0 I 0 n p 26 x 6 Format n x 3 new x 8 allocate x 4 mono I ac44 x 10 initialize x 15 bits_per_sample x 12 assert_equal n n n n x 5 pcm_8 n x 6 pcm_16 n x 6 pcm_24 n x 6 pcm_32 n x 5 float n x 8 float_32 n x 8 float_64 p 25 I -1 I 2a I 0 I 2b I 2f I 2c I 5e I 2d I 8d I 2e I bc I 2f I eb I 30 I 11a I 31 I 149 I 32 I 178 I 33 I 1a7 I 34 I 1d6 I 35 I 205 x 34 /Code/wavefile/test/format_test.rb p 0 x 28 test_invalid_bits_per_sample M 1 n n x 28 test_invalid_bits_per_sample i 24 7 0 64 7 1 7 2 78 4 12 7 3 7 4 7 5 35 8 56 6 50 7 0 11 I 8 I 0 I 0 I 0 n p 8 s 8 dsfsfsdf x 3 foo x 3 pcm x 6 pcm_14 x 7 pcm_abc x 8 float_40 M 1 p 2 x 9 for_block t n x 28 test_invalid_bits_per_sample i 15 57 19 0 15 5 45 0 1 56 2 47 50 3 1 11 I 5 I 1 I 1 I 1 n p 4 x 18 InvalidFormatError n M 1 p 2 x 9 for_block t n x 28 test_invalid_bits_per_sample i 39 45 0 1 13 71 2 47 9 28 47 49 3 0 13 7 4 21 1 0 7 5 47 49 6 3 15 8 38 7 4 21 1 0 7 5 49 2 3 11 I 6 I 0 I 0 I 0 I -2 p 7 x 6 Format n x 3 new x 8 allocate x 4 mono I ac44 x 10 initialize p 3 I 0 I 3a I 27 x 34 /Code/wavefile/test/format_test.rb p 0 x 12 assert_raise p 5 I 0 I 39 I 4 I 3a I f x 34 /Code/wavefile/test/format_test.rb p 1 x 21 invalid_sample_format x 4 each p 5 I -1 I 38 I 0 I 39 I 18 x 34 /Code/wavefile/test/format_test.rb p 0 x 22 test_valid_sample_rate M 1 n n x 22 test_valid_sample_rate i 13 79 7 0 7 1 35 3 56 2 50 3 0 11 I 3 I 0 I 0 I 0 n p 4 I ac44 I 100000000 M 1 p 2 x 9 for_block t n x 22 test_valid_sample_rate i 51 57 19 0 15 5 20 0 45 0 1 13 71 2 47 9 34 47 49 3 0 13 7 4 7 5 20 0 47 49 6 3 15 8 43 7 4 7 5 20 0 49 2 3 49 7 0 47 49 8 2 11 I 9 I 1 I 1 I 1 n p 9 x 6 Format n x 3 new x 8 allocate x 4 mono x 6 pcm_16 x 10 initialize x 11 sample_rate x 12 assert_equal p 5 I 0 I 3f I 4 I 40 I 33 x 34 /Code/wavefile/test/format_test.rb p 1 x 17 valid_sample_rate x 4 each p 5 I -1 I 3e I 0 I 3f I d x 34 /Code/wavefile/test/format_test.rb p 0 x 24 test_invalid_sample_rate M 1 n n x 24 test_invalid_sample_rate i 17 7 0 64 7 1 78 77 7 2 35 5 56 3 50 4 0 11 I 5 I 0 I 0 I 0 n p 5 s 8 dsfsfsdf x 3 foo I 100000001 M 1 p 2 x 9 for_block t n x 24 test_invalid_sample_rate i 15 57 19 0 15 5 45 0 1 56 2 47 50 3 1 11 I 5 I 1 I 1 I 1 n p 4 x 18 InvalidFormatError n M 1 p 2 x 9 for_block t n x 24 test_invalid_sample_rate i 39 45 0 1 13 71 2 47 9 28 47 49 3 0 13 7 4 7 5 21 1 0 47 49 6 3 15 8 38 7 4 7 5 21 1 0 49 2 3 11 I 6 I 0 I 0 I 0 I -2 p 7 x 6 Format n x 3 new x 8 allocate x 4 mono x 6 pcm_16 x 10 initialize p 3 I 0 I 46 I 27 x 34 /Code/wavefile/test/format_test.rb p 0 x 12 assert_raise p 5 I 0 I 45 I 4 I 46 I f x 34 /Code/wavefile/test/format_test.rb p 1 x 19 invalid_sample_rate x 4 each p 5 I -1 I 44 I 0 I 45 I 11 x 34 /Code/wavefile/test/format_test.rb p 0 x 25 test_byte_and_block_align M 1 n n x 25 test_byte_and_block_align i 22 79 7 0 35 2 56 1 50 2 0 15 80 7 3 35 2 56 4 50 2 0 11 I 2 I 0 I 0 I 0 n p 5 x 4 mono M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 121 57 19 0 15 7 0 4 8 35 2 56 1 50 2 0 15 7 3 4 16 35 2 56 4 50 2 0 15 7 5 4 24 35 2 56 6 50 2 0 15 7 7 4 32 7 8 7 9 35 4 56 10 50 2 0 15 45 11 12 13 71 13 47 9 83 47 49 14 0 13 20 0 7 15 7 16 47 49 17 3 15 8 92 20 0 7 15 7 16 49 13 3 19 1 15 5 7 18 20 1 49 19 0 47 49 20 2 15 5 4 8 20 1 49 21 0 47 49 20 2 11 I 8 I 2 I 1 I 1 n p 22 x 5 pcm_8 M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 70 57 19 0 15 45 0 1 13 71 2 47 9 32 47 49 3 0 13 21 1 0 20 0 7 4 47 49 5 3 15 8 42 21 1 0 20 0 7 4 49 2 3 19 1 15 5 7 4 20 1 49 6 0 47 49 7 2 15 5 79 20 1 49 8 0 47 49 7 2 11 I 8 I 2 I 1 I 1 n p 9 x 6 Format n x 3 new x 8 allocate I ac44 x 10 initialize x 9 byte_rate x 12 assert_equal x 11 block_align p 9 I 0 I 4c I 4 I 4d I 2d I 4e I 3a I 4f I 46 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 format_code x 6 format x 4 each x 6 pcm_16 M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 70 57 19 0 15 45 0 1 13 71 2 47 9 32 47 49 3 0 13 21 1 0 20 0 7 4 47 49 5 3 15 8 42 21 1 0 20 0 7 4 49 2 3 19 1 15 5 7 6 20 1 49 7 0 47 49 8 2 15 5 80 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate I ac44 x 10 initialize I 15888 x 9 byte_rate x 12 assert_equal x 11 block_align p 9 I 0 I 52 I 4 I 53 I 2d I 54 I 3a I 55 I 46 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 format_code x 6 format x 6 pcm_24 M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 71 57 19 0 15 45 0 1 13 71 2 47 9 32 47 49 3 0 13 21 1 0 20 0 7 4 47 49 5 3 15 8 42 21 1 0 20 0 7 4 49 2 3 19 1 15 5 7 6 20 1 49 7 0 47 49 8 2 15 5 4 3 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate I ac44 x 10 initialize I 204cc x 9 byte_rate x 12 assert_equal x 11 block_align p 9 I 0 I 58 I 4 I 59 I 2d I 5a I 3a I 5b I 47 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 format_code x 6 format x 6 pcm_32 x 5 float x 8 float_32 M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 71 57 19 0 15 45 0 1 13 71 2 47 9 32 47 49 3 0 13 21 1 0 20 0 7 4 47 49 5 3 15 8 42 21 1 0 20 0 7 4 49 2 3 19 1 15 5 7 6 20 1 49 7 0 47 49 8 2 15 5 4 4 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate I ac44 x 10 initialize I 2b110 x 9 byte_rate x 12 assert_equal x 11 block_align p 9 I 0 I 5e I 4 I 5f I 2d I 60 I 3a I 61 I 47 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 format_code x 6 format x 6 Format n x 3 new x 8 allocate x 8 float_64 I ac44 x 10 initialize I 56220 x 9 byte_rate x 12 assert_equal x 11 block_align p 17 I 0 I 4b I 4 I 4c I 10 I 52 I 1c I 58 I 28 I 5e I 38 I 64 I 5f I 65 I 6c I 66 I 79 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 one_channel x 6 format x 4 each x 6 stereo M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 121 57 19 0 15 7 0 4 8 35 2 56 1 50 2 0 15 7 3 4 16 35 2 56 4 50 2 0 15 7 5 4 24 35 2 56 6 50 2 0 15 7 7 4 32 7 8 7 9 35 4 56 10 50 2 0 15 45 11 12 13 71 13 47 9 83 47 49 14 0 13 20 0 7 15 7 16 47 49 17 3 15 8 92 20 0 7 15 7 16 49 13 3 19 1 15 5 7 18 20 1 49 19 0 47 49 20 2 15 5 4 16 20 1 49 21 0 47 49 20 2 11 I 8 I 2 I 1 I 1 n p 22 x 5 pcm_8 M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 70 57 19 0 15 45 0 1 13 71 2 47 9 32 47 49 3 0 13 21 1 0 20 0 7 4 47 49 5 3 15 8 42 21 1 0 20 0 7 4 49 2 3 19 1 15 5 7 6 20 1 49 7 0 47 49 8 2 15 5 80 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate I ac44 x 10 initialize I 15888 x 9 byte_rate x 12 assert_equal x 11 block_align p 9 I 0 I 6a I 4 I 6b I 2d I 6c I 3a I 6d I 46 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 format_code x 6 format x 4 each x 6 pcm_16 M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 71 57 19 0 15 45 0 1 13 71 2 47 9 32 47 49 3 0 13 21 1 0 20 0 7 4 47 49 5 3 15 8 42 21 1 0 20 0 7 4 49 2 3 19 1 15 5 7 6 20 1 49 7 0 47 49 8 2 15 5 4 4 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate I ac44 x 10 initialize I 2b110 x 9 byte_rate x 12 assert_equal x 11 block_align p 9 I 0 I 70 I 4 I 71 I 2d I 72 I 3a I 73 I 47 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 format_code x 6 format x 6 pcm_24 M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 71 57 19 0 15 45 0 1 13 71 2 47 9 32 47 49 3 0 13 21 1 0 20 0 7 4 47 49 5 3 15 8 42 21 1 0 20 0 7 4 49 2 3 19 1 15 5 7 6 20 1 49 7 0 47 49 8 2 15 5 4 6 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate I ac44 x 10 initialize I 40998 x 9 byte_rate x 12 assert_equal x 11 block_align p 9 I 0 I 76 I 4 I 77 I 2d I 78 I 3a I 79 I 47 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 format_code x 6 format x 6 pcm_32 x 5 float x 8 float_32 M 1 p 2 x 9 for_block t n x 25 test_byte_and_block_align i 71 57 19 0 15 45 0 1 13 71 2 47 9 32 47 49 3 0 13 21 1 0 20 0 7 4 47 49 5 3 15 8 42 21 1 0 20 0 7 4 49 2 3 19 1 15 5 7 6 20 1 49 7 0 47 49 8 2 15 5 4 8 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate I ac44 x 10 initialize I 56220 x 9 byte_rate x 12 assert_equal x 11 block_align p 9 I 0 I 7c I 4 I 7d I 2d I 7e I 3a I 7f I 47 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 format_code x 6 format x 6 Format n x 3 new x 8 allocate x 8 float_64 I ac44 x 10 initialize I ac440 x 9 byte_rate x 12 assert_equal x 11 block_align p 17 I 0 I 69 I 4 I 6a I 10 I 70 I 1c I 76 I 28 I 7c I 38 I 82 I 5f I 83 I 6c I 84 I 79 x 34 /Code/wavefile/test/format_test.rb p 2 x 12 two_channels x 6 format p 7 I -1 I 4a I 0 I 4b I b I 69 I 16 x 34 /Code/wavefile/test/format_test.rb p 0 x 10 test_mono? M 1 n n x 10 test_mono? i 11 79 7 0 35 2 56 1 50 2 0 11 I 2 I 0 I 0 I 0 n p 3 x 4 mono M 1 p 2 x 9 for_block t n x 10 test_mono? i 67 57 19 0 15 45 0 1 13 71 2 47 9 31 47 49 3 0 13 20 0 7 4 7 5 47 49 6 3 15 8 40 20 0 7 4 7 5 49 2 3 19 1 15 5 2 20 1 49 7 0 47 49 8 2 15 5 3 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate x 5 pcm_8 I ac44 x 10 initialize x 5 mono? x 12 assert_equal x 7 stereo? p 9 I 0 I 89 I 4 I 8a I 2b I 8b I 37 I 8c I 43 x 34 /Code/wavefile/test/format_test.rb p 2 x 11 one_channel x 6 format x 4 each p 5 I -1 I 88 I 0 I 89 I b x 34 /Code/wavefile/test/format_test.rb p 0 x 12 test_stereo? M 1 n n x 12 test_stereo? i 11 80 7 0 35 2 56 1 50 2 0 11 I 2 I 0 I 0 I 0 n p 3 x 6 stereo M 1 p 2 x 9 for_block t n x 12 test_stereo? i 67 57 19 0 15 45 0 1 13 71 2 47 9 31 47 49 3 0 13 20 0 7 4 7 5 47 49 6 3 15 8 40 20 0 7 4 7 5 49 2 3 19 1 15 5 3 20 1 49 7 0 47 49 8 2 15 5 2 20 1 49 9 0 47 49 8 2 11 I 8 I 2 I 1 I 1 n p 10 x 6 Format n x 3 new x 8 allocate x 5 pcm_8 I ac44 x 10 initialize x 5 mono? x 12 assert_equal x 7 stereo? p 9 I 0 I 91 I 4 I 92 I 2b I 93 I 37 I 94 I 43 x 34 /Code/wavefile/test/format_test.rb p 2 x 12 two_channels x 6 format x 4 each p 5 I -1 I 90 I 0 I 91 I b x 34 /Code/wavefile/test/format_test.rb p 0 p 23 I 2 I 7 I 10 I 10 I 1e I 16 I 2c I 24 I 3a I 2a I 48 I 38 I 56 I 3e I 64 I 44 I 72 I 4a I 80 I 88 I 8e I 90 I 9c x 34 /Code/wavefile/test/format_test.rb p 0 x 13 attach_method p 9 I 0 I 1 I 9 I 2 I 12 I 4 I 1b I 6 I 3e x 34 /Code/wavefile/test/format_test.rb p 0 wavefile-0.6.0/test/writer_test.rbc0000644000175000017500000004452712647143014016347 0ustar hannohanno!RBIX 17831730954501249321 x M 1 n n x 10 __script__ i 71 5 7 0 64 47 49 1 1 15 5 7 2 64 47 49 1 1 15 5 7 3 64 47 49 1 1 15 5 45 4 5 47 49 6 1 15 99 7 7 45 8 9 43 10 43 11 65 49 12 3 13 99 12 7 13 12 7 14 12 65 12 49 15 4 15 49 13 0 15 2 11 I 6 I 0 I 0 I 0 n p 16 s 9 test/unit x 7 require s 11 wavefile.rb s 26 wavefile_io_test_helper.rb x 8 WaveFile n x 7 include x 10 WriterTest x 4 Test n x 4 Unit x 8 TestCase x 10 open_class x 14 __class_init__ M 1 n n x 10 WriterTest i 207 5 66 5 45 0 1 47 49 2 1 15 65 7 3 7 4 64 49 5 2 15 99 7 6 7 7 65 67 49 8 0 49 9 4 15 99 7 10 7 11 65 67 49 8 0 49 9 4 15 99 7 12 7 13 65 67 49 8 0 49 9 4 15 99 7 14 7 15 65 67 49 8 0 49 9 4 15 99 7 16 7 17 65 67 49 8 0 49 9 4 15 99 7 18 7 19 65 67 49 8 0 49 9 4 15 99 7 20 7 21 65 67 49 8 0 49 9 4 15 99 7 22 7 23 65 67 49 8 0 49 9 4 15 99 7 24 7 25 65 67 49 8 0 49 9 4 15 99 7 26 7 27 65 67 49 8 0 49 9 4 15 99 7 28 7 29 65 67 49 8 0 49 9 4 15 5 48 30 15 99 7 31 7 32 65 67 49 8 0 49 9 4 15 99 7 33 7 34 65 67 49 8 0 49 9 4 11 I 5 I 0 I 0 I 0 n p 35 x 20 WaveFileIOTestHelper n x 7 include x 13 OUTPUT_FOLDER s 27 test/fixtures/actual_output x 9 const_set x 5 setup M 1 n n x 5 setup i 4 5 48 0 11 I 1 I 0 I 0 I 0 n p 1 x 19 clean_output_folder p 5 I -1 I c I 0 I d I 4 x 34 /Code/wavefile/test/writer_test.rb p 0 x 17 method_visibility x 15 add_defn_method x 35 test_write_file_with_no_sample_data M 1 n n x 35 test_write_file_with_no_sample_data i 151 45 0 1 13 71 2 47 9 67 47 49 3 0 13 45 4 5 47 101 6 7 7 63 2 45 8 9 13 71 2 47 9 51 47 49 3 0 13 7 10 7 11 7 12 47 49 13 3 15 8 60 7 10 7 11 7 12 49 2 3 47 49 13 2 15 8 116 45 4 14 47 101 6 7 7 63 2 45 8 15 13 71 2 47 9 104 47 49 3 0 13 7 10 7 11 7 12 47 49 13 3 15 8 113 7 10 7 11 7 12 49 2 3 49 2 2 19 0 15 20 0 49 16 0 15 5 5 7 17 7 18 64 47 49 19 2 5 7 20 7 18 64 47 49 19 2 47 49 21 2 11 I 9 I 1 I 0 I 0 n p 22 x 6 Writer n x 3 new x 8 allocate x 13 OUTPUT_FOLDER n x 4 to_s s 15 /no_samples.wav x 6 Format n x 4 mono x 5 pcm_8 I ac44 x 10 initialize n n x 5 close x 8 expected s 14 no_samples.wav x 9 read_file x 6 actual x 12 assert_equal p 9 I -1 I 10 I 0 I 11 I 77 I 12 I 7d I 14 I 97 x 34 /Code/wavefile/test/writer_test.rb p 1 x 6 writer x 21 test_write_basic_file M 1 n n x 21 test_write_basic_file i 8 5 56 0 47 50 1 0 11 I 2 I 0 I 0 I 0 n p 2 M 1 p 2 x 9 for_block t n x 21 test_write_basic_file i 383 58 37 19 0 15 37 19 1 15 15 7 0 20 0 47 101 1 7 2 20 1 47 101 1 7 3 63 5 19 2 15 45 4 5 13 71 6 47 9 64 47 49 7 0 13 45 8 9 20 0 49 10 1 20 1 7 11 47 49 12 3 15 8 79 45 8 13 20 0 49 10 1 20 1 7 11 49 6 3 19 3 15 45 14 15 13 71 6 47 9 120 47 49 7 0 13 45 16 17 47 101 1 7 18 20 2 47 101 1 63 3 20 3 47 49 12 2 15 8 140 45 16 19 47 101 1 7 18 20 2 47 101 1 63 3 20 3 49 6 2 19 4 15 20 4 45 20 21 13 71 6 47 9 186 47 49 7 0 13 45 22 23 20 0 49 10 1 20 1 49 10 1 4 128 49 24 1 20 3 47 49 12 2 15 8 209 45 22 25 20 0 49 10 1 20 1 49 10 1 4 128 49 24 1 20 3 49 6 2 49 26 1 15 20 4 45 20 27 13 71 6 47 9 256 47 49 7 0 13 45 22 28 20 0 49 10 1 20 1 49 10 1 4 128 49 24 1 20 3 47 49 12 2 15 8 279 45 22 29 20 0 49 10 1 20 1 49 10 1 4 128 49 24 1 20 3 49 6 2 49 26 1 15 20 4 45 20 30 13 71 6 47 9 326 47 49 7 0 13 45 22 31 20 0 49 10 1 20 1 49 10 1 4 24 49 24 1 20 3 47 49 12 2 15 8 349 45 22 32 20 0 49 10 1 20 1 49 10 1 4 24 49 24 1 20 3 49 6 2 49 26 1 15 20 4 49 33 0 15 5 5 7 34 20 2 47 49 35 2 5 7 36 20 2 47 49 35 2 47 49 37 2 11 I b I 5 I 2 I 2 n p 38 s 6 valid_ x 4 to_s s 1 _ s 10 _44100.wav x 6 Format n x 3 new x 8 allocate x 13 CHANNEL_ALIAS n x 2 [] I ac44 x 10 initialize n x 6 Writer n x 13 OUTPUT_FOLDER n s 1 / n x 6 Buffer n x 17 SQUARE_WAVE_CYCLE n x 1 * n x 5 write n n n n n n x 5 close x 8 expected x 9 read_file x 6 actual x 12 assert_equal p 19 I 0 I 18 I a I 19 I 1f I 1a I 52 I 1c I 8f I 1d I d5 I 1e I 11b I 1f I 161 I 20 I 167 I 22 I 17f x 34 /Code/wavefile/test/writer_test.rb p 5 x 8 channels x 13 sample_format x 9 file_name x 6 format x 6 writer x 17 exhaustively_test p 5 I -1 I 17 I 0 I 18 I 8 x 34 /Code/wavefile/test/writer_test.rb p 0 x 34 test_write_basic_file_with_a_block M 1 n n x 34 test_write_basic_file_with_a_block i 8 5 56 0 47 50 1 0 11 I 2 I 0 I 0 I 0 n p 2 M 1 p 2 x 9 for_block t n x 34 test_write_basic_file_with_a_block i 145 58 37 19 0 15 37 19 1 15 15 7 0 20 0 47 101 1 7 2 20 1 47 101 1 7 3 63 5 19 2 15 45 4 5 13 71 6 47 9 64 47 49 7 0 13 45 8 9 20 0 49 10 1 20 1 7 11 47 49 12 3 15 8 79 45 8 13 20 0 49 10 1 20 1 7 11 49 6 3 19 3 15 45 14 15 45 16 17 47 101 1 7 18 20 2 47 101 1 63 3 20 3 56 19 50 6 2 19 4 15 5 5 7 20 20 2 47 49 21 2 5 7 22 20 2 47 49 21 2 47 49 23 2 15 5 20 4 49 24 0 47 49 25 1 11 I b I 5 I 2 I 2 n p 26 s 6 valid_ x 4 to_s s 1 _ s 10 _44100.wav x 6 Format n x 3 new x 8 allocate x 13 CHANNEL_ALIAS n x 2 [] I ac44 x 10 initialize n x 6 Writer n x 13 OUTPUT_FOLDER n s 1 / M 1 p 2 x 9 for_block t n x 34 test_write_basic_file_with_a_block i 13 57 22 1 4 15 4 4 56 0 50 1 0 11 I 3 I 0 I 1 I 1 n p 2 M 1 p 2 x 9 for_block t n x 34 test_write_basic_file_with_a_block i 77 21 2 4 45 0 1 13 71 2 47 9 47 47 49 3 0 13 45 4 5 21 2 0 49 6 1 21 2 1 49 6 1 4 70 49 7 1 21 2 3 47 49 8 2 15 8 73 45 4 9 21 2 0 49 6 1 21 2 1 49 6 1 4 70 49 7 1 21 2 3 49 2 2 49 10 1 11 I 6 I 0 I 0 I 0 I -2 p 11 x 6 Buffer n x 3 new x 8 allocate x 17 SQUARE_WAVE_CYCLE n x 2 [] x 1 * x 10 initialize n x 5 write p 3 I 0 I 2d I 4d x 34 /Code/wavefile/test/writer_test.rb p 0 x 5 times p 5 I 0 I 2b I 5 I 2c I d x 34 /Code/wavefile/test/writer_test.rb p 0 x 8 expected x 9 read_file x 6 actual x 12 assert_equal x 7 closed? x 6 assert p 13 I 0 I 27 I a I 28 I 1f I 29 I 52 I 2b I 6e I 31 I 86 I 32 I 91 x 34 /Code/wavefile/test/writer_test.rb p 5 x 8 channels x 13 sample_format x 9 file_name x 6 format x 6 writer x 17 exhaustively_test p 5 I -1 I 26 I 0 I 27 I 8 x 34 /Code/wavefile/test/writer_test.rb p 0 x 39 test_write_buffers_of_different_formats M 1 n n x 39 test_write_buffers_of_different_formats i 424 7 0 64 19 0 15 45 1 2 13 71 3 47 9 33 47 49 4 0 13 7 5 7 6 7 7 47 49 8 3 15 8 42 7 5 7 6 7 7 49 3 3 19 1 15 45 1 9 13 71 3 47 9 72 47 49 4 0 13 7 5 7 10 7 11 47 49 8 3 15 8 81 7 5 7 10 7 11 49 3 3 19 2 15 45 1 12 13 71 3 47 9 111 47 49 4 0 13 7 13 7 10 7 7 47 49 8 3 15 8 120 7 13 7 10 7 7 49 3 3 19 3 15 45 14 15 13 71 3 47 9 161 47 49 4 0 13 45 16 17 47 101 18 7 19 20 0 47 101 18 63 3 20 1 47 49 8 2 15 8 181 45 16 20 47 101 18 7 19 20 0 47 101 18 63 3 20 1 49 3 2 19 4 15 20 4 45 21 22 13 71 3 47 9 227 47 49 4 0 13 45 23 24 7 13 49 25 1 7 10 49 25 1 4 128 49 26 1 20 3 47 49 8 2 15 8 250 45 23 27 7 13 49 25 1 7 10 49 25 1 4 128 49 26 1 20 3 49 3 2 49 28 1 15 20 4 45 21 29 13 71 3 47 9 297 47 49 4 0 13 45 23 30 7 5 49 25 1 7 10 49 25 1 4 128 49 26 1 20 2 47 49 8 2 15 8 320 45 23 31 7 5 49 25 1 7 10 49 25 1 4 128 49 26 1 20 2 49 3 2 49 28 1 15 20 4 45 21 32 13 71 3 47 9 367 47 49 4 0 13 45 23 33 7 13 49 25 1 7 10 49 25 1 4 24 49 26 1 20 3 47 49 8 2 15 8 390 45 23 34 7 13 49 25 1 7 10 49 25 1 4 24 49 26 1 20 3 49 3 2 49 28 1 15 20 4 49 35 0 15 5 5 7 36 20 0 47 49 37 2 5 7 38 20 0 47 49 37 2 47 49 39 2 11 I a I 5 I 0 I 0 n p 40 s 26 valid_mono_pcm_8_44100.wav x 6 Format n x 3 new x 8 allocate x 4 mono x 5 pcm_8 I ac44 x 10 initialize n x 6 pcm_16 I 5622 n x 6 stereo x 6 Writer n x 13 OUTPUT_FOLDER n x 4 to_s s 1 / n x 6 Buffer n x 17 SQUARE_WAVE_CYCLE n x 2 [] x 1 * n x 5 write n n n n n n x 5 close x 8 expected x 9 read_file x 6 actual x 12 assert_equal p 23 I -1 I 36 I 0 I 37 I 6 I 38 I 2d I 39 I 54 I 3a I 7b I 3c I b8 I 3d I fe I 3e I 144 I 3f I 18a I 40 I 190 I 42 I 1a8 x 34 /Code/wavefile/test/writer_test.rb p 5 x 9 file_name x 16 format_8bit_mono x 18 format_16_bit_mono x 19 format_16bit_stereo x 6 writer x 33 test_write_file_with_padding_byte M 1 n n x 33 test_write_file_with_padding_byte i 382 7 0 64 19 0 15 45 1 2 13 71 3 47 9 33 47 49 4 0 13 7 5 7 6 7 7 47 49 8 3 15 8 42 7 5 7 6 7 7 49 3 3 19 1 15 45 9 10 13 71 3 47 9 83 47 49 4 0 13 45 11 12 47 101 13 7 14 20 0 47 101 13 63 3 20 1 47 49 8 2 15 8 103 45 11 15 47 101 13 7 14 20 0 47 101 13 63 3 20 1 49 3 2 19 2 15 20 2 45 16 17 13 71 3 47 9 149 47 49 4 0 13 45 18 19 7 5 49 20 1 7 6 49 20 1 4 128 49 21 1 20 1 47 49 8 2 15 8 172 45 18 22 7 5 49 20 1 7 6 49 20 1 4 128 49 21 1 20 1 49 3 2 49 23 1 15 20 2 45 16 24 13 71 3 47 9 219 47 49 4 0 13 45 18 25 7 5 49 20 1 7 6 49 20 1 4 128 49 21 1 20 1 47 49 8 2 15 8 242 45 18 26 7 5 49 20 1 7 6 49 20 1 4 128 49 21 1 20 1 49 3 2 49 23 1 15 20 2 45 16 27 13 71 3 47 9 307 47 49 4 0 13 45 18 28 7 5 49 20 1 7 6 49 20 1 4 23 49 21 1 4 88 4 88 4 88 4 88 4 167 4 167 4 167 35 7 81 29 20 1 47 49 8 2 15 8 348 45 18 30 7 5 49 20 1 7 6 49 20 1 4 23 49 21 1 4 88 4 88 4 88 4 88 4 167 4 167 4 167 35 7 81 29 20 1 49 3 2 49 23 1 15 20 2 49 31 0 15 5 5 7 32 20 0 47 49 33 2 5 7 34 20 0 47 49 33 2 47 49 35 2 11 I e I 3 I 0 I 0 n p 36 s 44 valid_mono_pcm_8_44100_with_padding_byte.wav x 6 Format n x 3 new x 8 allocate x 4 mono x 5 pcm_8 I ac44 x 10 initialize x 6 Writer n x 13 OUTPUT_FOLDER n x 4 to_s s 1 / n x 6 Buffer n x 17 SQUARE_WAVE_CYCLE n x 2 [] x 1 * n x 5 write n n n n n x 1 + n x 5 close x 8 expected x 9 read_file x 6 actual x 12 assert_equal p 19 I -1 I 45 I 0 I 46 I 6 I 47 I 2d I 49 I 6a I 4a I b0 I 4b I f6 I 4c I 160 I 4d I 166 I 4f I 17e x 34 /Code/wavefile/test/writer_test.rb p 3 x 9 file_name x 6 format x 6 writer x 14 test_file_name M 1 n n x 14 test_file_name i 164 45 0 1 47 101 2 7 3 63 2 19 0 15 45 4 5 13 71 6 47 9 72 47 49 7 0 13 20 0 45 8 9 13 71 6 47 9 56 47 49 7 0 13 7 10 7 11 7 12 47 49 13 3 15 8 65 7 10 7 11 7 12 49 6 3 47 49 13 2 15 8 113 20 0 45 8 14 13 71 6 47 9 101 47 49 7 0 13 7 10 7 11 7 12 47 49 13 3 15 8 110 7 10 7 11 7 12 49 6 3 49 6 2 19 1 15 5 45 0 15 47 101 2 7 3 63 2 20 1 49 16 0 47 49 17 2 15 20 1 49 18 0 15 5 45 0 19 47 101 2 7 3 63 2 20 1 49 16 0 47 49 17 2 11 I a I 2 I 0 I 0 n p 20 x 13 OUTPUT_FOLDER n x 4 to_s s 12 /example.wav x 6 Writer n x 3 new x 8 allocate x 6 Format n x 4 mono x 5 pcm_8 I ac44 x 10 initialize n n x 9 file_name x 12 assert_equal x 5 close n p 13 I -1 I 52 I 0 I 53 I d I 55 I 74 I 56 I 89 I 58 I 8f I 59 I a4 x 34 /Code/wavefile/test/writer_test.rb p 2 x 9 file_name x 6 writer x 12 test_closed? M 1 n n x 12 test_closed? i 148 45 0 1 13 71 2 47 9 67 47 49 3 0 13 45 4 5 47 101 6 7 7 63 2 45 8 9 13 71 2 47 9 51 47 49 3 0 13 7 10 7 11 7 12 47 49 13 3 15 8 60 7 10 7 11 7 12 49 2 3 47 49 13 2 15 8 116 45 4 14 47 101 6 7 7 63 2 45 8 15 13 71 2 47 9 104 47 49 3 0 13 7 10 7 11 7 12 47 49 13 3 15 8 113 7 10 7 11 7 12 49 2 3 49 2 2 19 0 15 5 3 20 0 49 16 0 47 49 17 2 15 20 0 49 18 0 15 5 20 0 49 16 0 47 49 19 1 11 I 9 I 1 I 0 I 0 n p 20 x 6 Writer n x 3 new x 8 allocate x 13 OUTPUT_FOLDER n x 4 to_s s 16 /closed_test.wav x 6 Format n x 4 mono x 6 pcm_16 I ac44 x 10 initialize n n x 7 closed? x 12 assert_equal x 5 close x 6 assert p 11 I -1 I 5c I 0 I 5d I 77 I 5e I 83 I 5f I 89 I 60 I 94 x 34 /Code/wavefile/test/writer_test.rb p 1 x 6 writer x 33 test_attempt_to_write_after_close M 1 n n x 33 test_attempt_to_write_after_close i 157 45 0 1 13 71 2 47 9 27 47 49 3 0 13 7 4 7 5 7 6 47 49 7 3 15 8 36 7 4 7 5 7 6 49 2 3 19 0 15 45 8 9 13 71 2 47 9 72 47 49 3 0 13 45 10 11 47 101 12 7 13 63 2 20 0 47 49 7 2 15 8 87 45 10 14 47 101 12 7 13 63 2 20 0 49 2 2 19 1 15 20 1 45 15 16 13 71 2 47 9 123 47 49 3 0 13 79 80 4 3 4 4 35 4 20 0 47 49 7 2 15 8 136 79 80 4 3 4 4 35 4 20 0 49 2 2 49 17 1 15 20 1 49 18 0 15 5 45 19 20 56 21 47 50 22 1 11 I 9 I 2 I 0 I 0 n p 23 x 6 Format n x 3 new x 8 allocate x 4 mono x 5 pcm_8 I ac44 x 10 initialize x 6 Writer n x 13 OUTPUT_FOLDER n x 4 to_s s 22 /write_after_close.wav n x 6 Buffer n x 5 write x 5 close x 7 IOError n M 1 p 2 x 9 for_block t n x 33 test_attempt_to_write_after_close i 57 21 1 1 45 0 1 13 71 2 47 9 37 47 49 3 0 13 4 5 4 6 4 7 4 8 35 4 21 1 0 47 49 4 2 15 8 53 4 5 4 6 4 7 4 8 35 4 21 1 0 49 2 2 49 5 1 11 I 8 I 0 I 0 I 0 I -2 p 6 x 6 Buffer n x 3 new x 8 allocate x 10 initialize x 5 write p 3 I 0 I 6a I 39 x 34 /Code/wavefile/test/writer_test.rb p 0 x 12 assert_raise p 13 I -1 I 63 I 0 I 64 I 27 I 66 I 5a I 67 I 8c I 68 I 92 I 6a I 9d x 34 /Code/wavefile/test/writer_test.rb p 2 x 6 format x 6 writer x 19 test_total_duration M 1 n n x 19 test_total_duration i 8 5 56 0 47 50 1 0 11 I 2 I 0 I 0 I 0 n p 2 M 1 p 2 x 9 for_block t n x 19 test_total_duration i 787 58 37 19 0 15 37 19 1 15 15 45 0 1 13 71 2 47 9 43 47 49 3 0 13 45 4 5 20 0 49 6 1 20 1 7 7 47 49 8 3 15 8 58 45 4 9 20 0 49 6 1 20 1 7 7 49 2 3 19 2 15 45 10 11 13 71 2 47 9 108 47 49 3 0 13 45 12 13 47 101 14 7 15 20 0 47 101 14 7 16 20 1 47 101 14 7 17 63 6 20 2 47 49 8 2 15 8 137 45 12 18 47 101 14 7 15 20 0 47 101 14 7 16 20 1 47 101 14 7 17 63 6 20 2 49 2 2 19 3 15 5 78 20 3 49 19 0 47 49 20 2 15 20 3 49 21 0 19 4 15 5 78 20 4 49 22 0 47 49 20 2 15 5 7 7 20 4 49 23 0 47 49 20 2 15 5 78 20 4 49 24 0 47 49 20 2 15 5 78 20 4 49 25 0 47 49 20 2 15 5 78 20 4 49 26 0 47 49 20 2 15 5 78 20 4 49 27 0 47 49 20 2 15 20 3 45 28 29 13 71 2 47 9 276 47 49 3 0 13 45 30 31 20 0 49 6 1 20 1 49 6 1 7 32 49 33 1 20 2 47 49 8 2 15 8 299 45 30 34 20 0 49 6 1 20 1 49 6 1 7 32 49 33 1 20 2 49 2 2 49 35 1 15 5 4 8 7 32 49 33 1 20 3 49 19 0 47 49 20 2 15 20 3 49 21 0 19 4 15 5 4 8 7 32 49 33 1 20 4 49 22 0 47 49 20 2 15 5 7 7 20 4 49 23 0 47 49 20 2 15 5 78 20 4 49 24 0 47 49 20 2 15 5 78 20 4 49 25 0 47 49 20 2 15 5 78 20 4 49 26 0 47 49 20 2 15 5 7 36 20 4 49 27 0 47 49 20 2 15 20 3 45 28 37 13 71 2 47 9 452 47 49 3 0 13 45 30 38 20 0 49 6 1 20 1 49 6 1 7 32 49 33 1 20 2 47 49 8 2 15 8 475 45 30 39 20 0 49 6 1 20 1 49 6 1 7 32 49 33 1 20 2 49 2 2 49 35 1 15 20 3 45 28 40 13 71 2 47 9 522 47 49 3 0 13 45 30 41 20 0 49 6 1 20 1 49 6 1 7 32 49 33 1 20 2 47 49 8 2 15 8 545 45 30 42 20 0 49 6 1 20 1 49 6 1 7 32 49 33 1 20 2 49 2 2 49 35 1 15 5 4 8 7 32 49 33 1 4 3 49 33 1 20 3 49 19 0 47 49 20 2 15 20 3 49 21 0 19 4 15 5 4 8 7 32 49 33 1 4 3 49 33 1 20 4 49 22 0 47 49 20 2 15 5 7 7 20 4 49 23 0 47 49 20 2 15 5 78 20 4 49 24 0 47 49 20 2 15 5 78 20 4 49 25 0 47 49 20 2 15 5 79 20 4 49 26 0 47 49 20 2 15 5 7 36 20 4 49 27 0 47 49 20 2 15 20 3 49 43 0 15 5 4 8 7 32 49 33 1 4 3 49 33 1 20 3 49 19 0 47 49 20 2 15 20 3 49 21 0 19 4 15 5 4 8 7 32 49 33 1 4 3 49 33 1 20 4 49 22 0 47 49 20 2 15 5 7 7 20 4 49 23 0 47 49 20 2 15 5 78 20 4 49 24 0 47 49 20 2 15 5 78 20 4 49 25 0 47 49 20 2 15 5 79 20 4 49 26 0 47 49 20 2 15 5 7 36 20 4 49 27 0 47 49 20 2 11 I e I 5 I 2 I 2 n p 44 x 6 Format n x 3 new x 8 allocate x 13 CHANNEL_ALIAS n x 2 [] I ac44 x 10 initialize n x 6 Writer n x 13 OUTPUT_FOLDER n x 4 to_s s 16 /total_duration_ s 1 _ s 10 _44100.wav n x 19 total_sample_frames x 12 assert_equal x 14 total_duration x 18 sample_frame_count x 11 sample_rate x 5 hours x 7 minutes x 7 seconds x 12 milliseconds x 6 Buffer n x 17 SQUARE_WAVE_CYCLE n I ac4 x 1 * n x 5 write I 1f3 n n n n n n x 5 close p 79 I 0 I 6e I a I 6f I 3d I 71 I 8c I 73 I 98 I 74 I a0 I 75 I ac I 76 I b9 I 77 I c5 I 78 I d1 I 79 I dd I 7a I e9 I 7c I 12f I 7e I 141 I 7f I 149 I 80 I 15b I 81 I 168 I 82 I 174 I 83 I 180 I 84 I 18c I 85 I 199 I 87 I 1df I 88 I 225 I 8a I 23c I 8b I 244 I 8c I 25b I 8d I 268 I 8e I 274 I 8f I 280 I 90 I 28c I 91 I 299 I 93 I 29f I 95 I 2b6 I 96 I 2be I 97 I 2d5 I 98 I 2e2 I 99 I 2ee I 9a I 2fa I 9b I 306 I 9c I 313 x 34 /Code/wavefile/test/writer_test.rb p 5 x 8 channels x 13 sample_format x 6 format x 6 writer x 8 duration x 17 exhaustively_test p 5 I -1 I 6d I 0 I 6e I 8 x 34 /Code/wavefile/test/writer_test.rb p 0 x 25 test_exception_with_block M 1 n n x 25 test_exception_with_block i 138 45 0 1 13 71 2 47 9 27 47 49 3 0 13 7 4 7 5 7 6 47 49 7 3 15 8 36 7 4 7 5 7 6 49 2 3 19 0 15 79 80 4 3 4 4 4 5 4 6 35 6 19 1 15 45 8 9 45 10 11 47 101 12 7 13 63 2 20 0 56 14 50 2 2 15 45 15 16 13 71 2 47 9 106 47 49 3 0 13 45 10 17 47 101 12 7 13 63 2 47 49 7 1 15 8 119 45 10 18 47 101 12 7 13 63 2 49 2 1 19 2 15 5 20 1 49 19 0 20 2 49 20 0 47 49 21 2 11 I 9 I 3 I 0 I 0 n p 22 x 6 Format n x 3 new x 8 allocate x 4 mono x 5 pcm_8 I ac44 x 10 initialize x 6 Writer n x 13 OUTPUT_FOLDER n x 4 to_s s 25 /exception_with_block.wav M 1 p 2 x 9 for_block t n x 25 test_exception_with_block i 92 57 19 0 15 26 93 0 15 29 61 0 20 0 45 0 1 13 71 2 47 9 40 47 49 3 0 13 21 1 1 21 1 0 47 49 4 2 15 8 49 21 1 1 21 1 0 49 2 2 49 5 1 15 79 78 49 6 1 30 8 88 26 93 1 15 24 13 45 7 8 12 49 9 1 10 78 8 83 15 1 25 8 88 15 92 1 27 34 92 0 27 11 I 9 I 1 I 1 I 1 n p 10 x 6 Buffer n x 3 new x 8 allocate x 10 initialize x 5 write x 1 / x 13 StandardError n x 3 === p 13 I 0 I a5 I 4 I a7 I 35 I a8 I 3d I 0 I 42 I ab I 58 I 0 I 5c x 34 /Code/wavefile/test/writer_test.rb p 1 x 6 writer x 6 Reader n n n x 4 size x 19 total_sample_frames x 12 assert_equal p 13 I -1 I a2 I 0 I a3 I 27 I a4 I 36 I a5 I 4b I ae I 7a I af I 8a x 34 /Code/wavefile/test/writer_test.rb p 3 x 6 format x 7 samples x 6 reader x 7 private x 9 read_file M 1 n n x 9 read_file i 67 20 0 7 0 83 1 9 15 7 2 64 19 2 8 38 20 0 7 3 83 1 9 30 7 4 64 19 2 8 38 5 7 5 64 47 49 6 1 15 45 7 8 7 9 20 2 47 101 10 7 11 20 1 47 101 10 63 4 7 12 64 56 13 50 14 2 11 I 8 I 3 I 2 I 2 n p 15 x 8 expected x 2 == s 5 valid x 6 actual s 13 actual_output s 20 Invalid fixture type x 5 raise x 4 File n s 14 test/fixtures/ x 4 to_s s 1 / s 2 rb M 1 p 2 x 9 for_block t n x 9 read_file i 10 57 19 0 15 20 0 49 0 0 11 I 3 I 1 I 1 I 1 n p 1 x 4 read p 3 I 0 I be I a x 34 /Code/wavefile/test/writer_test.rb p 1 x 1 f x 4 open p 17 I -1 I b4 I 0 I b5 I 8 I b6 I f I b7 I 17 I b8 I 1e I ba I 26 I 0 I 27 I be I 43 x 34 /Code/wavefile/test/writer_test.rb p 3 x 4 type x 9 file_name x 14 fixture_folder x 19 clean_output_folder M 1 n n x 19 clean_output_folder i 73 45 0 1 45 2 3 49 4 1 9 14 1 8 23 45 5 6 45 2 7 49 8 1 15 45 5 9 13 71 10 47 9 48 47 49 11 0 13 45 2 12 47 49 13 1 15 8 54 45 2 14 49 10 1 19 0 15 20 0 49 15 0 19 1 15 20 1 56 16 50 17 0 11 I 5 I 2 I 0 I 0 n p 18 x 4 File n x 13 OUTPUT_FOLDER n x 7 exists? x 3 Dir n n x 5 mkdir n x 3 new x 8 allocate n x 10 initialize n x 7 entries M 1 p 2 x 9 for_block t n x 19 clean_output_folder i 61 57 19 0 15 20 0 7 0 64 83 1 10 16 2 8 17 3 13 9 34 15 20 0 7 2 64 83 1 10 33 2 8 34 3 9 59 45 3 4 45 5 6 47 101 7 7 8 20 0 47 101 7 63 3 49 9 1 8 60 1 11 I 6 I 1 I 1 I 1 n p 10 s 1 . x 2 == s 2 .. x 4 File n x 13 OUTPUT_FOLDER n x 4 to_s s 1 / x 6 delete p 11 I 0 I c7 I 4 I c8 I 24 I c9 I 3b I c8 I 3c I 0 I 3d x 34 /Code/wavefile/test/writer_test.rb p 1 x 9 file_name x 4 each p 13 I -1 I c1 I 0 I c3 I 17 I 0 I 18 I c5 I 39 I c6 I 41 I c7 I 49 x 34 /Code/wavefile/test/writer_test.rb p 2 x 3 dir x 10 file_names p 33 I 2 I 8 I b I a I 15 I c I 23 I 10 I 31 I 17 I 3f I 26 I 4d I 36 I 5b I 45 I 69 I 52 I 77 I 5c I 85 I 63 I 93 I 6d I a1 I a2 I af I b2 I b3 I b4 I c1 I c1 I cf x 34 /Code/wavefile/test/writer_test.rb p 0 x 13 attach_method p 11 I 0 I 1 I 9 I 2 I 12 I 3 I 1b I 5 I 24 I 7 I 47 x 34 /Code/wavefile/test/writer_test.rb p 0 wavefile-0.6.0/test/wavefile_io_test_helper.rb0000644000175000017500000001061212647143014020504 0ustar hannohannomodule WaveFileIOTestHelper CHANNEL_ALIAS = { :mono => 1, :stereo => 2, :tri => 3} SQUARE_WAVE_CYCLE = {} SQUARE_WAVE_CYCLE[:mono] = {} SQUARE_WAVE_CYCLE[:mono][:pcm_8] = [88, 88, 88, 88, 167, 167, 167, 167] SQUARE_WAVE_CYCLE[:mono][:pcm_16] = [-10000, -10000, -10000, -10000, 10000, 10000, 10000, 10000] SQUARE_WAVE_CYCLE[:mono][:pcm_24] = [-1000000, -1000000, -1000000, -1000000, 1000000, 1000000, 1000000, 1000000] SQUARE_WAVE_CYCLE[:mono][:pcm_32] = [-1000000000, -1000000000, -1000000000, -1000000000, 1000000000, 1000000000, 1000000000, 1000000000] SQUARE_WAVE_CYCLE[:mono][:float_32] = [-0.5, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5] SQUARE_WAVE_CYCLE[:mono][:float_64] = SQUARE_WAVE_CYCLE[:mono][:float_32] SQUARE_WAVE_CYCLE[:stereo] = {} SQUARE_WAVE_CYCLE[:stereo][:pcm_8] = [[88, 88], [88, 88], [88, 88], [88, 88], [167, 167], [167, 167], [167, 167], [167, 167]] SQUARE_WAVE_CYCLE[:stereo][:pcm_16] = [[-10000, -10000], [-10000, -10000], [-10000, -10000], [-10000, -10000], [10000, 10000], [10000, 10000], [10000, 10000], [10000, 10000]] SQUARE_WAVE_CYCLE[:stereo][:pcm_24] = [[-1000000, -1000000], [-1000000, -1000000], [-1000000, -1000000], [-1000000, -1000000], [1000000, 1000000], [1000000, 1000000], [1000000, 1000000], [1000000, 1000000]] SQUARE_WAVE_CYCLE[:stereo][:pcm_32] = [[-1000000000, -1000000000], [-1000000000, -1000000000], [-1000000000, -1000000000], [-1000000000, -1000000000], [ 1000000000, 1000000000], [ 1000000000, 1000000000], [ 1000000000, 1000000000], [ 1000000000, 1000000000]] SQUARE_WAVE_CYCLE[:stereo][:float_32] = [[-0.5, -0.5], [-0.5, -0.5], [-0.5, -0.5], [-0.5, -0.5], [0.5, 0.5], [0.5, 0.5], [0.5, 0.5], [0.5, 0.5]] SQUARE_WAVE_CYCLE[:stereo][:float_64] = SQUARE_WAVE_CYCLE[:stereo][:float_32] SQUARE_WAVE_CYCLE[:tri] = {} SQUARE_WAVE_CYCLE[:tri][:pcm_8] = [[88, 88, 88], [88, 88, 88], [88, 88, 88], [88, 88, 88], [167, 167, 167], [167, 167, 167], [167, 167, 167], [167, 167, 167]] SQUARE_WAVE_CYCLE[:tri][:pcm_16] = [[-10000, -10000, -10000], [-10000, -10000, -10000], [-10000, -10000, -10000], [-10000, -10000, -10000], [ 10000, 10000, 10000], [ 10000, 10000, 10000], [ 10000, 10000, 10000], [ 10000, 10000, 10000]] SQUARE_WAVE_CYCLE[:tri][:pcm_24] = [[-1000000, -1000000, -1000000], [-1000000, -1000000, -1000000], [-1000000, -1000000, -1000000], [-1000000, -1000000, -1000000], [ 1000000, 1000000, 1000000], [ 1000000, 1000000, 1000000], [ 1000000, 1000000, 1000000], [ 1000000, 1000000, 1000000]] SQUARE_WAVE_CYCLE[:tri][:pcm_32] = [[-1000000000, -1000000000, -1000000000], [-1000000000, -1000000000, -1000000000], [-1000000000, -1000000000, -1000000000], [-1000000000, -1000000000, -1000000000], [ 1000000000, 1000000000, 1000000000], [ 1000000000, 1000000000, 1000000000], [ 1000000000, 1000000000, 1000000000], [ 1000000000, 1000000000, 1000000000]] SQUARE_WAVE_CYCLE[:tri][:float_32] = [[-0.5, -0.5, -0.5], [-0.5, -0.5, -0.5], [-0.5, -0.5, -0.5], [-0.5, -0.5, -0.5], [0.5, 0.5, 0.5], [0.5, 0.5, 0.5], [0.5, 0.5, 0.5], [0.5, 0.5, 0.5]] SQUARE_WAVE_CYCLE[:tri][:float_64] = SQUARE_WAVE_CYCLE[:tri][:float_32] # Executes the given block against different combinations of number of channels and sample_format def exhaustively_test [:mono, :stereo, :tri].each do |channels| [:pcm, :float].each do |sample_format| Format::SUPPORTED_BITS_PER_SAMPLE[sample_format].each do |bits_per_sample| yield(channels, "#{sample_format}_#{bits_per_sample}".to_sym) end end end end end wavefile-0.6.0/test/duration_test.rbc0000644000175000017500000001057712647143014016656 0ustar hannohanno!RBIX 17831730954501249321 x M 1 n n x 10 __script__ i 62 5 7 0 64 47 49 1 1 15 5 7 2 64 47 49 1 1 15 5 45 3 4 47 49 5 1 15 99 7 6 45 7 8 43 9 43 10 65 49 11 3 13 99 12 7 12 12 7 13 12 65 12 49 14 4 15 49 12 0 15 2 11 I 6 I 0 I 0 I 0 n p 15 s 9 test/unit x 7 require s 11 wavefile.rb x 8 WaveFile n x 7 include x 12 DurationTest x 4 Test n x 4 Unit x 8 TestCase x 10 open_class x 14 __class_init__ M 1 n n x 12 DurationTest i 40 5 66 65 7 0 4 60 49 1 2 15 65 7 2 45 0 3 4 60 49 4 1 49 1 2 15 99 7 5 7 6 65 67 49 7 0 49 8 4 11 I 5 I 0 I 0 I 0 n p 9 x 17 SECONDS_IN_MINUTE x 9 const_set x 15 SECONDS_IN_HOUR n x 1 * x 16 test_constructor M 1 n n x 16 test_constructor i 154 7 0 7 1 7 2 35 3 56 3 50 4 0 15 7 1 4 60 49 5 1 4 60 49 5 1 19 0 15 45 6 7 13 71 8 47 9 59 47 49 9 0 13 20 0 4 25 49 5 1 7 1 47 49 10 2 15 8 71 20 0 4 25 49 5 1 7 1 49 8 2 19 1 15 5 4 25 20 1 49 11 0 47 49 12 2 15 5 78 20 1 49 13 0 47 49 12 2 15 5 78 20 1 49 14 0 47 49 12 2 15 5 78 20 1 49 15 0 47 49 12 2 15 5 20 0 4 25 49 5 1 20 1 49 16 0 47 49 12 2 15 5 7 1 20 1 49 17 0 47 49 12 2 11 I 6 I 2 I 0 I 0 n p 18 I 5622 I ac44 I 303a M 1 p 2 x 9 for_block t n x 16 test_constructor i 728 57 19 0 15 45 0 1 13 71 2 47 9 28 47 49 3 0 13 78 20 0 47 49 4 2 15 8 34 78 20 0 49 2 2 19 1 15 5 78 20 1 49 5 0 47 49 6 2 15 5 78 20 1 49 7 0 47 49 6 2 15 5 78 20 1 49 8 0 47 49 6 2 15 5 78 20 1 49 9 0 47 49 6 2 15 5 78 20 1 49 10 0 47 49 6 2 15 5 20 0 20 1 49 11 0 47 49 6 2 15 45 0 12 13 71 2 47 9 139 47 49 3 0 13 20 0 80 49 13 1 20 0 47 49 4 2 15 8 150 20 0 80 49 13 1 20 0 49 2 2 19 1 15 5 78 20 1 49 5 0 47 49 6 2 15 5 78 20 1 49 7 0 47 49 6 2 15 5 78 20 1 49 8 0 47 49 6 2 15 5 7 14 20 1 49 9 0 47 49 6 2 15 5 20 0 80 49 13 1 20 1 49 10 0 47 49 6 2 15 5 20 0 20 1 49 11 0 47 49 6 2 15 45 0 15 13 71 2 47 9 257 47 49 3 0 13 20 0 20 0 47 49 4 2 15 8 264 20 0 20 0 49 2 2 19 1 15 5 78 20 1 49 5 0 47 49 6 2 15 5 78 20 1 49 7 0 47 49 6 2 15 5 79 20 1 49 8 0 47 49 6 2 15 5 78 20 1 49 9 0 47 49 6 2 15 5 20 0 20 1 49 10 0 47 49 6 2 15 5 20 0 20 1 49 11 0 47 49 6 2 15 45 0 16 13 71 2 47 9 372 47 49 3 0 13 20 0 45 17 18 49 19 1 20 0 47 49 4 2 15 8 385 20 0 45 17 20 49 19 1 20 0 49 2 2 19 1 15 5 78 20 1 49 5 0 47 49 6 2 15 5 79 20 1 49 7 0 47 49 6 2 15 5 78 20 1 49 8 0 47 49 6 2 15 5 78 20 1 49 9 0 47 49 6 2 15 5 20 0 45 17 21 49 19 1 20 1 49 10 0 47 49 6 2 15 5 20 0 20 1 49 11 0 47 49 6 2 15 45 0 22 13 71 2 47 9 499 47 49 3 0 13 20 0 45 23 24 49 19 1 20 0 47 49 4 2 15 8 512 20 0 45 23 25 49 19 1 20 0 49 2 2 19 1 15 5 79 20 1 49 5 0 47 49 6 2 15 5 78 20 1 49 7 0 47 49 6 2 15 5 78 20 1 49 8 0 47 49 6 2 15 5 78 20 1 49 9 0 47 49 6 2 15 5 20 0 45 23 26 49 19 1 20 1 49 10 0 47 49 6 2 15 5 20 0 20 1 49 11 0 47 49 6 2 15 20 0 45 17 27 49 19 1 20 0 81 28 20 0 80 49 13 1 81 28 19 2 15 45 0 29 13 71 2 47 9 643 47 49 3 0 13 20 2 20 0 47 49 4 2 15 8 650 20 2 20 0 49 2 2 19 1 15 5 78 20 1 49 5 0 47 49 6 2 15 5 79 20 1 49 7 0 47 49 6 2 15 5 79 20 1 49 8 0 47 49 6 2 15 5 7 14 20 1 49 9 0 47 49 6 2 15 5 20 2 20 1 49 10 0 47 49 6 2 15 5 20 0 20 1 49 11 0 47 49 6 2 11 I 8 I 3 I 1 I 1 n p 30 x 8 Duration n x 3 new x 8 allocate x 10 initialize x 5 hours x 12 assert_equal x 7 minutes x 7 seconds x 12 milliseconds x 18 sample_frame_count x 11 sample_rate n x 1 / I 1f4 n n x 17 SECONDS_IN_MINUTE n x 1 * n n n x 15 SECONDS_IN_HOUR n n n n x 1 + n p 89 I 0 I c I 4 I d I 25 I e I 31 I f I 3d I 10 I 49 I 11 I 55 I 12 I 61 I 13 I 6e I 15 I 99 I 16 I a5 I 17 I b1 I 18 I bd I 19 I ca I 1a I db I 1b I e8 I 1d I 10b I 1e I 117 I 1f I 123 I 20 I 12f I 21 I 13b I 22 I 148 I 23 I 155 I 25 I 184 I 26 I 190 I 27 I 19c I 28 I 1a8 I 29 I 1b4 I 2a I 1c7 I 2b I 1d4 I 2d I 203 I 2e I 20f I 2f I 21b I 30 I 227 I 31 I 233 I 32 I 246 I 33 I 253 I 35 I 26a I 36 I 28d I 37 I 299 I 38 I 2a5 I 39 I 2b1 I 3a I 2be I 3b I 2cb I 3c I 2d8 x 36 /Code/wavefile/test/duration_test.rb p 3 x 11 sample_rate x 8 duration x 18 sample_frame_count x 4 each x 1 * x 8 Duration n x 3 new x 8 allocate x 10 initialize x 5 hours x 12 assert_equal x 7 minutes x 7 seconds x 12 milliseconds x 18 sample_frame_count x 11 sample_rate p 21 I -1 I a I 0 I c I e I 40 I 1d I 41 I 4a I 42 I 57 I 43 I 63 I 44 I 6f I 45 I 7b I 46 I 8d I 47 I 9a x 36 /Code/wavefile/test/duration_test.rb p 2 x 16 samples_per_hour x 8 duration x 17 method_visibility x 15 add_defn_method p 7 I 2 I 7 I b I 8 I 1a I a I 28 x 36 /Code/wavefile/test/duration_test.rb p 0 x 13 attach_method p 9 I 0 I 1 I 9 I 2 I 12 I 4 I 1b I 6 I 3e x 36 /Code/wavefile/test/duration_test.rb p 0 wavefile-0.6.0/test/wavefile_io_test_helper.rbc0000644000175000017500000002075512647143014020660 0ustar hannohanno!RBIX 17831730954501249321 x M 1 n n x 10 __script__ i 28 99 7 0 65 49 1 2 13 99 12 7 2 12 7 3 12 65 12 49 4 4 15 49 2 0 15 2 11 I 6 I 0 I 0 I 0 n p 5 x 20 WaveFileIOTestHelper x 11 open_module x 15 __module_init__ M 1 n n x 20 WaveFileIOTestHelper i 1235 5 66 65 7 0 44 43 1 4 3 49 2 1 13 7 3 79 49 4 2 15 13 7 5 80 49 4 2 15 13 7 6 4 3 49 4 2 15 49 7 2 15 65 7 8 44 43 1 78 49 2 1 49 7 2 15 45 8 9 7 3 44 43 1 78 49 2 1 13 18 3 49 4 2 15 15 45 8 10 7 3 49 11 1 7 12 4 88 4 88 4 88 4 88 4 167 4 167 4 167 4 167 35 8 13 18 3 49 4 2 15 15 45 8 13 7 3 49 11 1 7 14 7 15 7 15 7 15 7 15 7 16 7 16 7 16 7 16 35 8 13 18 3 49 4 2 15 15 45 8 17 7 3 49 11 1 7 18 7 19 7 19 7 19 7 19 7 20 7 20 7 20 7 20 35 8 13 18 3 49 4 2 15 15 45 8 21 7 3 49 11 1 7 22 7 23 7 23 7 23 7 23 7 24 7 24 7 24 7 24 35 8 13 18 3 49 4 2 15 15 45 8 25 7 3 49 11 1 7 26 7 27 49 28 0 7 29 49 28 0 7 30 49 28 0 7 31 49 28 0 7 32 7 33 7 34 7 35 35 8 13 18 3 49 4 2 15 15 45 8 36 7 3 49 11 1 7 37 45 8 38 7 3 49 11 1 7 26 49 11 1 13 18 3 49 4 2 15 15 45 8 39 7 5 44 43 1 78 49 2 1 13 18 3 49 4 2 15 15 45 8 40 7 5 49 11 1 7 12 4 88 4 88 35 2 4 88 4 88 35 2 4 88 4 88 35 2 4 88 4 88 35 2 4 167 4 167 35 2 4 167 4 167 35 2 4 167 4 167 35 2 4 167 4 167 35 2 35 8 13 18 3 49 4 2 15 15 45 8 41 7 5 49 11 1 7 14 7 15 7 15 35 2 7 15 7 15 35 2 7 15 7 15 35 2 7 15 7 15 35 2 7 16 7 16 35 2 7 16 7 16 35 2 7 16 7 16 35 2 7 16 7 16 35 2 35 8 13 18 3 49 4 2 15 15 45 8 42 7 5 49 11 1 7 18 7 19 7 19 35 2 7 19 7 19 35 2 7 19 7 19 35 2 7 19 7 19 35 2 7 20 7 20 35 2 7 20 7 20 35 2 7 20 7 20 35 2 7 20 7 20 35 2 35 8 13 18 3 49 4 2 15 15 45 8 43 7 5 49 11 1 7 22 7 23 7 23 35 2 7 23 7 23 35 2 7 23 7 23 35 2 7 23 7 23 35 2 7 24 7 24 35 2 7 24 7 24 35 2 7 24 7 24 35 2 7 24 7 24 35 2 35 8 13 18 3 49 4 2 15 15 45 8 44 7 5 49 11 1 7 26 7 45 49 28 0 7 46 49 28 0 35 2 7 47 49 28 0 7 48 49 28 0 35 2 7 49 49 28 0 7 50 49 28 0 35 2 7 51 49 28 0 7 52 49 28 0 35 2 7 53 7 54 35 2 7 55 7 56 35 2 7 57 7 58 35 2 7 59 7 60 35 2 35 8 13 18 3 49 4 2 15 15 45 8 61 7 5 49 11 1 7 37 45 8 62 7 5 49 11 1 7 26 49 11 1 13 18 3 49 4 2 15 15 45 8 63 7 6 44 43 1 78 49 2 1 13 18 3 49 4 2 15 15 45 8 64 7 6 49 11 1 7 12 4 88 4 88 4 88 35 3 4 88 4 88 4 88 35 3 4 88 4 88 4 88 35 3 4 88 4 88 4 88 35 3 4 167 4 167 4 167 35 3 4 167 4 167 4 167 35 3 4 167 4 167 4 167 35 3 4 167 4 167 4 167 35 3 35 8 13 18 3 49 4 2 15 15 45 8 65 7 6 49 11 1 7 14 7 15 7 15 7 15 35 3 7 15 7 15 7 15 35 3 7 15 7 15 7 15 35 3 7 15 7 15 7 15 35 3 7 16 7 16 7 16 35 3 7 16 7 16 7 16 35 3 7 16 7 16 7 16 35 3 7 16 7 16 7 16 35 3 35 8 13 18 3 49 4 2 15 15 45 8 66 7 6 49 11 1 7 18 7 19 7 19 7 19 35 3 7 19 7 19 7 19 35 3 7 19 7 19 7 19 35 3 7 19 7 19 7 19 35 3 7 20 7 20 7 20 35 3 7 20 7 20 7 20 35 3 7 20 7 20 7 20 35 3 7 20 7 20 7 20 35 3 35 8 13 18 3 49 4 2 15 15 45 8 67 7 6 49 11 1 7 22 7 23 7 23 7 23 35 3 7 23 7 23 7 23 35 3 7 23 7 23 7 23 35 3 7 23 7 23 7 23 35 3 7 24 7 24 7 24 35 3 7 24 7 24 7 24 35 3 7 24 7 24 7 24 35 3 7 24 7 24 7 24 35 3 35 8 13 18 3 49 4 2 15 15 45 8 68 7 6 49 11 1 7 26 7 69 49 28 0 7 70 49 28 0 7 71 49 28 0 35 3 7 72 49 28 0 7 73 49 28 0 7 74 49 28 0 35 3 7 75 49 28 0 7 76 49 28 0 7 77 49 28 0 35 3 7 78 49 28 0 7 79 49 28 0 7 80 49 28 0 35 3 7 81 7 82 7 83 35 3 7 84 7 85 7 86 35 3 7 87 7 88 7 89 35 3 7 90 7 91 7 92 35 3 35 8 13 18 3 49 4 2 15 15 45 8 93 7 6 49 11 1 7 37 45 8 94 7 6 49 11 1 7 26 49 11 1 13 18 3 49 4 2 15 15 99 7 95 7 96 65 67 49 97 0 49 98 4 11 I c I 0 I 0 I 0 n p 99 x 13 CHANNEL_ALIAS x 4 Hash x 16 new_from_literal x 4 mono x 3 []= x 6 stereo x 3 tri x 9 const_set x 17 SQUARE_WAVE_CYCLE n n x 2 [] x 5 pcm_8 n x 6 pcm_16 I -2710 I 2710 n x 6 pcm_24 I -f4240 I f4240 n x 6 pcm_32 I -3b9aca00 I 3b9aca00 n x 8 float_32 d +0.500000000000000000000000000000000000000000000000000000 0 x 2 -@ d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 n x 8 float_64 n n n n n n n d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 n n n n n n n n d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 n n x 17 exhaustively_test M 1 n n x 17 exhaustively_test i 14 7 0 7 1 7 2 35 3 56 3 50 4 0 11 I 3 I 0 I 0 I 0 n p 5 x 4 mono x 6 stereo x 3 tri M 1 p 2 x 9 for_block t n x 17 exhaustively_test i 16 57 19 0 15 7 0 7 1 35 2 56 2 50 3 0 11 I 4 I 1 I 1 I 1 n p 4 x 3 pcm x 5 float M 1 p 2 x 9 for_block t n x 17 exhaustively_test i 20 57 19 0 15 45 0 1 43 2 20 0 49 3 1 56 4 50 5 0 11 I 4 I 1 I 1 I 1 n p 6 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 2 [] M 1 p 2 x 9 for_block t n x 17 exhaustively_test i 28 57 19 0 15 21 2 0 21 1 0 47 101 0 7 1 20 0 47 101 0 63 3 49 2 0 60 2 11 I 6 I 1 I 1 I 1 n p 3 x 4 to_s s 1 _ x 6 to_sym p 5 I 0 I 3a I 4 I 3b I 1c x 46 /Code/wavefile/test/wavefile_io_test_helper.rb p 1 x 15 bits_per_sample x 4 each p 5 I 0 I 39 I 4 I 3a I 14 x 46 /Code/wavefile/test/wavefile_io_test_helper.rb p 1 x 13 sample_format x 4 each p 5 I 0 I 38 I 4 I 39 I 10 x 46 /Code/wavefile/test/wavefile_io_test_helper.rb p 1 x 8 channels x 4 each p 5 I -1 I 37 I 0 I 38 I e x 46 /Code/wavefile/test/wavefile_io_test_helper.rb p 0 x 17 method_visibility x 15 add_defn_method p 95 I 2 I 2 I 2a I 4 I 38 I 5 I 4c I 7 I 70 I 8 I 94 I 9 I b8 I a I ca I b I dc I c I 10c I d I 12b I f I 13f I 10 I 161 I 11 I 183 I 12 I 1a5 I 13 I 1c7 I 14 I 1e9 I 15 I 20b I 16 I 221 I 17 I 22d I 18 I 239 I 19 I 24f I 1a I 289 I 1b I 2ab I 1c I 2ca I 1e I 2de I 1f I 308 I 20 I 332 I 21 I 34c I 22 I 35c I 23 I 36c I 24 I 386 I 25 I 3a0 I 26 I 3b0 I 27 I 3c0 I 28 I 3da I 29 I 3ec I 2a I 3f4 I 2b I 3fc I 2c I 404 I 2d I 40c I 2e I 414 I 2f I 41c I 30 I 42e I 31 I 47c I 32 I 4a6 I 33 I 4c5 I 37 I 4d3 x 46 /Code/wavefile/test/wavefile_io_test_helper.rb p 0 x 13 attach_method p 3 I 0 I 1 I 1c x 46 /Code/wavefile/test/wavefile_io_test_helper.rb p 0 wavefile-0.6.0/test/buffer_test.rbc0000644000175000017500000022550512647143014016301 0ustar hannohanno!RBIX 17831730954501249321 x M 1 n n x 10 __script__ i 62 5 7 0 64 47 49 1 1 15 5 7 2 64 47 49 1 1 15 5 45 3 4 47 49 5 1 15 99 7 6 45 7 8 43 9 43 10 65 49 11 3 13 99 12 7 12 12 7 13 12 65 12 49 14 4 15 49 12 0 15 2 11 I 6 I 0 I 0 I 0 n p 15 s 9 test/unit x 7 require s 11 wavefile.rb x 8 WaveFile n x 7 include x 10 BufferTest x 4 Test n x 4 Unit x 8 TestCase x 10 open_class x 14 __class_init__ M 1 n n x 10 BufferTest i 338 5 66 99 7 0 7 1 65 67 49 2 0 49 3 4 15 99 7 4 7 5 65 67 49 2 0 49 3 4 15 99 7 6 7 7 65 67 49 2 0 49 3 4 15 99 7 8 7 9 65 67 49 2 0 49 3 4 15 99 7 10 7 11 65 67 49 2 0 49 3 4 15 99 7 12 7 13 65 67 49 2 0 49 3 4 15 99 7 14 7 15 65 67 49 2 0 49 3 4 15 99 7 16 7 17 65 67 49 2 0 49 3 4 15 99 7 18 7 19 65 67 49 2 0 49 3 4 15 99 7 20 7 21 65 67 49 2 0 49 3 4 15 99 7 22 7 23 65 67 49 2 0 49 3 4 15 99 7 24 7 25 65 67 49 2 0 49 3 4 15 99 7 26 7 27 65 67 49 2 0 49 3 4 15 99 7 28 7 29 65 67 49 2 0 49 3 4 15 99 7 30 7 31 65 67 49 2 0 49 3 4 15 99 7 32 7 33 65 67 49 2 0 49 3 4 15 99 7 34 7 35 65 67 49 2 0 49 3 4 15 99 7 36 7 37 65 67 49 2 0 49 3 4 15 99 7 38 7 39 65 67 49 2 0 49 3 4 15 99 7 40 7 41 65 67 49 2 0 49 3 4 15 99 7 42 7 43 65 67 49 2 0 49 3 4 15 99 7 44 7 45 65 67 49 2 0 49 3 4 15 99 7 46 7 47 65 67 49 2 0 49 3 4 15 99 7 48 7 49 65 67 49 2 0 49 3 4 11 I 5 I 0 I 0 I 0 n p 50 x 12 test_convert M 1 n n x 12 test_convert i 256 45 0 1 13 71 2 47 9 27 47 49 3 0 13 7 4 7 5 7 6 47 49 7 3 15 8 36 7 4 7 5 7 6 49 2 3 19 0 15 45 0 8 13 71 2 47 9 66 47 49 3 0 13 7 9 7 5 7 10 47 49 7 3 15 8 75 7 9 7 5 7 10 49 2 3 19 1 15 45 11 12 13 71 2 47 9 108 47 49 3 0 13 7 13 78 4 200 35 3 20 0 47 49 7 2 15 8 120 7 13 78 4 200 35 3 20 0 49 2 2 19 2 15 20 2 20 1 49 14 1 19 3 15 5 7 13 78 4 200 35 3 20 2 49 15 0 47 49 16 2 15 5 79 20 2 49 17 0 47 49 16 2 15 5 4 16 20 2 49 18 0 47 49 16 2 15 5 7 6 20 2 49 19 0 47 49 16 2 15 5 7 13 7 13 35 2 78 78 35 2 4 200 4 200 35 2 35 3 20 3 49 15 0 47 49 16 2 15 5 80 20 3 49 17 0 47 49 16 2 15 5 4 16 20 3 49 18 0 47 49 16 2 15 5 7 10 20 3 49 19 0 47 49 16 2 11 I 9 I 4 I 0 I 0 n p 20 x 6 Format n x 3 new x 8 allocate x 4 mono x 6 pcm_16 I ac44 x 10 initialize n x 6 stereo I 5622 x 6 Buffer n I -64 x 7 convert x 7 samples x 12 assert_equal x 8 channels x 15 bits_per_sample x 11 sample_rate p 27 I -1 I 7 I 0 I 8 I 27 I 9 I 4e I b I 7b I c I 85 I e I 97 I f I a3 I 10 I b0 I 11 I bd I 13 I da I 14 I e6 I 15 I f3 I 16 I 100 x 34 /Code/wavefile/test/buffer_test.rb p 4 x 10 old_format x 10 new_format x 10 old_buffer x 10 new_buffer x 17 method_visibility x 15 add_defn_method x 13 test_convert! M 1 n n x 13 test_convert! i 213 45 0 1 13 71 2 47 9 27 47 49 3 0 13 7 4 7 5 7 6 47 49 7 3 15 8 36 7 4 7 5 7 6 49 2 3 19 0 15 45 0 8 13 71 2 47 9 66 47 49 3 0 13 7 9 7 5 7 10 47 49 7 3 15 8 75 7 9 7 5 7 10 49 2 3 19 1 15 45 11 12 13 71 2 47 9 108 47 49 3 0 13 7 13 78 4 200 35 3 20 0 47 49 7 2 15 8 120 7 13 78 4 200 35 3 20 0 49 2 2 19 2 15 20 2 20 1 49 14 1 19 3 15 5 20 2 20 3 49 15 1 47 49 16 1 15 5 7 13 7 13 35 2 78 78 35 2 4 200 4 200 35 2 35 3 20 2 49 17 0 47 49 18 2 15 5 80 20 2 49 19 0 47 49 18 2 15 5 4 16 20 2 49 20 0 47 49 18 2 15 5 7 10 20 2 49 21 0 47 49 18 2 11 I 9 I 4 I 0 I 0 n p 22 x 6 Format n x 3 new x 8 allocate x 4 mono x 6 pcm_16 I ac44 x 10 initialize n x 6 stereo I 5622 x 6 Buffer n I -64 x 8 convert! x 6 equal? x 6 assert x 7 samples x 12 assert_equal x 8 channels x 15 bits_per_sample x 11 sample_rate p 21 I -1 I 19 I 0 I 1a I 27 I 1b I 4e I 1d I 7b I 1e I 85 I 20 I 92 I 21 I af I 22 I bb I 23 I c8 I 24 I d5 x 34 /Code/wavefile/test/buffer_test.rb p 4 x 10 old_format x 10 new_format x 10 old_buffer x 10 new_buffer x 28 test_convert_buffer_channels M 1 n n x 28 test_convert_buffer_channels i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 3 pcm x 2 [] M 1 p 2 x 9 for_block t n x 28 test_convert_buffer_channels i 16 57 19 0 15 7 0 7 1 35 2 56 2 50 3 0 11 I 4 I 1 I 1 I 1 n p 4 I ac44 I 5622 M 1 p 2 x 9 for_block t n x 28 test_convert_buffer_channels i 1396 57 19 0 15 45 0 1 13 71 2 47 9 70 47 49 3 0 13 7 4 78 4 200 35 3 45 5 6 13 71 2 47 9 53 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 63 7 7 21 1 0 20 0 49 2 3 47 49 8 2 15 8 118 7 4 78 4 200 35 3 45 5 9 13 71 2 47 9 105 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 115 7 7 21 1 0 20 0 49 2 3 49 2 2 19 1 15 20 1 45 5 10 13 71 2 47 9 151 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 161 7 7 21 1 0 20 0 49 2 3 49 11 1 15 5 7 4 78 4 200 35 3 20 1 49 12 0 47 49 13 2 15 45 0 14 13 71 2 47 9 249 47 49 3 0 13 7 4 78 4 200 35 3 45 5 15 13 71 2 47 9 232 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 242 7 7 21 1 0 20 0 49 2 3 47 49 8 2 15 8 297 7 4 78 4 200 35 3 45 5 16 13 71 2 47 9 284 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 294 7 7 21 1 0 20 0 49 2 3 49 2 2 19 1 15 20 1 45 5 17 13 71 2 47 9 330 47 49 3 0 13 7 18 21 1 0 20 0 47 49 8 3 15 8 340 7 18 21 1 0 20 0 49 2 3 49 11 1 15 5 7 4 7 4 35 2 78 78 35 2 4 200 4 200 35 2 35 3 20 1 49 12 0 47 49 13 2 15 45 0 19 13 71 2 47 9 439 47 49 3 0 13 7 4 78 4 200 35 3 45 5 20 13 71 2 47 9 422 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 432 7 7 21 1 0 20 0 49 2 3 47 49 8 2 15 8 487 7 4 78 4 200 35 3 45 5 21 13 71 2 47 9 474 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 484 7 7 21 1 0 20 0 49 2 3 49 2 2 19 1 15 20 1 45 5 22 13 71 2 47 9 520 47 49 3 0 13 4 3 21 1 0 20 0 47 49 8 3 15 8 530 4 3 21 1 0 20 0 49 2 3 49 11 1 15 5 7 4 7 4 7 4 35 3 78 78 78 35 3 4 200 4 200 4 200 35 3 35 3 20 1 49 12 0 47 49 13 2 15 45 0 23 13 71 2 47 9 650 47 49 3 0 13 7 4 7 4 35 2 78 78 35 2 4 200 4 50 35 2 4 8 79 35 2 35 4 45 5 24 13 71 2 47 9 633 47 49 3 0 13 7 18 21 1 0 20 0 47 49 8 3 15 8 643 7 18 21 1 0 20 0 49 2 3 47 49 8 2 15 8 714 7 4 7 4 35 2 78 78 35 2 4 200 4 50 35 2 4 8 79 35 2 35 4 45 5 25 13 71 2 47 9 701 47 49 3 0 13 7 18 21 1 0 20 0 47 49 8 3 15 8 711 7 18 21 1 0 20 0 49 2 3 49 2 2 19 1 15 20 1 45 5 26 13 71 2 47 9 747 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 757 7 7 21 1 0 20 0 49 2 3 49 11 1 15 5 7 4 78 4 125 4 4 35 4 20 1 49 12 0 47 49 13 2 15 45 0 27 13 71 2 47 9 875 47 49 3 0 13 7 4 7 4 7 4 35 3 78 78 78 35 3 4 200 4 50 7 28 35 3 4 5 79 79 35 3 4 5 79 80 35 3 35 5 45 5 29 13 71 2 47 9 858 47 49 3 0 13 4 3 21 1 0 20 0 47 49 8 3 15 8 868 4 3 21 1 0 20 0 49 2 3 47 49 8 2 15 8 951 7 4 7 4 7 4 35 3 78 78 78 35 3 4 200 4 50 7 28 35 3 4 5 79 79 35 3 4 5 79 80 35 3 35 5 45 5 30 13 71 2 47 9 938 47 49 3 0 13 4 3 21 1 0 20 0 47 49 8 3 15 8 948 4 3 21 1 0 20 0 49 2 3 49 2 2 19 1 15 20 1 45 5 31 13 71 2 47 9 984 47 49 3 0 13 7 7 21 1 0 20 0 47 49 8 3 15 8 994 7 7 21 1 0 20 0 49 2 3 49 11 1 15 5 7 4 78 7 32 80 80 35 5 20 1 49 12 0 47 49 13 2 15 45 0 33 13 71 2 47 9 1101 47 49 3 0 13 7 4 7 4 7 4 35 3 79 80 4 3 35 3 4 200 4 50 7 28 35 3 35 3 45 5 34 13 71 2 47 9 1084 47 49 3 0 13 4 3 21 1 0 20 0 47 49 8 3 15 8 1094 4 3 21 1 0 20 0 49 2 3 47 49 8 2 15 8 1166 7 4 7 4 7 4 35 3 79 80 4 3 35 3 4 200 4 50 7 28 35 3 35 3 45 5 35 13 71 2 47 9 1153 47 49 3 0 13 4 3 21 1 0 20 0 47 49 8 3 15 8 1163 4 3 21 1 0 20 0 49 2 3 49 2 2 19 1 15 20 1 45 5 36 13 71 2 47 9 1199 47 49 3 0 13 7 18 21 1 0 20 0 47 49 8 3 15 8 1209 7 18 21 1 0 20 0 49 2 3 49 11 1 15 5 7 4 7 4 35 2 79 80 35 2 4 200 4 50 35 2 35 3 20 1 49 12 0 47 49 13 2 15 45 0 37 13 71 2 47 9 1321 47 49 3 0 13 7 4 4 200 7 38 7 39 35 4 79 80 4 3 4 4 35 4 35 2 45 5 40 13 71 2 47 9 1304 47 49 3 0 13 4 4 21 1 0 20 0 47 49 8 3 15 8 1314 4 4 21 1 0 20 0 49 2 3 47 49 8 2 15 8 1382 7 4 4 200 7 38 7 39 35 4 79 80 4 3 4 4 35 4 35 2 45 5 41 13 71 2 47 9 1369 47 49 3 0 13 4 4 21 1 0 20 0 47 49 8 3 15 8 1379 4 4 21 1 0 20 0 49 2 3 49 2 2 19 1 15 5 45 42 43 56 44 47 50 45 1 11 I c I 2 I 1 I 1 n p 46 x 6 Buffer n x 3 new x 8 allocate I -64 x 6 Format n x 4 mono x 10 initialize n n x 8 convert! x 7 samples x 12 assert_equal n n n n x 6 stereo n n n n n n n n n I 28a n n n I 12c n n n n n I -12c I 190 n n x 21 BufferConversionError n M 1 p 2 x 9 for_block t n x 28 test_convert_buffer_channels i 47 21 1 1 45 0 1 13 71 2 47 9 32 47 49 3 0 13 4 3 21 2 0 21 1 0 47 49 4 3 15 8 43 4 3 21 2 0 21 1 0 49 2 3 49 5 1 11 I 7 I 0 I 0 I 0 I -2 p 6 x 6 Format n x 3 new x 8 allocate x 10 initialize x 8 convert! p 3 I 0 I 4e I 2f x 34 /Code/wavefile/test/buffer_test.rb p 0 x 12 assert_raise p 67 I 0 I 2a I 4 I 2c I 79 I 2d I a5 I 2e I b7 I 31 I 12c I 32 I 158 I 33 I 175 I 36 I 1ea I 37 I 216 I 38 I 238 I 3b I 2cd I 3c I 2f9 I 3d I 30d I 40 I 33e I 41 I 36b I 40 I 38e I 41 I 3b7 I 40 I 3ba I 42 I 3e6 I 43 I 3fa I 46 I 420 I 47 I 44d I 46 I 465 I 47 I 48e I 46 I 491 I 48 I 4bd I 49 I 4da I 4c I 4fc I 4d I 529 I 4c I 53d I 4d I 566 I 4c I 569 I 4e I 574 x 34 /Code/wavefile/test/buffer_test.rb p 2 x 11 sample_rate x 1 b x 4 each p 5 I 0 I 29 I 4 I 2a I 10 x 34 /Code/wavefile/test/buffer_test.rb p 1 x 15 bits_per_sample x 4 each p 5 I -1 I 28 I 0 I 29 I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 41 test_convert_buffer_bits_per_sample_no_op M 1 n n x 41 test_convert_buffer_bits_per_sample_no_op i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 3 pcm x 2 [] M 1 p 2 x 9 for_block t n x 41 test_convert_buffer_bits_per_sample_no_op i 177 57 19 0 15 45 0 1 13 71 2 47 9 68 47 49 3 0 13 78 4 128 4 255 35 3 45 4 5 13 71 2 47 9 52 47 49 3 0 13 7 6 20 0 7 7 47 49 8 3 15 8 61 7 6 20 0 7 7 49 2 3 47 49 8 2 15 8 114 78 4 128 4 255 35 3 45 4 9 13 71 2 47 9 102 47 49 3 0 13 7 6 20 0 7 7 47 49 8 3 15 8 111 7 6 20 0 7 7 49 2 3 49 2 2 19 1 15 20 1 45 4 10 13 71 2 47 9 146 47 49 3 0 13 7 6 20 0 7 7 47 49 8 3 15 8 155 7 6 20 0 7 7 49 2 3 49 11 1 15 5 78 4 128 4 255 35 3 20 1 49 12 0 47 49 13 2 11 I b I 2 I 1 I 1 n p 14 x 6 Buffer n x 3 new x 8 allocate x 6 Format n x 4 mono I ac44 x 10 initialize n n x 8 convert! x 7 samples x 12 assert_equal p 9 I 0 I 54 I 4 I 55 I 75 I 56 I 9f I 59 I b1 x 34 /Code/wavefile/test/buffer_test.rb p 2 x 15 bits_per_sample x 1 b x 4 each p 5 I -1 I 53 I 0 I 54 I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 43 test_convert_buffer_bits_per_sample_8_to_16 M 1 n n x 43 test_convert_buffer_bits_per_sample_8_to_16 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 45 4 5 13 71 2 47 9 60 47 49 3 0 13 7 6 7 7 7 8 47 49 9 3 15 8 69 7 6 7 7 7 8 49 2 3 47 49 9 2 15 8 134 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 45 4 10 13 71 2 47 9 122 47 49 3 0 13 7 6 7 7 7 8 47 49 9 3 15 8 131 7 6 7 7 7 8 49 2 3 49 2 2 19 0 15 20 0 45 4 11 13 71 2 47 9 166 47 49 3 0 13 7 6 7 12 7 8 47 49 9 3 15 8 175 7 6 7 12 7 8 49 2 3 49 13 1 15 5 7 14 7 15 7 16 7 17 78 7 18 7 19 7 20 7 21 35 9 20 0 49 22 0 47 49 23 2 15 45 0 24 13 71 2 47 9 320 47 49 3 0 13 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 45 4 25 13 71 2 47 9 304 47 49 3 0 13 7 26 7 7 7 8 47 49 9 3 15 8 313 7 26 7 7 7 8 49 2 3 47 49 9 2 15 8 413 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 45 4 27 13 71 2 47 9 401 47 49 3 0 13 7 26 7 7 7 8 47 49 9 3 15 8 410 7 26 7 7 7 8 49 2 3 49 2 2 19 0 15 20 0 45 4 28 13 71 2 47 9 445 47 49 3 0 13 7 26 7 12 7 8 47 49 9 3 15 8 454 7 26 7 12 7 8 49 2 3 49 13 1 15 5 7 14 7 21 35 2 7 15 7 20 35 2 7 16 7 19 35 2 7 17 7 18 35 2 78 78 35 2 7 18 7 17 35 2 7 19 7 16 35 2 7 20 7 15 35 2 7 21 7 14 35 2 35 9 20 0 49 22 0 47 49 23 2 11 I d I 1 I 0 I 0 n p 29 x 6 Buffer n x 3 new x 8 allocate x 6 Format n x 4 mono x 5 pcm_8 I ac44 x 10 initialize n n x 6 pcm_16 x 8 convert! I -8000 I -6000 I -4000 I -2000 I 2000 I 4000 I 5f00 I 7f00 x 7 samples x 12 assert_equal n n x 6 stereo n n p 35 I -1 I 5d I 0 I 5f I 89 I 60 I b3 I 61 I d1 I 64 I fc I 65 I 115 I 66 I 140 I 64 I 15d I 65 I 176 I 66 I 19d I 64 I 1a0 I 67 I 1ca I 69 I 1cb I 68 I 1e7 I 69 I 201 I 6a I 206 I 69 I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 43 test_convert_buffer_bits_per_sample_8_to_24 M 1 n n x 43 test_convert_buffer_bits_per_sample_8_to_24 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 45 4 5 13 71 2 47 9 60 47 49 3 0 13 7 6 7 7 7 8 47 49 9 3 15 8 69 7 6 7 7 7 8 49 2 3 47 49 9 2 15 8 134 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 45 4 10 13 71 2 47 9 122 47 49 3 0 13 7 6 7 7 7 8 47 49 9 3 15 8 131 7 6 7 7 7 8 49 2 3 49 2 2 19 0 15 20 0 45 4 11 13 71 2 47 9 166 47 49 3 0 13 7 6 7 12 7 8 47 49 9 3 15 8 175 7 6 7 12 7 8 49 2 3 49 13 1 15 5 7 14 7 15 7 16 7 17 78 7 18 7 19 7 20 7 21 35 9 20 0 49 22 0 47 49 23 2 15 45 0 24 13 71 2 47 9 320 47 49 3 0 13 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 45 4 25 13 71 2 47 9 304 47 49 3 0 13 7 26 7 7 7 8 47 49 9 3 15 8 313 7 26 7 7 7 8 49 2 3 47 49 9 2 15 8 413 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 45 4 27 13 71 2 47 9 401 47 49 3 0 13 7 26 7 7 7 8 47 49 9 3 15 8 410 7 26 7 7 7 8 49 2 3 49 2 2 19 0 15 20 0 45 4 28 13 71 2 47 9 445 47 49 3 0 13 7 26 7 12 7 8 47 49 9 3 15 8 454 7 26 7 12 7 8 49 2 3 49 13 1 15 5 7 14 7 21 35 2 7 15 7 20 35 2 7 16 7 19 35 2 7 17 7 18 35 2 78 78 35 2 7 18 7 17 35 2 7 19 7 16 35 2 7 20 7 15 35 2 7 21 7 14 35 2 35 9 20 0 49 22 0 47 49 23 2 11 I d I 1 I 0 I 0 n p 29 x 6 Buffer n x 3 new x 8 allocate x 6 Format n x 4 mono x 5 pcm_8 I ac44 x 10 initialize n n x 6 pcm_24 x 8 convert! I -800000 I -600000 I -400000 I -200000 I 200000 I 400000 I 5f0000 I 7f0000 x 7 samples x 12 assert_equal n n x 6 stereo n n p 35 I -1 I 6d I 0 I 6f I 89 I 70 I b3 I 71 I d1 I 74 I fc I 75 I 115 I 76 I 140 I 74 I 15d I 75 I 176 I 76 I 19d I 74 I 1a0 I 77 I 1ca I 79 I 1cb I 78 I 1e7 I 79 I 201 I 7a I 206 I 79 I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 43 test_convert_buffer_bits_per_sample_8_to_32 M 1 n n x 43 test_convert_buffer_bits_per_sample_8_to_32 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 45 4 5 13 71 2 47 9 60 47 49 3 0 13 7 6 7 7 7 8 47 49 9 3 15 8 69 7 6 7 7 7 8 49 2 3 47 49 9 2 15 8 134 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 45 4 10 13 71 2 47 9 122 47 49 3 0 13 7 6 7 7 7 8 47 49 9 3 15 8 131 7 6 7 7 7 8 49 2 3 49 2 2 19 0 15 20 0 45 4 11 13 71 2 47 9 166 47 49 3 0 13 7 6 7 12 7 8 47 49 9 3 15 8 175 7 6 7 12 7 8 49 2 3 49 13 1 15 5 7 14 7 15 7 16 7 17 78 7 18 7 19 7 20 7 21 35 9 20 0 49 22 0 47 49 23 2 15 45 0 24 13 71 2 47 9 320 47 49 3 0 13 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 45 4 25 13 71 2 47 9 304 47 49 3 0 13 7 26 7 7 7 8 47 49 9 3 15 8 313 7 26 7 7 7 8 49 2 3 47 49 9 2 15 8 413 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 45 4 27 13 71 2 47 9 401 47 49 3 0 13 7 26 7 7 7 8 47 49 9 3 15 8 410 7 26 7 7 7 8 49 2 3 49 2 2 19 0 15 20 0 45 4 28 13 71 2 47 9 445 47 49 3 0 13 7 26 7 12 7 8 47 49 9 3 15 8 454 7 26 7 12 7 8 49 2 3 49 13 1 15 5 7 14 7 21 35 2 7 15 7 20 35 2 7 16 7 19 35 2 7 17 7 18 35 2 78 78 35 2 7 18 7 17 35 2 7 19 7 16 35 2 7 20 7 15 35 2 7 21 7 14 35 2 35 9 20 0 49 22 0 47 49 23 2 11 I d I 1 I 0 I 0 n p 29 x 6 Buffer n x 3 new x 8 allocate x 6 Format n x 4 mono x 5 pcm_8 I ac44 x 10 initialize n n x 6 pcm_32 x 8 convert! I -80000000 I -60000000 I -40000000 I -20000000 I 20000000 I 40000000 I 5f000000 I 7f000000 x 7 samples x 12 assert_equal n n x 6 stereo n n p 35 I -1 I 7d I 0 I 7f I 89 I 80 I b3 I 81 I d1 I 84 I fc I 85 I 115 I 86 I 140 I 84 I 15d I 85 I 176 I 86 I 19d I 84 I 1a0 I 87 I 1ca I 89 I 1cb I 88 I 1e7 I 89 I 201 I 8a I 206 I 89 I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 46 test_convert_buffer_bits_per_sample_8_to_float M 1 n n x 46 test_convert_buffer_bits_per_sample_8_to_float i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 5 float x 2 [] M 1 p 2 x 9 for_block t n x 46 test_convert_buffer_bits_per_sample_8_to_float i 581 57 19 0 15 7 0 20 0 47 101 1 63 2 49 2 0 19 1 15 45 3 4 13 71 5 47 9 95 47 49 6 0 13 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 45 7 8 13 71 5 47 9 79 47 49 6 0 13 7 9 7 10 7 11 47 49 12 3 15 8 88 7 9 7 10 7 11 49 5 3 47 49 12 2 15 8 153 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 45 7 13 13 71 5 47 9 141 47 49 6 0 13 7 9 7 10 7 11 47 49 12 3 15 8 150 7 9 7 10 7 11 49 5 3 49 5 2 19 2 15 20 2 45 7 14 13 71 5 47 9 185 47 49 6 0 13 7 9 20 1 7 11 47 49 12 3 15 8 194 7 9 20 1 7 11 49 5 3 49 15 1 15 5 7 16 49 17 0 7 18 49 17 0 7 19 49 17 0 7 20 49 17 0 7 21 7 22 7 23 7 24 7 25 35 9 20 2 49 26 0 47 49 27 2 15 45 3 28 13 71 5 47 9 352 47 49 6 0 13 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 45 7 29 13 71 5 47 9 336 47 49 6 0 13 7 30 7 10 7 11 47 49 12 3 15 8 345 7 30 7 10 7 11 49 5 3 47 49 12 2 15 8 445 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 45 7 31 13 71 5 47 9 433 47 49 6 0 13 7 30 7 10 7 11 47 49 12 3 15 8 442 7 30 7 10 7 11 49 5 3 49 5 2 19 2 15 20 2 45 7 32 13 71 5 47 9 477 47 49 6 0 13 7 30 20 1 7 11 47 49 12 3 15 8 486 7 30 20 1 7 11 49 5 3 49 15 1 15 5 7 33 49 17 0 7 34 35 2 7 35 49 17 0 7 36 35 2 7 37 49 17 0 7 38 35 2 7 39 49 17 0 7 40 35 2 7 41 7 42 35 2 7 43 7 44 49 17 0 35 2 7 45 7 46 49 17 0 35 2 7 47 7 48 49 17 0 35 2 7 49 7 50 49 17 0 35 2 35 9 20 2 49 26 0 47 49 27 2 11 I 10 I 3 I 1 I 1 n p 51 s 6 float_ x 4 to_s x 6 to_sym x 6 Buffer n x 3 new x 8 allocate x 6 Format n x 4 mono x 5 pcm_8 I ac44 x 10 initialize n n x 8 convert! d +0.500000000000000000000000000000000000000000000000000000 1 x 2 -@ d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.742187500000000000000000000000000000000000000000000000 0 d +0.992187500000000000000000000000000000000000000000000000 0 x 7 samples x 12 assert_equal n n x 6 stereo n n d +0.500000000000000000000000000000000000000000000000000000 1 d +0.992187500000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.742187500000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.742187500000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.992187500000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 p 37 I 0 I 8e I 4 I 8f I 13 I 92 I 9c I 93 I c6 I 94 I f1 I 97 I 11c I 98 I 135 I 99 I 160 I 97 I 17d I 98 I 196 I 99 I 1bd I 97 I 1c0 I 9a I 1ea I 9c I 1eb I 9b I 215 I 9c I 23b I 9d I 240 I 9c I 245 x 34 /Code/wavefile/test/buffer_test.rb p 3 x 15 bits_per_sample x 12 float_format x 1 b x 4 each p 5 I -1 I 8d I 0 I 8e I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 43 test_convert_buffer_bits_per_sample_16_to_8 M 1 n n x 43 test_convert_buffer_bits_per_sample_16_to_8 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 20 0 49 22 0 47 49 23 2 15 45 0 24 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 25 13 71 2 47 9 304 47 49 3 0 13 7 26 7 15 7 16 47 49 17 3 15 8 313 7 26 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 27 13 71 2 47 9 401 47 49 3 0 13 7 26 7 15 7 16 47 49 17 3 15 8 410 7 26 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 28 13 71 2 47 9 445 47 49 3 0 13 7 26 7 20 7 16 47 49 17 3 15 8 454 7 26 7 20 7 16 49 2 3 49 21 1 15 5 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 20 0 49 22 0 47 49 23 2 11 I d I 1 I 0 I 0 n p 29 x 6 Buffer n x 3 new x 8 allocate I -8000 I -6000 I -4000 I -2000 I 2000 I 4000 I 5fff I 7fff x 6 Format n x 4 mono x 6 pcm_16 I ac44 x 10 initialize n n x 5 pcm_8 x 8 convert! x 7 samples x 12 assert_equal n n x 6 stereo n n p 35 I -1 I a1 I 0 I a3 I 89 I a4 I b3 I a5 I d1 I a8 I fb I a9 I 115 I aa I 140 I a8 I 15c I a9 I 176 I aa I 19d I a8 I 1a0 I ab I 1ca I ad I 1cb I ac I 1e8 I ad I 201 I ae I 206 I ad I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 44 test_convert_buffer_bits_per_sample_16_to_24 M 1 n n x 44 test_convert_buffer_bits_per_sample_16_to_24 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 23 7 24 7 25 78 7 26 7 27 7 28 7 29 35 9 20 0 49 30 0 47 49 31 2 15 45 0 32 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 33 13 71 2 47 9 304 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 313 7 34 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 35 13 71 2 47 9 401 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 410 7 34 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 36 13 71 2 47 9 445 47 49 3 0 13 7 34 7 20 7 16 47 49 17 3 15 8 454 7 34 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 29 35 2 7 23 7 28 35 2 7 24 7 27 35 2 7 25 7 26 35 2 78 78 35 2 7 26 7 25 35 2 7 27 7 24 35 2 7 28 7 23 35 2 7 29 7 22 35 2 35 9 20 0 49 30 0 47 49 31 2 11 I d I 1 I 0 I 0 n p 37 x 6 Buffer n x 3 new x 8 allocate I -8000 I -6000 I -4000 I -2000 I 2000 I 4000 I 5fff I 7fff x 6 Format n x 4 mono x 6 pcm_16 I ac44 x 10 initialize n n x 6 pcm_24 x 8 convert! I -800000 I -600000 I -400000 I -200000 I 200000 I 400000 I 5fff00 I 7fff00 x 7 samples x 12 assert_equal n n x 6 stereo n n p 35 I -1 I b1 I 0 I b3 I 89 I b4 I b3 I b5 I d1 I b8 I fb I b9 I 115 I ba I 140 I b8 I 15c I b9 I 176 I ba I 19d I b8 I 1a0 I bb I 1ca I bd I 1cb I bc I 1e7 I bd I 201 I be I 206 I bd I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 44 test_convert_buffer_bits_per_sample_16_to_32 M 1 n n x 44 test_convert_buffer_bits_per_sample_16_to_32 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 23 7 24 7 25 78 7 26 7 27 7 28 7 29 35 9 20 0 49 30 0 47 49 31 2 15 45 0 32 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 33 13 71 2 47 9 304 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 313 7 34 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 35 13 71 2 47 9 401 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 410 7 34 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 36 13 71 2 47 9 445 47 49 3 0 13 7 34 7 20 7 16 47 49 17 3 15 8 454 7 34 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 29 35 2 7 23 7 28 35 2 7 24 7 27 35 2 7 25 7 26 35 2 78 78 35 2 7 26 7 25 35 2 7 27 7 24 35 2 7 28 7 23 35 2 7 29 7 22 35 2 35 9 20 0 49 30 0 47 49 31 2 11 I d I 1 I 0 I 0 n p 37 x 6 Buffer n x 3 new x 8 allocate I -8000 I -6000 I -4000 I -2000 I 2000 I 4000 I 5fff I 7fff x 6 Format n x 4 mono x 6 pcm_16 I ac44 x 10 initialize n n x 6 pcm_32 x 8 convert! I -80000000 I -60000000 I -40000000 I -20000000 I 20000000 I 40000000 I 5fff0000 I 7fff0000 x 7 samples x 12 assert_equal n n x 6 stereo n n p 35 I -1 I c1 I 0 I c3 I 89 I c4 I b3 I c5 I d1 I c8 I fb I c9 I 115 I ca I 140 I c8 I 15c I c9 I 176 I ca I 19d I c8 I 1a0 I cb I 1ca I cd I 1cb I cc I 1e7 I cd I 201 I ce I 206 I cd I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 47 test_convert_buffer_bits_per_sample_16_to_float M 1 n n x 47 test_convert_buffer_bits_per_sample_16_to_float i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 5 float x 2 [] M 1 p 2 x 9 for_block t n x 47 test_convert_buffer_bits_per_sample_16_to_float i 581 57 19 0 15 7 0 20 0 47 101 1 63 2 49 2 0 19 1 15 45 3 4 13 71 5 47 9 95 47 49 6 0 13 7 7 7 8 7 9 7 10 78 7 11 7 12 7 13 7 14 35 9 45 15 16 13 71 5 47 9 79 47 49 6 0 13 7 17 7 18 7 19 47 49 20 3 15 8 88 7 17 7 18 7 19 49 5 3 47 49 20 2 15 8 153 7 7 7 8 7 9 7 10 78 7 11 7 12 7 13 7 14 35 9 45 15 21 13 71 5 47 9 141 47 49 6 0 13 7 17 7 18 7 19 47 49 20 3 15 8 150 7 17 7 18 7 19 49 5 3 49 5 2 19 2 15 20 2 45 15 22 13 71 5 47 9 185 47 49 6 0 13 7 17 20 1 7 19 47 49 20 3 15 8 194 7 17 20 1 7 19 49 5 3 49 23 1 15 5 7 24 49 25 0 7 26 49 25 0 7 27 49 25 0 7 28 49 25 0 7 29 7 30 7 31 7 32 7 33 35 9 20 2 49 34 0 47 49 35 2 15 45 3 36 13 71 5 47 9 352 47 49 6 0 13 7 7 7 14 35 2 7 8 7 13 35 2 7 9 7 12 35 2 7 10 7 11 35 2 78 78 35 2 7 11 7 10 35 2 7 12 7 9 35 2 7 13 7 8 35 2 7 14 7 7 35 2 35 9 45 15 37 13 71 5 47 9 336 47 49 6 0 13 7 38 7 18 7 19 47 49 20 3 15 8 345 7 38 7 18 7 19 49 5 3 47 49 20 2 15 8 445 7 7 7 14 35 2 7 8 7 13 35 2 7 9 7 12 35 2 7 10 7 11 35 2 78 78 35 2 7 11 7 10 35 2 7 12 7 9 35 2 7 13 7 8 35 2 7 14 7 7 35 2 35 9 45 15 39 13 71 5 47 9 433 47 49 6 0 13 7 38 7 18 7 19 47 49 20 3 15 8 442 7 38 7 18 7 19 49 5 3 49 5 2 19 2 15 20 2 45 15 40 13 71 5 47 9 477 47 49 6 0 13 7 38 20 1 7 19 47 49 20 3 15 8 486 7 38 20 1 7 19 49 5 3 49 23 1 15 5 7 41 49 25 0 7 42 35 2 7 43 49 25 0 7 44 35 2 7 45 49 25 0 7 46 35 2 7 47 49 25 0 7 48 35 2 7 49 7 50 35 2 7 51 7 52 49 25 0 35 2 7 53 7 54 49 25 0 35 2 7 55 7 56 49 25 0 35 2 7 57 7 58 49 25 0 35 2 35 9 20 2 49 34 0 47 49 35 2 11 I 10 I 3 I 1 I 1 n p 59 s 6 float_ x 4 to_s x 6 to_sym x 6 Buffer n x 3 new x 8 allocate I -8000 I -6000 I -4000 I -2000 I 2000 I 4000 I 5fff I 7fff x 6 Format n x 4 mono x 6 pcm_16 I ac44 x 10 initialize n n x 8 convert! d +0.500000000000000000000000000000000000000000000000000000 1 x 2 -@ d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.749969482421875000000000000000000000000000000000000000 0 d +0.999969482421875000000000000000000000000000000000000000 0 x 7 samples x 12 assert_equal n n x 6 stereo n n d +0.500000000000000000000000000000000000000000000000000000 1 d +0.999969482421875000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.749969482421875000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.749969482421875000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.999969482421875000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 p 37 I 0 I d2 I 4 I d3 I 13 I d6 I 9c I d7 I c6 I d8 I f1 I db I 11b I dc I 135 I dd I 160 I db I 17c I dc I 196 I dd I 1bd I db I 1c0 I de I 1ea I e0 I 1eb I df I 215 I e0 I 23b I e1 I 240 I e0 I 245 x 34 /Code/wavefile/test/buffer_test.rb p 3 x 15 bits_per_sample x 12 float_format x 1 b x 4 each p 5 I -1 I d1 I 0 I d2 I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 43 test_convert_buffer_bits_per_sample_24_to_8 M 1 n n x 43 test_convert_buffer_bits_per_sample_24_to_8 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 20 0 49 22 0 47 49 23 2 15 45 0 24 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 25 13 71 2 47 9 304 47 49 3 0 13 7 26 7 15 7 16 47 49 17 3 15 8 313 7 26 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 27 13 71 2 47 9 401 47 49 3 0 13 7 26 7 15 7 16 47 49 17 3 15 8 410 7 26 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 28 13 71 2 47 9 445 47 49 3 0 13 7 26 7 20 7 16 47 49 17 3 15 8 454 7 26 7 20 7 16 49 2 3 49 21 1 15 5 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 20 0 49 22 0 47 49 23 2 11 I d I 1 I 0 I 0 n p 29 x 6 Buffer n x 3 new x 8 allocate I -800000 I -600000 I -400000 I -200000 I 200000 I 400000 I 5fffff I 7fffff x 6 Format n x 4 mono x 6 pcm_24 I ac44 x 10 initialize n n x 5 pcm_8 x 8 convert! x 7 samples x 12 assert_equal n n x 6 stereo n n p 43 I -1 I e5 I 0 I e7 I 21 I e8 I 4c I e7 I 5f I e8 I 86 I e7 I 89 I e9 I b3 I ea I d1 I ed I fb I ee I 115 I ef I 140 I ed I 15c I ee I 176 I ef I 19d I ed I 1a0 I f0 I 1ca I f2 I 1cb I f1 I 1e8 I f2 I 201 I f3 I 206 I f2 I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 44 test_convert_buffer_bits_per_sample_24_to_16 M 1 n n x 44 test_convert_buffer_bits_per_sample_24_to_16 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 23 7 24 7 25 78 7 26 7 27 7 28 7 29 35 9 20 0 49 30 0 47 49 31 2 15 45 0 32 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 33 13 71 2 47 9 304 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 313 7 34 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 35 13 71 2 47 9 401 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 410 7 34 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 36 13 71 2 47 9 445 47 49 3 0 13 7 34 7 20 7 16 47 49 17 3 15 8 454 7 34 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 29 35 2 7 23 7 28 35 2 7 24 7 27 35 2 7 25 7 26 35 2 78 78 35 2 7 26 7 25 35 2 7 27 7 24 35 2 7 28 7 23 35 2 7 29 7 22 35 2 35 9 20 0 49 30 0 47 49 31 2 11 I d I 1 I 0 I 0 n p 37 x 6 Buffer n x 3 new x 8 allocate I -800000 I -600000 I -400000 I -200000 I 200000 I 400000 I 5fffff I 7fffff x 6 Format n x 4 mono x 6 pcm_24 I ac44 x 10 initialize n n x 6 pcm_16 x 8 convert! I -8000 I -6000 I -4000 I -2000 I 2000 I 4000 I 5fff I 7fff x 7 samples x 12 assert_equal n n x 6 stereo n n p 43 I -1 I f6 I 0 I f8 I 21 I f9 I 4c I f8 I 5f I f9 I 86 I f8 I 89 I fa I b3 I fb I d1 I fe I fb I ff I 115 I 100 I 140 I fe I 15c I ff I 176 I 100 I 19d I fe I 1a0 I 101 I 1ca I 103 I 1cb I 102 I 1e7 I 103 I 201 I 104 I 206 I 103 I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 44 test_convert_buffer_bits_per_sample_24_to_32 M 1 n n x 44 test_convert_buffer_bits_per_sample_24_to_32 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 23 7 24 7 25 78 7 26 7 27 7 28 7 29 35 9 20 0 49 30 0 47 49 31 2 15 45 0 32 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 33 13 71 2 47 9 304 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 313 7 34 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 35 13 71 2 47 9 401 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 410 7 34 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 36 13 71 2 47 9 445 47 49 3 0 13 7 34 7 20 7 16 47 49 17 3 15 8 454 7 34 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 29 35 2 7 23 7 28 35 2 7 24 7 27 35 2 7 25 7 26 35 2 78 78 35 2 7 26 7 25 35 2 7 27 7 24 35 2 7 28 7 23 35 2 7 29 7 22 35 2 35 9 20 0 49 30 0 47 49 31 2 11 I d I 1 I 0 I 0 n p 37 x 6 Buffer n x 3 new x 8 allocate I -800000 I -600000 I -400000 I -200000 I 200000 I 400000 I 5fffff I 7fffff x 6 Format n x 4 mono x 6 pcm_24 I ac44 x 10 initialize n n x 6 pcm_32 x 8 convert! I -80000000 I -60000000 I -40000000 I -20000000 I 20000000 I 40000000 I 5fffff00 I 7fffff00 x 7 samples x 12 assert_equal n n x 6 stereo n n p 43 I -1 I 107 I 0 I 109 I 21 I 10a I 4c I 109 I 5f I 10a I 86 I 109 I 89 I 10b I b3 I 10c I d1 I 10f I fb I 110 I 115 I 111 I 140 I 10f I 15c I 110 I 176 I 111 I 19d I 10f I 1a0 I 112 I 1ca I 114 I 1cb I 113 I 1e7 I 114 I 201 I 115 I 206 I 114 I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 47 test_convert_buffer_bits_per_sample_24_to_float M 1 n n x 47 test_convert_buffer_bits_per_sample_24_to_float i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 5 float x 2 [] M 1 p 2 x 9 for_block t n x 47 test_convert_buffer_bits_per_sample_24_to_float i 581 57 19 0 15 7 0 20 0 47 101 1 63 2 49 2 0 19 1 15 45 3 4 13 71 5 47 9 95 47 49 6 0 13 7 7 7 8 7 9 7 10 78 7 11 7 12 7 13 7 14 35 9 45 15 16 13 71 5 47 9 79 47 49 6 0 13 7 17 7 18 7 19 47 49 20 3 15 8 88 7 17 7 18 7 19 49 5 3 47 49 20 2 15 8 153 7 7 7 8 7 9 7 10 78 7 11 7 12 7 13 7 14 35 9 45 15 21 13 71 5 47 9 141 47 49 6 0 13 7 17 7 18 7 19 47 49 20 3 15 8 150 7 17 7 18 7 19 49 5 3 49 5 2 19 2 15 20 2 45 15 22 13 71 5 47 9 185 47 49 6 0 13 7 17 20 1 7 19 47 49 20 3 15 8 194 7 17 20 1 7 19 49 5 3 49 23 1 15 5 7 24 49 25 0 7 26 49 25 0 7 27 49 25 0 7 28 49 25 0 7 29 7 30 7 31 7 32 7 33 35 9 20 2 49 34 0 47 49 35 2 15 45 3 36 13 71 5 47 9 352 47 49 6 0 13 7 7 7 14 35 2 7 8 7 13 35 2 7 9 7 12 35 2 7 10 7 11 35 2 78 78 35 2 7 11 7 10 35 2 7 12 7 9 35 2 7 13 7 8 35 2 7 14 7 7 35 2 35 9 45 15 37 13 71 5 47 9 336 47 49 6 0 13 7 38 7 18 7 19 47 49 20 3 15 8 345 7 38 7 18 7 19 49 5 3 47 49 20 2 15 8 445 7 7 7 14 35 2 7 8 7 13 35 2 7 9 7 12 35 2 7 10 7 11 35 2 78 78 35 2 7 11 7 10 35 2 7 12 7 9 35 2 7 13 7 8 35 2 7 14 7 7 35 2 35 9 45 15 39 13 71 5 47 9 433 47 49 6 0 13 7 38 7 18 7 19 47 49 20 3 15 8 442 7 38 7 18 7 19 49 5 3 49 5 2 19 2 15 20 2 45 15 40 13 71 5 47 9 477 47 49 6 0 13 7 38 20 1 7 19 47 49 20 3 15 8 486 7 38 20 1 7 19 49 5 3 49 23 1 15 5 7 41 49 25 0 7 42 35 2 7 43 49 25 0 7 44 35 2 7 45 49 25 0 7 46 35 2 7 47 49 25 0 7 48 35 2 7 49 7 50 35 2 7 51 7 52 49 25 0 35 2 7 53 7 54 49 25 0 35 2 7 55 7 56 49 25 0 35 2 7 57 7 58 49 25 0 35 2 35 9 20 2 49 34 0 47 49 35 2 11 I 10 I 3 I 1 I 1 n p 59 s 6 float_ x 4 to_s x 6 to_sym x 6 Buffer n x 3 new x 8 allocate I -800000 I -600000 I -400000 I -200000 I 200000 I 400000 I 5fffff I 7fffff x 6 Format n x 4 mono x 6 pcm_24 I ac44 x 10 initialize n n x 8 convert! d +0.500000000000000000000000000000000000000000000000000000 1 x 2 -@ d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.749999880790710449218750000000000000000000000000000000 0 d +0.999999880790710449218750000000000000000000000000000000 0 x 7 samples x 12 assert_equal n n x 6 stereo n n d +0.500000000000000000000000000000000000000000000000000000 1 d +0.999999880790710449218750000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.749999880790710449218750000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.749999880790710449218750000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.999999880790710449218750000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 p 45 I 0 I 119 I 4 I 11a I 13 I 11d I 34 I 11e I 5f I 11d I 72 I 11e I 99 I 11d I 9c I 11f I c6 I 120 I f1 I 123 I 11b I 124 I 135 I 125 I 160 I 123 I 17c I 124 I 196 I 125 I 1bd I 123 I 1c0 I 126 I 1ea I 128 I 1eb I 127 I 215 I 128 I 23b I 129 I 240 I 128 I 245 x 34 /Code/wavefile/test/buffer_test.rb p 3 x 15 bits_per_sample x 12 float_format x 1 b x 4 each p 5 I -1 I 118 I 0 I 119 I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 43 test_convert_buffer_bits_per_sample_32_to_8 M 1 n n x 43 test_convert_buffer_bits_per_sample_32_to_8 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 78 4 32 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 20 0 49 22 0 47 49 23 2 15 45 0 24 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 25 13 71 2 47 9 304 47 49 3 0 13 7 26 7 15 7 16 47 49 17 3 15 8 313 7 26 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 27 13 71 2 47 9 401 47 49 3 0 13 7 26 7 15 7 16 47 49 17 3 15 8 410 7 26 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 28 13 71 2 47 9 445 47 49 3 0 13 7 26 7 20 7 16 47 49 17 3 15 8 454 7 26 7 20 7 16 49 2 3 49 21 1 15 5 78 4 255 35 2 4 32 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 32 35 2 4 255 78 35 2 35 9 20 0 49 22 0 47 49 23 2 11 I d I 1 I 0 I 0 n p 29 x 6 Buffer n x 3 new x 8 allocate I -80000000 I -60000000 I -40000000 I -20000000 I 20000000 I 40000000 I 5fffffff I 7fffffff x 6 Format n x 4 mono x 6 pcm_32 I ac44 x 10 initialize n n x 5 pcm_8 x 8 convert! x 7 samples x 12 assert_equal n n x 6 stereo n n p 43 I -1 I 12d I 0 I 12f I 21 I 130 I 4c I 12f I 5f I 130 I 86 I 12f I 89 I 131 I b3 I 132 I d1 I 135 I fb I 136 I 115 I 137 I 140 I 135 I 15c I 136 I 176 I 137 I 19d I 135 I 1a0 I 138 I 1ca I 13a I 1cb I 139 I 1e8 I 13a I 201 I 13b I 206 I 13a I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 44 test_convert_buffer_bits_per_sample_32_to_16 M 1 n n x 44 test_convert_buffer_bits_per_sample_32_to_16 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 23 7 24 7 25 78 7 26 7 27 7 28 7 29 35 9 20 0 49 30 0 47 49 31 2 15 45 0 32 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 33 13 71 2 47 9 304 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 313 7 34 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 35 13 71 2 47 9 401 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 410 7 34 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 36 13 71 2 47 9 445 47 49 3 0 13 7 34 7 20 7 16 47 49 17 3 15 8 454 7 34 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 29 35 2 7 23 7 28 35 2 7 24 7 27 35 2 7 25 7 26 35 2 78 78 35 2 7 26 7 25 35 2 7 27 7 24 35 2 7 28 7 23 35 2 7 29 7 22 35 2 35 9 20 0 49 30 0 47 49 31 2 11 I d I 1 I 0 I 0 n p 37 x 6 Buffer n x 3 new x 8 allocate I -80000000 I -60000000 I -40000000 I -20000000 I 20000000 I 40000000 I 5fffffff I 7fffffff x 6 Format n x 4 mono x 6 pcm_32 I ac44 x 10 initialize n n x 6 pcm_16 x 8 convert! I -8000 I -6000 I -4000 I -2000 I 2000 I 4000 I 5fff I 7fff x 7 samples x 12 assert_equal n n x 6 stereo n n p 43 I -1 I 13e I 0 I 140 I 21 I 141 I 4c I 140 I 5f I 141 I 86 I 140 I 89 I 142 I b3 I 143 I d1 I 146 I fb I 147 I 115 I 148 I 140 I 146 I 15c I 147 I 176 I 148 I 19d I 146 I 1a0 I 149 I 1ca I 14b I 1cb I 14a I 1e7 I 14b I 201 I 14c I 206 I 14b I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 44 test_convert_buffer_bits_per_sample_32_to_24 M 1 n n x 44 test_convert_buffer_bits_per_sample_32_to_24 i 523 45 0 1 13 71 2 47 9 76 47 49 3 0 13 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 13 13 71 2 47 9 60 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 69 7 14 7 15 7 16 49 2 3 47 49 17 2 15 8 134 7 4 7 5 7 6 7 7 78 7 8 7 9 7 10 7 11 35 9 45 12 18 13 71 2 47 9 122 47 49 3 0 13 7 14 7 15 7 16 47 49 17 3 15 8 131 7 14 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 19 13 71 2 47 9 166 47 49 3 0 13 7 14 7 20 7 16 47 49 17 3 15 8 175 7 14 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 23 7 24 7 25 78 7 26 7 27 7 28 7 29 35 9 20 0 49 30 0 47 49 31 2 15 45 0 32 13 71 2 47 9 320 47 49 3 0 13 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 33 13 71 2 47 9 304 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 313 7 34 7 15 7 16 49 2 3 47 49 17 2 15 8 413 7 4 7 11 35 2 7 5 7 10 35 2 7 6 7 9 35 2 7 7 7 8 35 2 78 78 35 2 7 8 7 7 35 2 7 9 7 6 35 2 7 10 7 5 35 2 7 11 7 4 35 2 35 9 45 12 35 13 71 2 47 9 401 47 49 3 0 13 7 34 7 15 7 16 47 49 17 3 15 8 410 7 34 7 15 7 16 49 2 3 49 2 2 19 0 15 20 0 45 12 36 13 71 2 47 9 445 47 49 3 0 13 7 34 7 20 7 16 47 49 17 3 15 8 454 7 34 7 20 7 16 49 2 3 49 21 1 15 5 7 22 7 29 35 2 7 23 7 28 35 2 7 24 7 27 35 2 7 25 7 26 35 2 78 78 35 2 7 26 7 25 35 2 7 27 7 24 35 2 7 28 7 23 35 2 7 29 7 22 35 2 35 9 20 0 49 30 0 47 49 31 2 11 I d I 1 I 0 I 0 n p 37 x 6 Buffer n x 3 new x 8 allocate I -80000000 I -60000000 I -40000000 I -20000000 I 20000000 I 40000000 I 5fffffff I 7fffffff x 6 Format n x 4 mono x 6 pcm_32 I ac44 x 10 initialize n n x 6 pcm_24 x 8 convert! I -800000 I -600000 I -400000 I -200000 I 200000 I 400000 I 5fffff I 7fffff x 7 samples x 12 assert_equal n n x 6 stereo n n p 43 I -1 I 14f I 0 I 151 I 21 I 152 I 4c I 151 I 5f I 152 I 86 I 151 I 89 I 153 I b3 I 154 I d1 I 157 I fb I 158 I 115 I 159 I 140 I 157 I 15c I 158 I 176 I 159 I 19d I 157 I 1a0 I 15a I 1ca I 15c I 1cb I 15b I 1e7 I 15c I 201 I 15d I 206 I 15c I 20b x 34 /Code/wavefile/test/buffer_test.rb p 1 x 1 b x 47 test_convert_buffer_bits_per_sample_32_to_float M 1 n n x 47 test_convert_buffer_bits_per_sample_32_to_float i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 5 float x 2 [] M 1 p 2 x 9 for_block t n x 47 test_convert_buffer_bits_per_sample_32_to_float i 581 57 19 0 15 7 0 20 0 47 101 1 63 2 49 2 0 19 1 15 45 3 4 13 71 5 47 9 95 47 49 6 0 13 7 7 7 8 7 9 7 10 78 7 11 7 12 7 13 7 14 35 9 45 15 16 13 71 5 47 9 79 47 49 6 0 13 7 17 7 18 7 19 47 49 20 3 15 8 88 7 17 7 18 7 19 49 5 3 47 49 20 2 15 8 153 7 7 7 8 7 9 7 10 78 7 11 7 12 7 13 7 14 35 9 45 15 21 13 71 5 47 9 141 47 49 6 0 13 7 17 7 18 7 19 47 49 20 3 15 8 150 7 17 7 18 7 19 49 5 3 49 5 2 19 2 15 20 2 45 15 22 13 71 5 47 9 185 47 49 6 0 13 7 17 20 1 7 19 47 49 20 3 15 8 194 7 17 20 1 7 19 49 5 3 49 23 1 15 5 7 24 49 25 0 7 26 49 25 0 7 27 49 25 0 7 28 49 25 0 7 29 7 30 7 31 7 32 7 33 35 9 20 2 49 34 0 47 49 35 2 15 45 3 36 13 71 5 47 9 352 47 49 6 0 13 7 7 7 14 35 2 7 8 7 13 35 2 7 9 7 12 35 2 7 10 7 11 35 2 78 78 35 2 7 11 7 10 35 2 7 12 7 9 35 2 7 13 7 8 35 2 7 14 7 7 35 2 35 9 45 15 37 13 71 5 47 9 336 47 49 6 0 13 7 38 7 18 7 19 47 49 20 3 15 8 345 7 38 7 18 7 19 49 5 3 47 49 20 2 15 8 445 7 7 7 14 35 2 7 8 7 13 35 2 7 9 7 12 35 2 7 10 7 11 35 2 78 78 35 2 7 11 7 10 35 2 7 12 7 9 35 2 7 13 7 8 35 2 7 14 7 7 35 2 35 9 45 15 39 13 71 5 47 9 433 47 49 6 0 13 7 38 7 18 7 19 47 49 20 3 15 8 442 7 38 7 18 7 19 49 5 3 49 5 2 19 2 15 20 2 45 15 40 13 71 5 47 9 477 47 49 6 0 13 7 38 20 1 7 19 47 49 20 3 15 8 486 7 38 20 1 7 19 49 5 3 49 23 1 15 5 7 41 49 25 0 7 42 35 2 7 43 49 25 0 7 44 35 2 7 45 49 25 0 7 46 35 2 7 47 49 25 0 7 48 35 2 7 49 7 50 35 2 7 51 7 52 49 25 0 35 2 7 53 7 54 49 25 0 35 2 7 55 7 56 49 25 0 35 2 7 57 7 58 49 25 0 35 2 35 9 20 2 49 34 0 47 49 35 2 11 I 10 I 3 I 1 I 1 n p 59 s 6 float_ x 4 to_s x 6 to_sym x 6 Buffer n x 3 new x 8 allocate I -80000000 I -60000000 I -40000000 I -20000000 I 20000000 I 40000000 I 5fffffff I 7fffffff x 6 Format n x 4 mono x 6 pcm_32 I ac44 x 10 initialize n n x 8 convert! d +0.500000000000000000000000000000000000000000000000000000 1 x 2 -@ d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.749999999534338712692260742187500000000000000000000000 0 d +0.999999999534338712692260742187500000000000000000000000 0 x 7 samples x 12 assert_equal n n x 6 stereo n n d +0.500000000000000000000000000000000000000000000000000000 1 d +0.999999999534338712692260742187500000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.749999999534338712692260742187500000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.749999999534338712692260742187500000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.999999999534338712692260742187500000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 p 45 I 0 I 161 I 4 I 162 I 13 I 165 I 34 I 166 I 5f I 165 I 72 I 166 I 99 I 165 I 9c I 167 I c6 I 168 I f1 I 16b I 11b I 16c I 135 I 16d I 160 I 16b I 17c I 16c I 196 I 16d I 1bd I 16b I 1c0 I 16e I 1ea I 170 I 1eb I 16f I 215 I 170 I 23b I 171 I 240 I 170 I 245 x 34 /Code/wavefile/test/buffer_test.rb p 3 x 15 bits_per_sample x 12 float_format x 1 b x 4 each p 5 I -1 I 160 I 0 I 161 I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 46 test_convert_buffer_bits_per_sample_float_to_8 M 1 n n x 46 test_convert_buffer_bits_per_sample_float_to_8 i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 5 float x 2 [] M 1 p 2 x 9 for_block t n x 46 test_convert_buffer_bits_per_sample_float_to_8 i 620 57 19 0 15 7 0 20 0 47 101 1 63 2 49 2 0 19 1 15 45 3 4 13 71 5 47 9 108 47 49 6 0 13 7 7 49 8 0 7 9 49 8 0 7 10 49 8 0 7 11 49 8 0 7 12 7 13 7 14 7 15 7 16 35 9 45 17 18 13 71 5 47 9 92 47 49 6 0 13 7 19 20 1 7 20 47 49 21 3 15 8 101 7 19 20 1 7 20 49 5 3 47 49 21 2 15 8 179 7 22 49 8 0 7 23 49 8 0 7 24 49 8 0 7 25 49 8 0 7 26 7 27 7 28 7 29 7 30 35 9 45 17 31 13 71 5 47 9 167 47 49 6 0 13 7 19 20 1 7 20 47 49 21 3 15 8 176 7 19 20 1 7 20 49 5 3 49 5 2 19 2 15 20 2 45 17 32 13 71 5 47 9 211 47 49 6 0 13 7 19 7 33 7 20 47 49 21 3 15 8 220 7 19 7 33 7 20 49 5 3 49 34 1 15 5 79 4 33 4 64 4 96 4 128 4 160 4 192 4 223 4 255 35 9 20 2 49 35 0 47 49 36 2 15 45 3 37 13 71 5 47 9 391 47 49 6 0 13 7 38 49 8 0 7 39 35 2 7 40 49 8 0 7 41 35 2 7 42 49 8 0 7 43 35 2 7 44 49 8 0 7 45 35 2 7 46 7 47 35 2 7 48 7 49 49 8 0 35 2 7 50 7 51 49 8 0 35 2 7 52 7 53 49 8 0 35 2 7 54 7 55 49 8 0 35 2 35 9 45 17 56 13 71 5 47 9 375 47 49 6 0 13 7 57 20 1 7 20 47 49 21 3 15 8 384 7 57 20 1 7 20 49 5 3 47 49 21 2 15 8 510 7 58 49 8 0 7 59 35 2 7 60 49 8 0 7 61 35 2 7 62 49 8 0 7 63 35 2 7 64 49 8 0 7 65 35 2 7 66 7 67 35 2 7 68 7 69 49 8 0 35 2 7 70 7 71 49 8 0 35 2 7 72 7 73 49 8 0 35 2 7 74 7 75 49 8 0 35 2 35 9 45 17 76 13 71 5 47 9 498 47 49 6 0 13 7 57 20 1 7 20 47 49 21 3 15 8 507 7 57 20 1 7 20 49 5 3 49 5 2 19 2 15 20 2 45 17 77 13 71 5 47 9 542 47 49 6 0 13 7 57 7 33 7 20 47 49 21 3 15 8 551 7 57 7 33 7 20 49 5 3 49 34 1 15 5 79 4 255 35 2 4 33 4 223 35 2 4 64 4 192 35 2 4 96 4 160 35 2 4 128 4 128 35 2 4 160 4 96 35 2 4 192 4 64 35 2 4 223 4 33 35 2 4 255 79 35 2 35 9 20 2 49 35 0 47 49 36 2 11 I 10 I 3 I 1 I 1 n p 78 s 6 float_ x 4 to_s x 6 to_sym x 6 Buffer n x 3 new x 8 allocate d +0.500000000000000000000000000000000000000000000000000000 1 x 2 -@ d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 x 6 Format n x 4 mono I ac44 x 10 initialize d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 n n x 5 pcm_8 x 8 convert! x 7 samples x 12 assert_equal n d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 n x 6 stereo d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 n n p 37 I 0 I 176 I 4 I 177 I 13 I 17a I b6 I 17b I e0 I 17c I fe I 17f I 136 I 180 I 15c I 181 I 187 I 17f I 1b1 I 180 I 1d7 I 181 I 1fe I 17f I 201 I 182 I 22b I 184 I 22c I 183 I 249 I 184 I 262 I 185 I 267 I 184 I 26c x 34 /Code/wavefile/test/buffer_test.rb p 3 x 15 bits_per_sample x 12 float_format x 1 b x 4 each p 5 I -1 I 175 I 0 I 176 I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 47 test_convert_buffer_bits_per_sample_float_to_16 M 1 n n x 47 test_convert_buffer_bits_per_sample_float_to_16 i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 5 float x 2 [] M 1 p 2 x 9 for_block t n x 47 test_convert_buffer_bits_per_sample_float_to_16 i 620 57 19 0 15 7 0 20 0 47 101 1 63 2 49 2 0 19 1 15 45 3 4 13 71 5 47 9 108 47 49 6 0 13 7 7 49 8 0 7 9 49 8 0 7 10 49 8 0 7 11 49 8 0 7 12 7 13 7 14 7 15 7 16 35 9 45 17 18 13 71 5 47 9 92 47 49 6 0 13 7 19 20 1 7 20 47 49 21 3 15 8 101 7 19 20 1 7 20 49 5 3 47 49 21 2 15 8 179 7 22 49 8 0 7 23 49 8 0 7 24 49 8 0 7 25 49 8 0 7 26 7 27 7 28 7 29 7 30 35 9 45 17 31 13 71 5 47 9 167 47 49 6 0 13 7 19 20 1 7 20 47 49 21 3 15 8 176 7 19 20 1 7 20 49 5 3 49 5 2 19 2 15 20 2 45 17 32 13 71 5 47 9 211 47 49 6 0 13 7 19 7 33 7 20 47 49 21 3 15 8 220 7 19 7 33 7 20 49 5 3 49 34 1 15 5 7 35 7 36 7 37 7 38 78 7 39 7 40 7 41 7 42 35 9 20 2 49 43 0 47 49 44 2 15 45 3 45 13 71 5 47 9 391 47 49 6 0 13 7 46 49 8 0 7 47 35 2 7 48 49 8 0 7 49 35 2 7 50 49 8 0 7 51 35 2 7 52 49 8 0 7 53 35 2 7 54 7 55 35 2 7 56 7 57 49 8 0 35 2 7 58 7 59 49 8 0 35 2 7 60 7 61 49 8 0 35 2 7 62 7 63 49 8 0 35 2 35 9 45 17 64 13 71 5 47 9 375 47 49 6 0 13 7 65 20 1 7 20 47 49 21 3 15 8 384 7 65 20 1 7 20 49 5 3 47 49 21 2 15 8 510 7 66 49 8 0 7 67 35 2 7 68 49 8 0 7 69 35 2 7 70 49 8 0 7 71 35 2 7 72 49 8 0 7 73 35 2 7 74 7 75 35 2 7 76 7 77 49 8 0 35 2 7 78 7 79 49 8 0 35 2 7 80 7 81 49 8 0 35 2 7 82 7 83 49 8 0 35 2 35 9 45 17 84 13 71 5 47 9 498 47 49 6 0 13 7 65 20 1 7 20 47 49 21 3 15 8 507 7 65 20 1 7 20 49 5 3 49 5 2 19 2 15 20 2 45 17 85 13 71 5 47 9 542 47 49 6 0 13 7 65 7 33 7 20 47 49 21 3 15 8 551 7 65 7 33 7 20 49 5 3 49 34 1 15 5 7 35 7 42 35 2 7 36 7 41 35 2 7 37 7 40 35 2 7 38 7 39 35 2 78 78 35 2 7 39 7 38 35 2 7 40 7 37 35 2 7 41 7 36 35 2 7 42 7 35 35 2 35 9 20 2 49 43 0 47 49 44 2 11 I 10 I 3 I 1 I 1 n p 86 s 6 float_ x 4 to_s x 6 to_sym x 6 Buffer n x 3 new x 8 allocate d +0.500000000000000000000000000000000000000000000000000000 1 x 2 -@ d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 x 6 Format n x 4 mono I ac44 x 10 initialize d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 n n x 6 pcm_16 x 8 convert! I -7fff I -5fff I -4000 I -2000 I 2000 I 4000 I 5fff I 7fff x 7 samples x 12 assert_equal n d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 n x 6 stereo d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 n n p 37 I 0 I 18a I 4 I 18b I 13 I 18e I b6 I 18f I e0 I 190 I fe I 193 I 136 I 194 I 15c I 195 I 187 I 193 I 1b1 I 194 I 1d7 I 195 I 1fe I 193 I 201 I 196 I 22b I 198 I 22c I 197 I 248 I 198 I 262 I 199 I 267 I 198 I 26c x 34 /Code/wavefile/test/buffer_test.rb p 3 x 15 bits_per_sample x 12 float_format x 1 b x 4 each p 5 I -1 I 189 I 0 I 18a I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 47 test_convert_buffer_bits_per_sample_float_to_24 M 1 n n x 47 test_convert_buffer_bits_per_sample_float_to_24 i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 5 float x 2 [] M 1 p 2 x 9 for_block t n x 47 test_convert_buffer_bits_per_sample_float_to_24 i 620 57 19 0 15 7 0 20 0 47 101 1 63 2 49 2 0 19 1 15 45 3 4 13 71 5 47 9 108 47 49 6 0 13 7 7 49 8 0 7 9 49 8 0 7 10 49 8 0 7 11 49 8 0 7 12 7 13 7 14 7 15 7 16 35 9 45 17 18 13 71 5 47 9 92 47 49 6 0 13 7 19 20 1 7 20 47 49 21 3 15 8 101 7 19 20 1 7 20 49 5 3 47 49 21 2 15 8 179 7 22 49 8 0 7 23 49 8 0 7 24 49 8 0 7 25 49 8 0 7 26 7 27 7 28 7 29 7 30 35 9 45 17 31 13 71 5 47 9 167 47 49 6 0 13 7 19 20 1 7 20 47 49 21 3 15 8 176 7 19 20 1 7 20 49 5 3 49 5 2 19 2 15 20 2 45 17 32 13 71 5 47 9 211 47 49 6 0 13 7 19 7 33 7 20 47 49 21 3 15 8 220 7 19 7 33 7 20 49 5 3 49 34 1 15 5 7 35 7 36 7 37 7 38 78 7 39 7 40 7 41 7 42 35 9 20 2 49 43 0 47 49 44 2 15 45 3 45 13 71 5 47 9 391 47 49 6 0 13 7 46 49 8 0 7 47 35 2 7 48 49 8 0 7 49 35 2 7 50 49 8 0 7 51 35 2 7 52 49 8 0 7 53 35 2 7 54 7 55 35 2 7 56 7 57 49 8 0 35 2 7 58 7 59 49 8 0 35 2 7 60 7 61 49 8 0 35 2 7 62 7 63 49 8 0 35 2 35 9 45 17 64 13 71 5 47 9 375 47 49 6 0 13 7 65 20 1 7 20 47 49 21 3 15 8 384 7 65 20 1 7 20 49 5 3 47 49 21 2 15 8 510 7 66 49 8 0 7 67 35 2 7 68 49 8 0 7 69 35 2 7 70 49 8 0 7 71 35 2 7 72 49 8 0 7 73 35 2 7 74 7 75 35 2 7 76 7 77 49 8 0 35 2 7 78 7 79 49 8 0 35 2 7 80 7 81 49 8 0 35 2 7 82 7 83 49 8 0 35 2 35 9 45 17 84 13 71 5 47 9 498 47 49 6 0 13 7 65 20 1 7 20 47 49 21 3 15 8 507 7 65 20 1 7 20 49 5 3 49 5 2 19 2 15 20 2 45 17 85 13 71 5 47 9 542 47 49 6 0 13 7 65 7 33 7 20 47 49 21 3 15 8 551 7 65 7 33 7 20 49 5 3 49 34 1 15 5 7 35 7 42 35 2 7 36 7 41 35 2 7 37 7 40 35 2 7 38 7 39 35 2 78 78 35 2 7 39 7 38 35 2 7 40 7 37 35 2 7 41 7 36 35 2 7 42 7 35 35 2 35 9 20 2 49 43 0 47 49 44 2 11 I 10 I 3 I 1 I 1 n p 86 s 6 float_ x 4 to_s x 6 to_sym x 6 Buffer n x 3 new x 8 allocate d +0.500000000000000000000000000000000000000000000000000000 1 x 2 -@ d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 x 6 Format n x 4 mono I ac44 x 10 initialize d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 n n x 6 pcm_24 x 8 convert! I -7fffff I -5fffff I -400000 I -200000 I 200000 I 400000 I 5fffff I 7fffff x 7 samples x 12 assert_equal n d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 n x 6 stereo d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 n n p 37 I 0 I 19e I 4 I 19f I 13 I 1a2 I b6 I 1a3 I e0 I 1a4 I fe I 1a7 I 136 I 1a8 I 15c I 1a9 I 187 I 1a7 I 1b1 I 1a8 I 1d7 I 1a9 I 1fe I 1a7 I 201 I 1aa I 22b I 1ac I 22c I 1ab I 248 I 1ac I 262 I 1ad I 267 I 1ac I 26c x 34 /Code/wavefile/test/buffer_test.rb p 3 x 15 bits_per_sample x 12 float_format x 1 b x 4 each p 5 I -1 I 19d I 0 I 19e I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 47 test_convert_buffer_bits_per_sample_float_to_32 M 1 n n x 47 test_convert_buffer_bits_per_sample_float_to_32 i 16 45 0 1 43 2 7 3 49 4 1 56 5 50 6 0 11 I 2 I 0 I 0 I 0 n p 7 x 6 Format n x 25 SUPPORTED_BITS_PER_SAMPLE x 5 float x 2 [] M 1 p 2 x 9 for_block t n x 47 test_convert_buffer_bits_per_sample_float_to_32 i 620 57 19 0 15 7 0 20 0 47 101 1 63 2 49 2 0 19 1 15 45 3 4 13 71 5 47 9 108 47 49 6 0 13 7 7 49 8 0 7 9 49 8 0 7 10 49 8 0 7 11 49 8 0 7 12 7 13 7 14 7 15 7 16 35 9 45 17 18 13 71 5 47 9 92 47 49 6 0 13 7 19 20 1 7 20 47 49 21 3 15 8 101 7 19 20 1 7 20 49 5 3 47 49 21 2 15 8 179 7 22 49 8 0 7 23 49 8 0 7 24 49 8 0 7 25 49 8 0 7 26 7 27 7 28 7 29 7 30 35 9 45 17 31 13 71 5 47 9 167 47 49 6 0 13 7 19 20 1 7 20 47 49 21 3 15 8 176 7 19 20 1 7 20 49 5 3 49 5 2 19 2 15 20 2 45 17 32 13 71 5 47 9 211 47 49 6 0 13 7 19 7 33 7 20 47 49 21 3 15 8 220 7 19 7 33 7 20 49 5 3 49 34 1 15 5 7 35 7 36 7 37 7 38 78 7 39 7 40 7 41 7 42 35 9 20 2 49 43 0 47 49 44 2 15 45 3 45 13 71 5 47 9 391 47 49 6 0 13 7 46 49 8 0 7 47 35 2 7 48 49 8 0 7 49 35 2 7 50 49 8 0 7 51 35 2 7 52 49 8 0 7 53 35 2 7 54 7 55 35 2 7 56 7 57 49 8 0 35 2 7 58 7 59 49 8 0 35 2 7 60 7 61 49 8 0 35 2 7 62 7 63 49 8 0 35 2 35 9 45 17 64 13 71 5 47 9 375 47 49 6 0 13 7 65 20 1 7 20 47 49 21 3 15 8 384 7 65 20 1 7 20 49 5 3 47 49 21 2 15 8 510 7 66 49 8 0 7 67 35 2 7 68 49 8 0 7 69 35 2 7 70 49 8 0 7 71 35 2 7 72 49 8 0 7 73 35 2 7 74 7 75 35 2 7 76 7 77 49 8 0 35 2 7 78 7 79 49 8 0 35 2 7 80 7 81 49 8 0 35 2 7 82 7 83 49 8 0 35 2 35 9 45 17 84 13 71 5 47 9 498 47 49 6 0 13 7 65 20 1 7 20 47 49 21 3 15 8 507 7 65 20 1 7 20 49 5 3 49 5 2 19 2 15 20 2 45 17 85 13 71 5 47 9 542 47 49 6 0 13 7 65 7 33 7 20 47 49 21 3 15 8 551 7 65 7 33 7 20 49 5 3 49 34 1 15 5 7 35 7 42 35 2 7 36 7 41 35 2 7 37 7 40 35 2 7 38 7 39 35 2 78 78 35 2 7 39 7 38 35 2 7 40 7 37 35 2 7 41 7 36 35 2 7 42 7 35 35 2 35 9 20 2 49 43 0 47 49 44 2 11 I 10 I 3 I 1 I 1 n p 86 s 6 float_ x 4 to_s x 6 to_sym x 6 Buffer n x 3 new x 8 allocate d +0.500000000000000000000000000000000000000000000000000000 1 x 2 -@ d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 x 6 Format n x 4 mono I ac44 x 10 initialize d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 n n x 6 pcm_32 x 8 convert! I -7fffffff I -5fffffff I -40000000 I -20000000 I 20000000 I 40000000 I 5fffffff I 7fffffff x 7 samples x 12 assert_equal n d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 n x 6 stereo d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.000000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 -1 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.750000000000000000000000000000000000000000000000000000 0 d +0.500000000000000000000000000000000000000000000000000000 1 d +0.500000000000000000000000000000000000000000000000000000 1 n n p 37 I 0 I 1b2 I 4 I 1b3 I 13 I 1b6 I b6 I 1b7 I e0 I 1b8 I fe I 1bb I 136 I 1bc I 15c I 1bd I 187 I 1bb I 1b1 I 1bc I 1d7 I 1bd I 1fe I 1bb I 201 I 1be I 22b I 1c0 I 22c I 1bf I 248 I 1c0 I 262 I 1c1 I 267 I 1c0 I 26c x 34 /Code/wavefile/test/buffer_test.rb p 3 x 15 bits_per_sample x 12 float_format x 1 b x 4 each p 5 I -1 I 1b1 I 0 I 1b2 I 10 x 34 /Code/wavefile/test/buffer_test.rb p 0 p 49 I 2 I 7 I 10 I 19 I 1e I 28 I 2c I 53 I 3a I 5d I 48 I 6d I 56 I 7d I 64 I 8d I 72 I a1 I 80 I b1 I 8e I c1 I 9c I d1 I aa I e5 I b8 I f6 I c6 I 107 I d4 I 118 I e2 I 12d I f0 I 13e I fe I 14f I 10c I 160 I 11a I 175 I 128 I 189 I 136 I 19d I 144 I 1b1 I 152 x 34 /Code/wavefile/test/buffer_test.rb p 0 x 13 attach_method p 9 I 0 I 1 I 9 I 2 I 12 I 4 I 1b I 6 I 3e x 34 /Code/wavefile/test/buffer_test.rb p 0 wavefile-0.6.0/test/reader_test.rbc0000644000175000017500000006246612647143014016277 0ustar hannohanno!RBIX 17831730954501249321 x M 1 n n x 10 __script__ i 71 5 7 0 64 47 49 1 1 15 5 7 2 64 47 49 1 1 15 5 7 3 64 47 49 1 1 15 5 45 4 5 47 49 6 1 15 99 7 7 45 8 9 43 10 43 11 65 49 12 3 13 99 12 7 13 12 7 14 12 65 12 49 15 4 15 49 13 0 15 2 11 I 6 I 0 I 0 I 0 n p 16 s 9 test/unit x 7 require s 11 wavefile.rb s 26 wavefile_io_test_helper.rb x 8 WaveFile n x 7 include x 10 ReaderTest x 4 Test n x 4 Unit x 8 TestCase x 10 open_class x 14 __class_init__ M 1 n n x 10 ReaderTest i 305 5 66 5 45 0 1 47 49 2 1 15 65 7 3 7 4 64 49 5 2 15 99 7 6 7 7 65 67 49 8 0 49 9 4 15 99 7 10 7 11 65 67 49 8 0 49 9 4 15 99 7 12 7 13 65 67 49 8 0 49 9 4 15 99 7 14 7 15 65 67 49 8 0 49 9 4 15 99 7 16 7 17 65 67 49 8 0 49 9 4 15 99 7 18 7 19 65 67 49 8 0 49 9 4 15 99 7 20 7 21 65 67 49 8 0 49 9 4 15 99 7 22 7 23 65 67 49 8 0 49 9 4 15 99 7 24 7 25 65 67 49 8 0 49 9 4 15 99 7 26 7 27 65 67 49 8 0 49 9 4 15 99 7 28 7 29 65 67 49 8 0 49 9 4 15 99 7 30 7 31 65 67 49 8 0 49 9 4 15 99 7 32 7 33 65 67 49 8 0 49 9 4 15 99 7 34 7 35 65 67 49 8 0 49 9 4 15 99 7 36 7 37 65 67 49 8 0 49 9 4 15 99 7 38 7 39 65 67 49 8 0 49 9 4 15 5 48 40 15 99 7 41 7 42 65 67 49 8 0 49 9 4 15 99 7 43 7 44 65 67 49 8 0 49 9 4 15 99 7 45 7 46 65 67 49 8 0 49 9 4 15 99 7 47 7 48 65 67 49 8 0 49 9 4 11 I 5 I 0 I 0 I 0 n p 49 x 20 WaveFileIOTestHelper n x 7 include x 17 FIXTURE_ROOT_PATH s 13 test/fixtures x 9 const_set x 21 test_nonexistent_file M 1 n n x 21 test_nonexistent_file i 26 5 45 0 1 43 2 56 3 47 50 4 1 15 5 45 0 5 43 2 56 6 47 50 4 1 11 I 3 I 0 I 0 I 0 n p 7 x 5 Errno n x 6 ENOENT M 1 p 2 x 9 for_block t n x 21 test_nonexistent_file i 41 45 0 1 13 71 2 47 9 29 47 49 3 0 13 5 7 4 64 47 49 5 1 47 49 6 1 15 8 40 5 7 4 64 47 49 5 1 49 2 1 11 I 5 I 0 I 0 I 0 I -2 p 7 x 6 Reader n x 3 new x 8 allocate s 18 i_do_not_exist.wav x 7 fixture x 10 initialize p 3 I 0 I e I 29 x 34 /Code/wavefile/test/reader_test.rb p 0 x 12 assert_raise n M 1 p 2 x 9 for_block t n x 21 test_nonexistent_file i 15 45 0 1 5 7 2 64 47 49 3 1 49 4 1 11 I 4 I 0 I 0 I 0 I -2 p 5 x 6 Reader n s 18 i_do_not_exist.wav x 7 fixture x 4 info p 3 I 0 I 10 I f x 34 /Code/wavefile/test/reader_test.rb p 0 p 7 I -1 I d I 0 I e I d I 10 I 1a x 34 /Code/wavefile/test/reader_test.rb p 0 x 17 method_visibility x 15 add_defn_method x 20 test_invalid_formats M 1 n n x 20 test_invalid_formats i 41 7 0 64 7 1 64 7 2 64 7 3 64 7 4 64 7 5 64 7 6 64 7 7 64 35 8 19 0 15 7 8 7 9 35 2 56 10 50 11 0 11 I 9 I 1 I 0 I 0 n p 12 s 17 invalid/empty.wav s 34 invalid/incomplete_riff_header.wav s 27 invalid/bad_riff_header.wav s 31 invalid/bad_wavefile_format.wav s 27 invalid/no_format_chunk.wav s 30 invalid/empty_format_chunk.wav s 37 invalid/insufficient_format_chunk.wav s 25 invalid/no_data_chunk.wav x 3 new x 4 info M 1 p 2 x 9 for_block t n x 20 test_invalid_formats i 13 57 19 0 15 21 1 0 56 0 50 1 0 11 I 4 I 1 I 1 I 1 n p 2 M 1 p 2 x 9 for_block t n x 20 test_invalid_formats i 15 57 19 0 15 5 45 0 1 56 2 47 50 3 1 11 I 5 I 1 I 1 I 1 n p 4 x 18 InvalidFormatError n M 1 p 2 x 9 for_block t n x 20 test_invalid_formats i 18 45 0 1 21 2 0 5 21 1 0 47 49 2 1 49 3 2 11 I 5 I 0 I 0 I 0 I -2 p 4 x 6 Reader n x 7 fixture x 4 send p 3 I 0 I 32 I 12 x 34 /Code/wavefile/test/reader_test.rb p 0 x 12 assert_raise p 5 I 0 I 31 I 4 I 32 I f x 34 /Code/wavefile/test/reader_test.rb p 1 x 12 fixture_name x 4 each p 5 I 0 I 30 I 4 I 31 I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 11 method_name x 4 each p 23 I -1 I 13 I 0 I 16 I 3 I 19 I 6 I 1c I 9 I 1f I c I 22 I f I 25 I 12 I 28 I 15 I 2b I 1a I 14 I 1d I 30 I 29 x 34 /Code/wavefile/test/reader_test.rb p 1 x 16 invalid_fixtures x 24 test_unsupported_formats M 1 n n x 24 test_unsupported_formats i 25 7 0 64 7 1 64 7 2 64 7 3 64 35 4 19 0 15 20 0 56 4 50 5 0 11 I 5 I 1 I 0 I 0 n p 6 s 40 unsupported/unsupported_audio_format.wav s 43 unsupported/unsupported_bits_per_sample.wav s 33 unsupported/bad_channel_count.wav s 31 unsupported/bad_sample_rate.wav M 1 p 2 x 9 for_block t n x 24 test_unsupported_formats i 15 57 19 0 15 5 45 0 1 56 2 47 50 3 1 11 I 5 I 1 I 1 I 1 n p 4 x 22 UnsupportedFormatError n M 1 p 2 x 9 for_block t n x 24 test_unsupported_formats i 41 45 0 1 13 71 2 47 9 29 47 49 3 0 13 5 21 1 0 47 49 4 1 47 49 5 1 15 8 40 5 21 1 0 47 49 4 1 49 2 1 11 I 5 I 0 I 0 I 0 I -2 p 6 x 6 Reader n x 3 new x 8 allocate x 7 fixture x 10 initialize p 3 I 0 I 47 I 29 x 34 /Code/wavefile/test/reader_test.rb p 0 x 12 assert_raise p 5 I 0 I 46 I 4 I 47 I f x 34 /Code/wavefile/test/reader_test.rb p 1 x 12 fixture_name x 4 each p 15 I -1 I 37 I 0 I 3a I 3 I 3d I 6 I 40 I 9 I 43 I e I 38 I 11 I 46 I 19 x 34 /Code/wavefile/test/reader_test.rb p 1 x 20 unsupported_fixtures x 15 test_initialize M 1 n n x 15 test_initialize i 47 45 0 1 13 71 2 47 9 27 47 49 3 0 13 7 4 7 5 7 6 47 49 7 3 15 8 36 7 4 7 5 7 6 49 2 3 19 0 15 5 56 8 47 50 9 0 11 I 6 I 1 I 0 I 0 n p 10 x 6 Format n x 3 new x 8 allocate x 6 stereo x 6 pcm_16 I 5622 x 10 initialize M 1 p 2 x 9 for_block t n x 15 test_initialize i 444 58 37 19 0 15 37 19 1 15 15 5 7 0 20 0 47 101 1 7 2 20 1 47 101 1 7 3 63 5 47 49 4 1 19 2 15 45 5 6 13 71 7 47 9 59 47 49 8 0 13 20 2 47 49 9 1 15 8 64 20 2 49 7 1 19 3 15 5 45 10 11 20 0 49 12 1 20 3 49 13 0 49 14 0 47 49 15 2 15 5 5 20 1 47 49 16 1 20 3 49 13 0 49 17 0 47 49 15 2 15 5 7 18 20 3 49 13 0 49 19 0 47 49 15 2 15 5 3 20 3 49 20 0 47 49 15 2 15 5 20 2 20 3 49 21 0 47 49 15 2 15 5 78 20 3 49 22 0 47 49 15 2 15 5 7 23 20 3 49 24 0 47 49 15 2 15 20 3 49 25 0 15 45 5 26 13 71 7 47 9 208 47 49 8 0 13 20 2 21 1 0 47 49 9 2 15 8 216 20 2 21 1 0 49 7 2 19 3 15 5 80 20 3 49 13 0 49 14 0 47 49 15 2 15 5 4 16 20 3 49 13 0 49 17 0 47 49 15 2 15 5 7 27 20 3 49 13 0 49 19 0 47 49 15 2 15 5 3 20 3 49 20 0 47 49 15 2 15 5 20 2 20 3 49 21 0 47 49 15 2 15 5 78 20 3 49 22 0 47 49 15 2 15 5 7 23 20 3 49 24 0 47 49 15 2 15 20 3 49 25 0 15 45 5 28 20 2 56 29 50 7 1 19 3 15 5 45 10 30 20 0 49 12 1 20 3 49 13 0 49 14 0 47 49 15 2 15 5 5 20 1 47 49 16 1 20 3 49 13 0 49 17 0 47 49 15 2 15 5 7 18 20 3 49 13 0 49 19 0 47 49 15 2 15 5 20 3 49 20 0 47 49 31 1 15 5 20 2 20 3 49 21 0 47 49 15 2 15 5 7 32 20 3 49 22 0 47 49 15 2 15 5 7 23 20 3 49 24 0 47 49 15 2 11 I b I 4 I 2 I 2 n p 33 s 12 valid/valid_ x 4 to_s s 1 _ s 10 _44100.wav x 7 fixture x 6 Reader n x 3 new x 8 allocate x 10 initialize x 13 CHANNEL_ALIAS n x 2 [] x 6 format x 8 channels x 12 assert_equal x 23 extract_bits_per_sample x 15 bits_per_sample I ac44 x 11 sample_rate x 7 closed? x 9 file_name x 20 current_sample_frame I 8c0 x 19 total_sample_frames x 5 close n I 5622 n M 1 p 2 x 9 for_block t n x 15 test_initialize i 14 57 22 1 3 15 21 1 3 7 0 49 1 1 11 I 3 I 0 I 1 I 1 n p 2 I 400 x 4 read p 3 I 0 I 68 I e x 34 /Code/wavefile/test/reader_test.rb p 0 n x 6 assert I 400 p 57 I 0 I 4e I a I 4f I 24 I 52 I 43 I 53 I 59 I 54 I 6e I 55 I 7e I 56 I 8a I 57 I 97 I 58 I a3 I 59 I b0 I 5a I b6 I 5d I db I 5e I ea I 5f I fa I 60 I 10a I 61 I 116 I 62 I 123 I 63 I 12f I 64 I 13c I 65 I 142 I 68 I 14f I 69 I 165 I 6a I 17a I 6b I 18a I 6c I 195 I 6d I 1a2 I 6e I 1af I 6f I 1bc x 34 /Code/wavefile/test/reader_test.rb p 4 x 8 channels x 13 sample_format x 9 file_name x 6 reader x 17 exhaustively_test p 7 I -1 I 4b I 0 I 4c I 27 I 4e I 2f x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 format x 23 test_read_native_format M 1 n n x 23 test_read_native_format i 8 5 56 0 47 50 1 0 11 I 2 I 0 I 0 I 0 n p 2 M 1 p 2 x 9 for_block t n x 23 test_read_native_format i 171 58 37 19 0 15 37 19 1 15 15 5 7 0 20 0 47 101 1 7 2 20 1 47 101 1 7 3 63 5 7 4 47 49 5 2 19 2 15 5 4 3 20 2 49 6 0 47 49 7 2 15 5 7 4 7 4 4 192 35 3 20 2 56 8 50 9 0 47 49 7 2 15 5 45 10 11 20 0 49 12 1 20 1 49 12 1 4 128 49 13 1 20 2 78 49 12 1 49 14 0 47 49 7 2 15 5 45 10 15 20 0 49 12 1 20 1 49 12 1 4 128 49 13 1 20 2 79 49 12 1 49 14 0 47 49 7 2 15 5 45 10 16 20 0 49 12 1 20 1 49 12 1 4 24 49 13 1 20 2 80 49 12 1 49 14 0 47 49 7 2 11 I a I 3 I 2 I 2 n p 17 s 12 valid/valid_ x 4 to_s s 1 _ s 10 _44100.wav I 400 x 9 read_file x 6 length x 12 assert_equal M 1 p 2 x 9 for_block t n x 23 test_read_native_format i 13 57 19 0 15 20 0 49 0 0 49 1 0 11 I 3 I 1 I 1 I 1 n p 2 x 7 samples x 6 length p 3 I 0 I 78 I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 3 map x 17 SQUARE_WAVE_CYCLE n x 2 [] x 1 * x 7 samples n n p 15 I 0 I 74 I a I 75 I 26 I 77 I 33 I 78 I 48 I 79 I 69 I 7a I 8a I 7b I ab x 34 /Code/wavefile/test/reader_test.rb p 3 x 8 channels x 13 sample_format x 7 buffers x 17 exhaustively_test p 5 I -1 I 73 I 0 I 74 I 8 x 34 /Code/wavefile/test/reader_test.rb p 0 x 32 test_read_with_format_conversion M 1 n n x 32 test_read_with_format_conversion i 182 5 7 0 64 7 1 45 2 3 13 71 4 47 9 33 47 49 5 0 13 7 6 7 7 7 8 47 49 9 3 15 8 42 7 6 7 7 7 8 49 4 3 47 49 10 3 19 0 15 5 4 3 20 0 49 11 0 47 49 12 2 15 5 7 1 7 1 4 192 35 3 20 0 56 13 50 14 0 47 49 12 2 15 5 45 15 16 7 6 49 17 1 7 7 49 17 1 4 128 49 18 1 20 0 78 49 17 1 49 19 0 47 49 12 2 15 5 45 15 20 7 6 49 17 1 7 7 49 17 1 4 128 49 18 1 20 0 79 49 17 1 49 19 0 47 49 12 2 15 5 45 15 21 7 6 49 17 1 7 7 49 17 1 4 24 49 18 1 20 0 80 49 17 1 49 19 0 47 49 12 2 11 I 9 I 1 I 0 I 0 n p 22 s 33 valid/valid_mono_pcm_16_44100.wav I 400 x 6 Format n x 3 new x 8 allocate x 6 stereo x 5 pcm_8 I 5654 x 10 initialize x 9 read_file x 6 length x 12 assert_equal M 1 p 2 x 9 for_block t n x 32 test_read_with_format_conversion i 13 57 19 0 15 20 0 49 0 0 49 1 0 11 I 3 I 1 I 1 I 1 n p 2 x 7 samples x 6 length p 3 I 0 I 83 I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 3 map x 17 SQUARE_WAVE_CYCLE n x 2 [] x 1 * x 7 samples n n p 15 I -1 I 7f I 0 I 80 I 31 I 82 I 3e I 83 I 53 I 84 I 74 I 85 I 95 I 86 I b6 x 34 /Code/wavefile/test/reader_test.rb p 1 x 7 buffers x 27 test_read_with_padding_byte M 1 n n x 27 test_read_with_padding_byte i 164 5 7 0 64 7 1 47 49 2 2 19 0 15 5 4 3 20 0 49 3 0 47 49 4 2 15 5 7 1 7 1 4 191 35 3 20 0 56 5 50 6 0 47 49 4 2 15 5 45 7 8 7 9 49 10 1 7 11 49 10 1 4 128 49 12 1 20 0 78 49 10 1 49 13 0 47 49 4 2 15 5 45 7 14 7 9 49 10 1 7 11 49 10 1 4 128 49 12 1 20 0 79 49 10 1 49 13 0 47 49 4 2 15 5 45 7 15 7 9 49 10 1 7 11 49 10 1 4 23 49 12 1 4 88 4 88 4 88 4 88 4 167 4 167 4 167 35 7 81 16 20 0 80 49 10 1 49 13 0 47 49 4 2 11 I a I 1 I 0 I 0 n p 17 s 50 valid/valid_mono_pcm_8_44100_with_padding_byte.wav I 400 x 9 read_file x 6 length x 12 assert_equal M 1 p 2 x 9 for_block t n x 27 test_read_with_padding_byte i 13 57 19 0 15 20 0 49 0 0 49 1 0 11 I 3 I 1 I 1 I 1 n p 2 x 7 samples x 6 length p 3 I 0 I 8d I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 3 map x 17 SQUARE_WAVE_CYCLE n x 4 mono x 2 [] x 5 pcm_8 x 1 * x 7 samples n n x 1 + p 19 I -1 I 89 I 0 I 8a I d I 8c I 1a I 8d I 2f I 8e I 50 I 8f I 71 I 90 I 96 I 91 I 9f I 90 I a4 x 34 /Code/wavefile/test/reader_test.rb p 1 x 7 buffers x 31 test_each_buffer_no_block_given M 1 n n x 31 test_each_buffer_no_block_given i 54 45 0 1 13 71 2 47 9 29 47 49 3 0 13 5 7 4 64 47 49 5 1 47 49 6 1 15 8 40 5 7 4 64 47 49 5 1 49 2 1 19 0 15 5 45 7 8 56 9 47 50 10 1 11 I 5 I 1 I 0 I 0 n p 11 x 6 Reader n x 3 new x 8 allocate s 33 valid/valid_mono_pcm_16_44100.wav x 7 fixture x 10 initialize x 14 LocalJumpError n M 1 p 2 x 9 for_block t n x 31 test_each_buffer_no_block_given i 9 21 1 0 7 0 49 1 1 11 I 3 I 0 I 0 I 0 I -2 p 2 I 400 x 11 each_buffer p 3 I 0 I 96 I 9 x 34 /Code/wavefile/test/reader_test.rb p 0 x 12 assert_raise p 7 I -1 I 94 I 0 I 95 I 2b I 96 I 36 x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 reader x 30 test_each_buffer_native_format M 1 n n x 30 test_each_buffer_native_format i 8 5 56 0 47 50 1 0 11 I 2 I 0 I 0 I 0 n p 2 M 1 p 2 x 9 for_block t n x 30 test_each_buffer_native_format i 268 58 37 19 0 15 37 19 1 15 15 45 0 1 13 71 2 47 9 54 47 49 3 0 13 5 7 4 20 0 47 101 5 7 6 20 1 47 101 5 7 7 63 5 47 49 8 1 47 49 9 1 15 8 80 5 7 4 20 0 47 101 5 7 6 20 1 47 101 5 7 7 63 5 47 49 8 1 49 2 1 19 2 15 35 0 19 3 15 20 2 7 10 56 11 50 12 1 15 5 20 2 49 13 0 47 49 14 1 15 5 4 3 20 3 49 15 0 47 49 16 2 15 5 7 10 7 10 4 192 35 3 20 3 56 17 50 18 0 47 49 16 2 15 5 45 19 20 20 0 49 21 1 20 1 49 21 1 4 128 49 22 1 20 3 78 49 21 1 49 23 0 47 49 16 2 15 5 45 19 24 20 0 49 21 1 20 1 49 21 1 4 128 49 22 1 20 3 79 49 21 1 49 23 0 47 49 16 2 15 5 45 19 25 20 0 49 21 1 20 1 49 21 1 4 24 49 22 1 20 3 80 49 21 1 49 23 0 47 49 16 2 15 5 7 26 20 2 49 27 0 47 49 16 2 15 5 7 26 20 2 49 28 0 47 49 16 2 11 I d I 4 I 2 I 2 n p 29 x 6 Reader n x 3 new x 8 allocate s 12 valid/valid_ x 4 to_s s 1 _ s 10 _44100.wav x 7 fixture x 10 initialize I 400 M 1 p 2 x 9 for_block t n x 30 test_each_buffer_native_format i 13 57 19 0 15 21 1 3 20 0 49 0 1 11 I 4 I 1 I 1 I 1 n p 1 x 2 << p 3 I 0 I 9e I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 11 each_buffer x 7 closed? x 6 assert x 6 length x 12 assert_equal M 1 p 2 x 9 for_block t n x 30 test_each_buffer_native_format i 13 57 19 0 15 20 0 49 0 0 49 1 0 11 I 3 I 1 I 1 I 1 n p 2 x 7 samples x 6 length p 3 I 0 I a2 I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 3 map x 17 SQUARE_WAVE_CYCLE n x 2 [] x 1 * x 7 samples n n I 8c0 x 20 current_sample_frame x 19 total_sample_frames p 25 I 0 I 9a I a I 9b I 53 I 9d I 58 I 9e I 62 I a0 I 6d I a1 I 7a I a2 I 8f I a3 I b0 I a4 I d1 I a5 I f2 I a6 I ff I a7 I 10c x 34 /Code/wavefile/test/reader_test.rb p 4 x 8 channels x 13 sample_format x 6 reader x 7 buffers x 17 exhaustively_test p 5 I -1 I 99 I 0 I 9a I 8 x 34 /Code/wavefile/test/reader_test.rb p 0 x 39 test_each_buffer_with_format_conversion M 1 n n x 39 test_each_buffer_with_format_conversion i 336 45 0 1 13 71 2 47 9 65 47 49 3 0 13 5 7 4 64 47 49 5 1 45 6 7 13 71 2 47 9 49 47 49 3 0 13 7 8 7 9 7 10 47 49 11 3 15 8 58 7 8 7 9 7 10 49 2 3 47 49 11 2 15 8 112 5 7 4 64 47 49 5 1 45 6 12 13 71 2 47 9 100 47 49 3 0 13 7 8 7 9 7 10 47 49 11 3 15 8 109 7 8 7 9 7 10 49 2 3 49 2 2 19 0 15 5 80 20 0 49 13 0 49 14 0 47 49 15 2 15 5 4 8 20 0 49 13 0 49 16 0 47 49 15 2 15 5 7 10 20 0 49 13 0 49 17 0 47 49 15 2 15 35 0 19 1 15 20 0 7 18 56 19 50 20 1 15 5 4 3 20 1 49 21 0 47 49 15 2 15 5 7 18 7 18 4 192 35 3 20 1 56 22 50 23 0 47 49 15 2 15 5 45 24 25 7 8 49 26 1 7 9 49 26 1 4 128 49 27 1 20 1 78 49 26 1 49 28 0 47 49 15 2 15 5 45 24 29 7 8 49 26 1 7 9 49 26 1 4 128 49 27 1 20 1 79 49 26 1 49 28 0 47 49 15 2 15 5 45 24 30 7 8 49 26 1 7 9 49 26 1 4 24 49 27 1 20 1 80 49 26 1 49 28 0 47 49 15 2 15 5 7 31 20 0 49 32 0 47 49 15 2 15 5 7 31 20 0 49 33 0 47 49 15 2 11 I a I 2 I 0 I 0 n p 34 x 6 Reader n x 3 new x 8 allocate s 33 valid/valid_mono_pcm_16_44100.wav x 7 fixture x 6 Format n x 6 stereo x 5 pcm_8 I 5622 x 10 initialize n x 6 format x 8 channels x 12 assert_equal x 15 bits_per_sample x 11 sample_rate I 400 M 1 p 2 x 9 for_block t n x 39 test_each_buffer_with_format_conversion i 13 57 19 0 15 21 1 1 20 0 49 0 1 11 I 4 I 1 I 1 I 1 n p 1 x 2 << p 3 I 0 I b2 I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 11 each_buffer x 6 length M 1 p 2 x 9 for_block t n x 39 test_each_buffer_with_format_conversion i 13 57 19 0 15 20 0 49 0 0 49 1 0 11 I 3 I 1 I 1 I 1 n p 2 x 7 samples x 6 length p 3 I 0 I b5 I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 3 map x 17 SQUARE_WAVE_CYCLE n x 2 [] x 1 * x 7 samples n n I 8c0 x 20 current_sample_frame x 19 total_sample_frames p 29 I -1 I ab I 0 I ac I 73 I ad I 82 I ae I 92 I af I a2 I b1 I a7 I b2 I b1 I b4 I be I b5 I d3 I b6 I f4 I b7 I 115 I b8 I 136 I b9 I 143 I ba I 150 x 34 /Code/wavefile/test/reader_test.rb p 2 x 6 reader x 7 buffers x 34 test_each_buffer_with_padding_byte M 1 n n x 34 test_each_buffer_with_padding_byte i 235 35 0 19 0 15 45 0 1 13 71 2 47 9 34 47 49 3 0 13 5 7 4 64 47 49 5 1 47 49 6 1 15 8 45 5 7 4 64 47 49 5 1 49 2 1 19 1 15 20 1 7 7 56 8 50 9 1 15 5 4 3 20 0 49 10 0 47 49 11 2 15 5 7 7 7 7 4 191 35 3 20 0 56 12 50 13 0 47 49 11 2 15 5 45 14 15 7 16 49 17 1 7 18 49 17 1 4 128 49 19 1 20 0 78 49 17 1 49 20 0 47 49 11 2 15 5 45 14 21 7 16 49 17 1 7 18 49 17 1 4 128 49 19 1 20 0 79 49 17 1 49 20 0 47 49 11 2 15 5 45 14 22 7 16 49 17 1 7 18 49 17 1 4 23 49 19 1 4 88 4 88 4 88 4 88 4 167 4 167 4 167 35 7 81 23 20 0 80 49 17 1 49 20 0 47 49 11 2 15 5 7 24 20 1 49 25 0 47 49 11 2 15 5 7 24 20 1 49 26 0 47 49 11 2 11 I b I 2 I 0 I 0 n p 27 x 6 Reader n x 3 new x 8 allocate s 50 valid/valid_mono_pcm_8_44100_with_padding_byte.wav x 7 fixture x 10 initialize I 400 M 1 p 2 x 9 for_block t n x 34 test_each_buffer_with_padding_byte i 13 57 19 0 15 21 1 0 20 0 49 0 1 11 I 4 I 1 I 1 I 1 n p 1 x 2 << p 3 I 0 I c0 I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 11 each_buffer x 6 length x 12 assert_equal M 1 p 2 x 9 for_block t n x 34 test_each_buffer_with_padding_byte i 13 57 19 0 15 20 0 49 0 0 49 1 0 11 I 3 I 1 I 1 I 1 n p 2 x 7 samples x 6 length p 3 I 0 I c3 I d x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 3 map x 17 SQUARE_WAVE_CYCLE n x 4 mono x 2 [] x 5 pcm_8 x 1 * x 7 samples n n x 1 + I 8bf x 20 current_sample_frame x 19 total_sample_frames p 27 I -1 I bd I 0 I be I 5 I bf I 30 I c0 I 3a I c2 I 47 I c3 I 5c I c4 I 7d I c5 I 9e I c6 I c3 I c7 I cc I c6 I d1 I c8 I de I c9 I eb x 34 /Code/wavefile/test/reader_test.rb p 2 x 7 buffers x 6 reader x 42 test_read_non_data_chunk_with_padding_byte M 1 n n x 42 test_read_non_data_chunk_with_padding_byte i 108 45 0 1 13 71 2 47 9 29 47 49 3 0 13 5 7 4 64 47 49 5 1 47 49 6 1 15 8 40 5 7 4 64 47 49 5 1 49 2 1 19 0 15 20 0 7 7 49 8 1 19 1 15 5 20 1 49 9 0 45 10 11 7 12 49 13 1 7 14 49 13 1 4 128 49 15 1 47 49 16 2 15 5 7 7 20 0 49 17 0 47 49 16 2 15 5 7 18 20 0 49 19 0 47 49 16 2 11 I 6 I 2 I 0 I 0 n p 20 x 6 Reader n x 3 new x 8 allocate s 62 valid/valid_mono_pcm_16_44100_junk_chunk_with_padding_byte.wav x 7 fixture x 10 initialize I 400 x 4 read x 7 samples x 17 SQUARE_WAVE_CYCLE n x 4 mono x 2 [] x 6 pcm_16 x 1 * x 12 assert_equal x 20 current_sample_frame I 8c0 x 19 total_sample_frames p 13 I -1 I cc I 0 I d0 I 2b I d1 I 35 I d2 I 52 I d3 I 5f I d4 I 6c x 34 /Code/wavefile/test/reader_test.rb p 2 x 6 reader x 6 buffer x 12 test_closed? M 1 n n x 12 test_closed? i 149 45 0 1 13 71 2 47 9 29 47 49 3 0 13 5 7 4 64 47 49 5 1 47 49 6 1 15 8 40 5 7 4 64 47 49 5 1 49 2 1 19 0 15 5 3 20 0 49 7 0 47 49 8 2 15 20 0 49 9 0 15 5 20 0 49 7 0 47 49 10 1 15 45 0 11 13 71 2 47 9 101 47 49 3 0 13 5 7 4 64 47 49 5 1 47 49 6 1 15 8 112 5 7 4 64 47 49 5 1 49 2 1 19 0 15 5 3 20 0 49 7 0 47 49 8 2 15 20 0 7 12 56 13 50 14 1 15 5 2 20 0 49 7 0 47 49 8 2 11 I 5 I 1 I 0 I 0 n p 15 x 6 Reader n x 3 new x 8 allocate s 33 valid/valid_mono_pcm_16_44100.wav x 7 fixture x 10 initialize x 7 closed? x 12 assert_equal x 5 close x 6 assert n I 400 M 1 p 2 x 9 for_block t n x 12 test_closed? i 6 57 19 0 15 1 11 I 3 I 1 I 1 I 1 n p 0 p 3 I 0 I e0 I 6 x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 buffer x 11 each_buffer p 19 I -1 I d7 I 0 I d8 I 2b I d9 I 37 I da I 3d I db I 48 I de I 73 I df I 7f I e0 I 89 I e3 I 95 x 34 /Code/wavefile/test/reader_test.rb p 1 x 6 reader x 21 test_read_after_close M 1 n n x 21 test_read_after_close i 70 45 0 1 13 71 2 47 9 29 47 49 3 0 13 5 7 4 64 47 49 5 1 47 49 6 1 15 8 40 5 7 4 64 47 49 5 1 49 2 1 19 0 15 20 0 7 7 49 8 1 19 1 15 20 0 49 9 0 15 5 45 10 11 56 12 47 50 13 1 11 I 6 I 2 I 0 I 0 n p 14 x 6 Reader n x 3 new x 8 allocate s 33 valid/valid_mono_pcm_16_44100.wav x 7 fixture x 10 initialize I 400 x 4 read x 5 close x 7 IOError n M 1 p 2 x 9 for_block t n x 21 test_read_after_close i 9 21 1 0 7 0 49 1 1 11 I 3 I 0 I 0 I 0 I -2 p 2 I 400 x 4 read p 3 I 0 I ea I 9 x 34 /Code/wavefile/test/reader_test.rb p 0 x 12 assert_raise p 11 I -1 I e6 I 0 I e7 I 2b I e8 I 35 I e9 I 3b I ea I 46 x 34 /Code/wavefile/test/reader_test.rb p 2 x 6 reader x 6 buffer x 31 test_sample_counts_manual_reads M 1 n n x 31 test_sample_counts_manual_reads i 8 5 56 0 47 50 1 0 11 I 2 I 0 I 0 I 0 n p 2 M 1 p 2 x 9 for_block t n x 31 test_sample_counts_manual_reads i 547 58 37 19 0 15 37 19 1 15 15 45 0 1 13 71 2 47 9 54 47 49 3 0 13 5 7 4 20 0 47 101 5 7 6 20 1 47 101 5 7 7 63 5 47 49 8 1 47 49 9 1 15 8 80 5 7 4 20 0 47 101 5 7 6 20 1 47 101 5 7 7 63 5 47 49 8 1 49 2 1 19 2 15 5 78 20 2 49 10 0 47 49 11 2 15 5 7 12 20 2 49 13 0 47 49 11 2 15 5 44 43 14 4 5 49 15 1 13 7 16 78 49 17 2 15 13 7 18 78 49 17 2 15 13 7 19 78 49 17 2 15 13 7 20 4 50 49 17 2 15 13 7 21 7 12 49 17 2 15 20 2 49 22 0 47 49 23 2 15 20 2 7 24 49 25 1 15 5 7 24 20 2 49 10 0 47 49 11 2 15 5 7 12 20 2 49 13 0 47 49 11 2 15 5 44 43 14 4 5 49 15 1 13 7 16 78 49 17 2 15 13 7 18 78 49 17 2 15 13 7 19 78 49 17 2 15 13 7 20 4 50 49 17 2 15 13 7 21 7 12 49 17 2 15 20 2 49 22 0 47 49 23 2 15 20 2 7 24 49 25 1 15 5 7 26 20 2 49 10 0 47 49 11 2 15 5 7 12 20 2 49 13 0 47 49 11 2 15 5 44 43 14 4 5 49 15 1 13 7 16 78 49 17 2 15 13 7 18 78 49 17 2 15 13 7 19 78 49 17 2 15 13 7 20 4 50 49 17 2 15 13 7 21 7 12 49 17 2 15 20 2 49 22 0 47 49 23 2 15 20 2 4 192 49 25 1 15 5 7 12 20 2 49 10 0 47 49 11 2 15 5 7 12 20 2 49 13 0 47 49 11 2 15 5 44 43 14 4 5 49 15 1 13 7 16 78 49 17 2 15 13 7 18 78 49 17 2 15 13 7 19 78 49 17 2 15 13 7 20 4 50 49 17 2 15 13 7 21 7 12 49 17 2 15 20 2 49 22 0 47 49 23 2 15 20 2 49 27 0 15 5 7 12 20 2 49 10 0 47 49 11 2 15 5 7 12 20 2 49 13 0 47 49 11 2 15 5 44 43 14 4 5 49 15 1 13 7 16 78 49 17 2 15 13 7 18 78 49 17 2 15 13 7 19 78 49 17 2 15 13 7 20 4 50 49 17 2 15 13 7 21 7 12 49 17 2 15 20 2 49 22 0 47 49 23 2 11 I c I 3 I 2 I 2 n p 28 x 6 Reader n x 3 new x 8 allocate s 12 valid/valid_ x 4 to_s s 1 _ s 10 _44100.wav x 7 fixture x 10 initialize x 20 current_sample_frame x 12 assert_equal I 8c0 x 19 total_sample_frames x 4 Hash x 16 new_from_literal x 5 hours x 3 []= x 7 minutes x 7 seconds x 12 milliseconds x 12 sample_count x 14 total_duration x 13 test_duration I 400 x 4 read I 800 x 5 close p 63 I 0 I ee I a I ef I 53 I f1 I 5f I f2 I 6c I f3 I 9f I f4 I a4 I f3 I a9 I f7 I b1 I f8 I be I f9 I cb I fa I fe I fb I 103 I fa I 108 I fe I 110 I ff I 11d I 100 I 12a I 101 I 15d I 102 I 162 I 101 I 167 I 105 I 16f I 106 I 17c I 107 I 189 I 108 I 1bc I 109 I 1c1 I 108 I 1c6 I 10c I 1cc I 10d I 1d9 I 10e I 1e6 I 10f I 219 I 110 I 21e I 10f I 223 x 34 /Code/wavefile/test/reader_test.rb p 3 x 8 channels x 13 sample_format x 6 reader x 17 exhaustively_test p 5 I -1 I ed I 0 I ee I 8 x 34 /Code/wavefile/test/reader_test.rb p 0 x 30 test_sample_counts_each_buffer M 1 n n x 30 test_sample_counts_each_buffer i 8 5 56 0 47 50 1 0 11 I 2 I 0 I 0 I 0 n p 2 M 1 p 2 x 9 for_block t n x 30 test_sample_counts_each_buffer i 139 58 37 19 0 15 37 19 1 15 15 7 0 7 1 7 2 35 3 19 2 15 5 7 3 20 0 47 101 4 7 5 20 1 47 101 4 7 6 63 5 47 49 7 1 19 3 15 45 8 9 13 71 10 47 9 70 47 49 11 0 13 20 3 47 49 12 1 15 8 75 20 3 49 10 1 19 4 15 5 78 20 4 49 13 0 47 49 14 2 15 5 7 2 20 4 49 15 0 47 49 14 2 15 20 4 7 0 56 16 50 17 1 15 5 7 2 20 4 49 13 0 47 49 14 2 15 5 7 2 20 4 49 15 0 47 49 14 2 11 I c I 5 I 2 I 2 n p 18 I 400 I 800 I 8c0 s 12 valid/valid_ x 4 to_s s 1 _ s 10 _44100.wav x 7 fixture x 6 Reader n x 3 new x 8 allocate x 10 initialize x 20 current_sample_frame x 12 assert_equal x 19 total_sample_frames M 1 p 2 x 9 for_block t n x 30 test_sample_counts_each_buffer i 42 57 19 0 15 21 1 2 78 49 0 1 19 1 15 5 20 1 21 1 4 49 1 0 47 49 2 2 15 5 7 3 21 1 4 49 4 0 47 49 2 2 11 I 6 I 2 I 1 I 1 n p 5 x 6 slice! x 20 current_sample_frame x 12 assert_equal I 8c0 x 19 total_sample_frames p 9 I 0 I 11e I 4 I 11f I e I 121 I 1c I 122 I 2a x 34 /Code/wavefile/test/reader_test.rb p 2 x 6 buffer x 15 expected_result x 11 each_buffer p 19 I 0 I 115 I a I 116 I 15 I 118 I 2f I 119 I 4e I 11b I 5a I 11c I 67 I 11e I 71 I 125 I 7e I 126 I 8b x 34 /Code/wavefile/test/reader_test.rb p 5 x 8 channels x 13 sample_format x 16 expected_results x 9 file_name x 6 reader x 17 exhaustively_test p 5 I -1 I 114 I 0 I 115 I 8 x 34 /Code/wavefile/test/reader_test.rb p 0 x 7 private x 9 read_file M 1 n n x 9 read_file i 127 23 2 10 8 1 19 2 15 35 0 19 3 15 45 0 1 13 71 2 47 9 43 47 49 3 0 13 5 20 0 47 49 4 1 20 2 47 49 5 2 15 8 55 5 20 0 47 49 4 1 20 2 49 2 2 19 4 15 26 93 0 15 29 88 0 2 9 84 20 3 20 4 20 1 49 6 1 49 7 1 15 68 8 65 1 30 8 119 26 93 1 15 24 13 45 8 9 12 49 10 1 10 105 8 114 15 20 4 49 11 0 25 8 119 15 92 1 27 34 92 0 27 15 20 3 11 11 I b I 5 I 2 I 3 n p 12 x 6 Reader n x 3 new x 8 allocate x 7 fixture x 10 initialize x 4 read x 2 << x 8 EOFError n x 3 === x 5 close p 21 I -1 I 12c I 8 I 12d I d I 12e I 3a I 131 I 44 I 132 I 54 I 0 I 5d I 134 I 6a I 135 I 77 I 0 I 7b I 138 I 7f x 34 /Code/wavefile/test/reader_test.rb p 5 x 9 file_name x 11 buffer_size x 6 format x 7 buffers x 6 reader x 7 fixture M 1 n n x 7 fixture i 17 45 0 1 47 101 2 7 3 20 0 47 101 2 63 3 11 11 I 4 I 1 I 1 I 1 n p 4 x 17 FIXTURE_ROOT_PATH n x 4 to_s s 1 / p 5 I -1 I 13b I 0 I 13c I 11 x 34 /Code/wavefile/test/reader_test.rb p 1 x 12 fixture_name x 23 extract_bits_per_sample M 1 n n x 23 extract_bits_per_sample i 18 20 0 49 0 0 7 1 64 49 2 1 49 3 0 49 4 0 11 I 3 I 1 I 1 I 1 n p 5 x 4 to_s s 1 _ x 5 split x 4 last x 4 to_i p 5 I -1 I 13f I 0 I 140 I 12 x 34 /Code/wavefile/test/reader_test.rb p 1 x 13 sample_format x 13 test_duration M 1 n n x 13 test_duration i 90 5 20 0 7 0 49 1 1 20 1 49 0 0 47 49 2 2 15 5 20 0 7 3 49 1 1 20 1 49 3 0 47 49 2 2 15 5 20 0 7 4 49 1 1 20 1 49 4 0 47 49 2 2 15 5 20 0 7 5 49 1 1 20 1 49 5 0 47 49 2 2 15 5 20 0 7 6 49 1 1 20 1 49 7 0 47 49 2 2 11 I 5 I 2 I 2 I 2 n p 8 x 5 hours x 2 [] x 12 assert_equal x 7 minutes x 7 seconds x 12 milliseconds x 12 sample_count x 18 sample_frame_count p 13 I -1 I 143 I 0 I 144 I 12 I 145 I 24 I 146 I 36 I 147 I 48 I 148 I 5a x 34 /Code/wavefile/test/reader_test.rb p 2 x 13 expected_hash x 8 duration p 47 I 2 I 8 I b I a I 15 I d I 23 I 13 I 31 I 37 I 3f I 4b I 4d I 73 I 5b I 7f I 69 I 89 I 77 I 94 I 85 I 99 I 93 I ab I a1 I bd I af I cc I bd I d7 I cb I e6 I d9 I ed I e7 I 114 I f5 I 12a I f9 I 12c I 107 I 13b I 115 I 13f I 123 I 143 I 131 x 34 /Code/wavefile/test/reader_test.rb p 0 x 13 attach_method p 11 I 0 I 1 I 9 I 2 I 12 I 3 I 1b I 5 I 24 I 7 I 47 x 34 /Code/wavefile/test/reader_test.rb p 0 wavefile-0.6.0/test/fixtures/0000775000175000017500000000000012647143014015143 5ustar hannohannowavefile-0.6.0/test/fixtures/unsupported/0000775000175000017500000000000012647143014017533 5ustar hannohannowavefile-0.6.0/test/fixtures/unsupported/bad_audio_format.wav0000644000175000017500000000004412647143014023525 0ustar hannohannoRIFFdWAVEfmt wavefile-0.6.0/test/fixtures/unsupported/bad_channel_count.wav0000644000175000017500000000006012647143014023672 0ustar hannohannoRIFFWAVEfmt D¬±dataJOELwavefile-0.6.0/test/fixtures/unsupported/unsupported_audio_format.wav0000644000175000017500000000006012647143014025365 0ustar hannohannoRIFFWAVEfmt D¬±dataJOELwavefile-0.6.0/test/fixtures/unsupported/README.markdown0000644000175000017500000000111612647143014022231 0ustar hannohannoThe files in this folder are wave files that do not violate the wave file spec, but can not be read by the WaveFile gem. * **unsupported_audio_format.wav** - The audio format defined in the format chunk is 2, or ADPCM. While a valid format, this gem only supports 1 (PCM). * **unsupported_bits_per_sample.wav** - The bits per sample is 24. While this is a valid sample rate, this gem only supports 8, 16, and 32 bits per sample. * **bad_channel_count.wav** - The channel count defined in the format chunk is 0. * **bad_sample_rate.wav** - The sample rate defined in the format chunk is 0. wavefile-0.6.0/test/fixtures/unsupported/bad_sample_rate.wav0000644000175000017500000000006012647143014023346 0ustar hannohannoRIFFWAVEfmt ±dataJOELwavefile-0.6.0/test/fixtures/unsupported/unsupported_bits_per_sample.wav0000644000175000017500000000005412647143014026067 0ustar hannohannoRIFF¤4WAVEfmt D¬˜ data€4wavefile-0.6.0/test/fixtures/actual_output/0000775000175000017500000000000012647143014020034 5ustar hannohannowavefile-0.6.0/test/fixtures/actual_output/valid_mono_pcm_8_44100_with_padding_byte.wav0000644000175000017500000000435412647143014030270 0ustar hannohannoRIFFãWAVEfmt D¬D¬data¿XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§wavefile-0.6.0/test/fixtures/invalid/0000775000175000017500000000000012647143014016571 5ustar hannohannowavefile-0.6.0/test/fixtures/invalid/incomplete_riff_header.wav0000644000175000017500000000000512647143014023756 0ustar hannohannoRIFF wavefile-0.6.0/test/fixtures/invalid/bad_riff_header.wav0000644000175000017500000000003012647143014022343 0ustar hannohannoThis is not a wave file wavefile-0.6.0/test/fixtures/invalid/bad_wavefile_format.wav0000644000175000017500000000001412647143014023261 0ustar hannohannoRIFFdMP3 wavefile-0.6.0/test/fixtures/invalid/insufficient_format_chunk.wav0000644000175000017500000000003412647143014024531 0ustar hannohannoRIFF WAVEfmt D¬wavefile-0.6.0/test/fixtures/invalid/no_data_chunk.wav0000644000175000017500000000004412647143014022101 0ustar hannohannoRIFFWAVEfmt D¬±wavefile-0.6.0/test/fixtures/invalid/empty.wav0000644000175000017500000000000012647143014020432 0ustar hannohannowavefile-0.6.0/test/fixtures/invalid/README.markdown0000644000175000017500000000162012647143014021267 0ustar hannohannoThe files in this folder are not valid wave files, and should not be readable by the WaveFile gem and other audio tools/programs. * **empty.wav** - An empty file, size of 0 bytes. * **incomplete_riff_header.wav** - The file consists of the characters "RIFF" and nothing else. * **bad_riff_header.wav** - The first four bytes in the file are not "RIFF", which is a magic number required for wave files. * **bad_wavefile_format.wav** - The format code inside the RIFF header is not "WAVE". * **no_format_chunk.wav** - The file contains a valid RIFF header, but not after that. * **empty_format_chunk.wav** - The format chunk has no data in it, despite the format chunk header indicating is is 16 bytes long. * **insufficient_format_chunk.wav** - The format chunk has some data, but not the minimum amount required. * **no_data_chunk.wav** - The RIFF header and format chunk are valid, but there is no data chunk. wavefile-0.6.0/test/fixtures/invalid/empty_format_chunk.wav0000644000175000017500000000002412647143014023200 0ustar hannohannoRIFFWAVEfmt wavefile-0.6.0/test/fixtures/invalid/no_format_chunk.wav0000644000175000017500000000001412647143014022455 0ustar hannohannoRIFFWAVEwavefile-0.6.0/test/fixtures/valid/0000775000175000017500000000000012647143014016242 5ustar hannohannowavefile-0.6.0/test/fixtures/valid/valid_stereo_pcm_24_44100.wav0000644000175000017500000003225412647143014023341 0ustar hannohannoRIFF¤4WAVEfmt D¬˜ data€4À½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@Bwavefile-0.6.0/test/fixtures/valid/valid_mono_pcm_24_44100.wav0000644000175000017500000001515412647143014023010 0ustar hannohannoRIFFdWAVEfmt D¬Ìdata@À½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@Bwavefile-0.6.0/test/fixtures/valid/valid_tri_pcm_32_44100.wav0000644000175000017500000006445412647143014022644 0ustar hannohannoRIFF$iWAVEfmt D¬0 datai6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;wavefile-0.6.0/test/fixtures/valid/valid_mono_float_64_44100.wav0000644000175000017500000004307212647143014023342 0ustar hannohannoRIFF2FWAVEfmt D¬ b@factÀdataFà¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?à¿à¿à¿à¿à?à?à?à?wavefile-0.6.0/test/fixtures/valid/valid_mono_pcm_16_44100.wav0000644000175000017500000001065412647143014023011 0ustar hannohannoRIFF¤WAVEfmt D¬ˆXdata€ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''wavefile-0.6.0/test/fixtures/valid/valid_stereo_pcm_8_44100.wav0000644000175000017500000001065412647143014023263 0ustar hannohannoRIFF¤WAVEfmt D¬ˆXdata€XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§XXXXXXXX§§§§§§§§wavefile-0.6.0/test/fixtures/valid/no_samples.wav0000644000175000017500000000005412647143014021116 0ustar hannohannoRIFF$WAVEfmt D¬D¬datawavefile-0.6.0/test/fixtures/valid/valid_mono_pcm_8_44100_with_padding_byte.wav0000644000175000017500000000435412647143014026476 0ustar hannohannoRIFFãWAVEfmt D¬D¬data¿XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§wavefile-0.6.0/test/fixtures/valid/valid_mono_float_32_44100.wav0000644000175000017500000002147212647143014023335 0ustar hannohannoRIFF2#WAVEfmt D¬± factÀdata#¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????¿¿¿¿????wavefile-0.6.0/test/fixtures/valid/valid_tri_float_64_44100.wav0000644000175000017500000015107212647143014023170 0ustar hannohannoRIFF2ÒWAVEfmt D¬`&@factÀdataÒà¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à?à?à?à?wavefile-0.6.0/test/fixtures/valid/valid_stereo_float_64_44100.wav0000644000175000017500000010607212647143014023673 0ustar hannohannoRIFF2ŒWAVEfmt D¬@Ä @factÀdataŒà¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?à¿à¿à¿à¿à¿à¿à¿à¿à?à?à?à?à?à?à?à?wavefile-0.6.0/test/fixtures/valid/valid_tri_pcm_24_44100.wav0000644000175000017500000004735412647143014022645 0ustar hannohannoRIFFäNWAVEfmt D¬d dataÀNÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@BÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ðÀ½ð@B@B@B@B@B@B@B@B@B@B@B@Bwavefile-0.6.0/test/fixtures/valid/valid_tri_pcm_8_44100.wav0000644000175000017500000001515412647143014022560 0ustar hannohannoRIFFdWAVEfmt D¬Ìdata@XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§XXXXXXXXXXXX§§§§§§§§§§§§wavefile-0.6.0/test/fixtures/valid/valid_stereo_float_32_44100.wav0000644000175000017500000004307212647143014023666 0ustar hannohannoRIFF2FWAVEfmt D¬ b factÀdataF¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????¿¿¿¿¿¿¿¿????????wavefile-0.6.0/test/fixtures/valid/README.markdown0000644000175000017500000000044312647143014020742 0ustar hannohannoThe files in this folder are valid wave files that the WaveFile gem should be able to read. Note that these files won't necessarily sound like anything if you play them. They intentionally have a small amount of sample data to make tests easy to write and test failures easier to diagnose. wavefile-0.6.0/test/fixtures/valid/valid_tri_pcm_16_44100.wav0000644000175000017500000003225412647143014022637 0ustar hannohannoRIFF¤4WAVEfmt D¬˜ data€4ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''ðØðØðØðØðØðØðØðØðØðØðØðØ''''''''''''wavefile-0.6.0/test/fixtures/valid/valid_mono_pcm_32_44100.wav0000644000175000017500000002145412647143014023007 0ustar hannohannoRIFF$#WAVEfmt D¬± data#6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;wavefile-0.6.0/test/fixtures/valid/valid_mono_pcm_8_44100.wav0000644000175000017500000000435412647143014022732 0ustar hannohannoRIFFäWAVEfmt D¬D¬dataÀXXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§XXXX§§§§wavefile-0.6.0/test/fixtures/valid/valid_stereo_pcm_16_44100.wav0000644000175000017500000002145412647143014023342 0ustar hannohannoRIFF$#WAVEfmt D¬±data#ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''ðØðØðØðØðØðØðØðØ''''''''wavefile-0.6.0/test/fixtures/valid/valid_mono_pcm_16_44100_junk_chunk_with_padding_byte.wav0000644000175000017500000001067612647143014031000 0ustar hannohannoRIFF¤WAVEfmt D¬ˆXJUNK 123456789data€ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''ðØðØðØðØ''''wavefile-0.6.0/test/fixtures/valid/valid_tri_float_32_44100.wav0000644000175000017500000006447212647143014023172 0ustar hannohannoRIFF2iWAVEfmt D¬0 factÀdatai¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????¿¿¿¿¿¿¿¿¿¿¿¿????????????wavefile-0.6.0/test/fixtures/valid/valid_stereo_pcm_32_44100.wav0000644000175000017500000004305412647143014023340 0ustar hannohannoRIFF$FWAVEfmt D¬ b dataF6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄ6eÄÊš;Êš;Êš;Êš;Êš;Êš;Êš;Êš;wavefile-0.6.0/test/info_test.rb0000644000175000017500000000203712647143014015611 0ustar hannohannorequire 'test/unit' require 'wavefile.rb' include WaveFile class InfoTest < Test::Unit::TestCase FILE_NAME = "foo.wav" SECONDS_IN_MINUTE = 60 SECONDS_IN_HOUR = SECONDS_IN_MINUTE * 60 def test_basic format_chunk = { :audio_format => 1, :channels => 2, :sample_rate => 44100, :byte_rate => 176400, :block_align => 4, :bits_per_sample => 16 } info = Info.new(FILE_NAME, format_chunk, 44100) assert_equal(FILE_NAME, info.file_name) assert_equal(1, info.audio_format) assert_equal(2, info.channels) assert_equal(44100, info.sample_rate) assert_equal(176400, info.byte_rate) assert_equal(4, info.block_align) assert_equal(16, info.bits_per_sample) assert_equal(44100, info.sample_frame_count) assert_equal(0, info.duration.hours) assert_equal(0, info.duration.minutes) assert_equal(1, info.duration.seconds) assert_equal(0, info.duration.milliseconds) assert_equal(44100, info.duration.sample_frame_count) assert_equal(44100, info.duration.sample_rate) end end wavefile-0.6.0/test/duration_test.rb0000644000175000017500000000563312647143014016510 0ustar hannohannorequire 'test/unit' require 'wavefile.rb' include WaveFile class DurationTest < Test::Unit::TestCase SECONDS_IN_MINUTE = 60 SECONDS_IN_HOUR = SECONDS_IN_MINUTE * 60 def test_constructor # Test common sample rates (22050 and 44100), and some crazy arbitrary sample rate (12346) [22050, 44100, 12346].each do |sample_rate| duration = Duration.new(0, sample_rate) assert_equal(0, duration.hours) assert_equal(0, duration.minutes) assert_equal(0, duration.seconds) assert_equal(0, duration.milliseconds) assert_equal(0, duration.sample_frame_count) assert_equal(sample_rate, duration.sample_rate) duration = Duration.new(sample_rate / 2, sample_rate) assert_equal(0, duration.hours) assert_equal(0, duration.minutes) assert_equal(0, duration.seconds) assert_equal(500, duration.milliseconds) assert_equal(sample_rate / 2, duration.sample_frame_count) assert_equal(sample_rate, duration.sample_rate) duration = Duration.new(sample_rate, sample_rate) assert_equal(0, duration.hours) assert_equal(0, duration.minutes) assert_equal(1, duration.seconds) assert_equal(0, duration.milliseconds) assert_equal(sample_rate, duration.sample_frame_count) assert_equal(sample_rate, duration.sample_rate) duration = Duration.new(sample_rate * SECONDS_IN_MINUTE, sample_rate) assert_equal(0, duration.hours) assert_equal(1, duration.minutes) assert_equal(0, duration.seconds) assert_equal(0, duration.milliseconds) assert_equal(sample_rate * SECONDS_IN_MINUTE, duration.sample_frame_count) assert_equal(sample_rate, duration.sample_rate) duration = Duration.new(sample_rate * SECONDS_IN_HOUR, sample_rate) assert_equal(1, duration.hours) assert_equal(0, duration.minutes) assert_equal(0, duration.seconds) assert_equal(0, duration.milliseconds) assert_equal(sample_rate * SECONDS_IN_HOUR, duration.sample_frame_count) assert_equal(sample_rate, duration.sample_rate) sample_frame_count = (sample_rate * SECONDS_IN_MINUTE) + sample_rate + (sample_rate / 2) duration = Duration.new(sample_frame_count, sample_rate) assert_equal(0, duration.hours) assert_equal(1, duration.minutes) assert_equal(1, duration.seconds) assert_equal(500, duration.milliseconds) assert_equal(sample_frame_count, duration.sample_frame_count) assert_equal(sample_rate, duration.sample_rate) end # Test for when the number of hours is more than a day. samples_per_hour = 44100 * 60 * 60 duration = Duration.new(samples_per_hour * 25, 44100) assert_equal(25, duration.hours) assert_equal(0, duration.minutes) assert_equal(0, duration.seconds) assert_equal(0, duration.milliseconds) assert_equal(samples_per_hour * 25, duration.sample_frame_count) assert_equal(44100, duration.sample_rate) end end wavefile-0.6.0/test/format_test.rb0000644000175000017500000001275312647143014016154 0ustar hannohannorequire 'test/unit' require 'wavefile.rb' include WaveFile class FormatTest < Test::Unit::TestCase def test_valid_channels [1, 2, 3, 4, 65535].each do |valid_channels| assert_equal(valid_channels, Format.new(valid_channels, :pcm_16, 44100).channels) end assert_equal(1, Format.new(:mono, :pcm_16, 44100).channels) assert_equal(2, Format.new(:stereo, :pcm_16, 44100).channels) end def test_invalid_channels ["dsfsfsdf", :foo, 0, -1, 65536].each do |invalid_channels| assert_raise(InvalidFormatError) { Format.new(invalid_channels, :pcm_16, 44100) } end end def test_valid_sample_format assert_equal(:pcm, Format.new(:mono, 8, 44100).sample_format) assert_equal(:pcm, Format.new(:mono, 16, 44100).sample_format) assert_equal(:pcm, Format.new(:mono, 24, 44100).sample_format) assert_equal(:pcm, Format.new(:mono, 32, 44100).sample_format) assert_equal(:pcm, Format.new(:mono, :pcm_8, 44100).sample_format) assert_equal(:pcm, Format.new(:mono, :pcm_16, 44100).sample_format) assert_equal(:pcm, Format.new(:mono, :pcm_24, 44100).sample_format) assert_equal(:pcm, Format.new(:mono, :pcm_32, 44100).sample_format) assert_equal(:float, Format.new(:mono, :float, 44100).sample_format) assert_equal(:float, Format.new(:mono, :float_32, 44100).sample_format) assert_equal(:float, Format.new(:mono, :float_64, 44100).sample_format) end def test_invalid_sample_format ["dsfsfsdf", :foo, 12, :pcm_14, :float_20].each do |invalid_sample_format| assert_raise(InvalidFormatError) { Format.new(:mono, invalid_sample_format, 44100) } end end def test_valid_bits_per_sample assert_equal(8, Format.new(:mono, 8, 44100).bits_per_sample) assert_equal(16, Format.new(:mono, 16, 44100).bits_per_sample) assert_equal(24, Format.new(:mono, 24, 44100).bits_per_sample) assert_equal(32, Format.new(:mono, 32, 44100).bits_per_sample) assert_equal(8, Format.new(:mono, :pcm_8, 44100).bits_per_sample) assert_equal(16, Format.new(:mono, :pcm_16, 44100).bits_per_sample) assert_equal(24, Format.new(:mono, :pcm_24, 44100).bits_per_sample) assert_equal(32, Format.new(:mono, :pcm_32, 44100).bits_per_sample) assert_equal(32, Format.new(:mono, :float, 44100).bits_per_sample) assert_equal(32, Format.new(:mono, :float_32, 44100).bits_per_sample) assert_equal(64, Format.new(:mono, :float_64, 44100).bits_per_sample) end def test_invalid_bits_per_sample ["dsfsfsdf", :foo, :pcm, 0, 12, :pcm_14, :pcm_abc, :float_40].each do |invalid_sample_format| assert_raise(InvalidFormatError) { Format.new(:mono, invalid_sample_format, 44100) } end end def test_valid_sample_rate [1, 44100, 4294967296].each do |valid_sample_rate| assert_equal(valid_sample_rate, Format.new(:mono, :pcm_16, valid_sample_rate).sample_rate) end end def test_invalid_sample_rate ["dsfsfsdf", :foo, 0, -1, 4294967297].each do |invalid_sample_rate| assert_raise(InvalidFormatError) { Format.new(:mono, :pcm_16, invalid_sample_rate) } end end def test_byte_and_block_align [1, :mono].each do |one_channel| [:pcm_8, 8].each do |format_code| format = Format.new(one_channel, format_code, 44100) assert_equal(44100, format.byte_rate) assert_equal(1, format.block_align) end [:pcm_16, 16].each do |format_code| format = Format.new(one_channel, format_code, 44100) assert_equal(88200, format.byte_rate) assert_equal(2, format.block_align) end [:pcm_24, 24].each do |format_code| format = Format.new(one_channel, format_code, 44100) assert_equal(132300, format.byte_rate) assert_equal(3, format.block_align) end [:pcm_32, 32, :float, :float_32].each do |format_code| format = Format.new(one_channel, format_code, 44100) assert_equal(176400, format.byte_rate) assert_equal(4, format.block_align) end format = Format.new(one_channel, :float_64, 44100) assert_equal(352800, format.byte_rate) assert_equal(8, format.block_align) end [2, :stereo].each do |two_channels| [:pcm_8, 8].each do |format_code| format = Format.new(two_channels, format_code, 44100) assert_equal(88200, format.byte_rate) assert_equal(2, format.block_align) end [:pcm_16, 16].each do |format_code| format = Format.new(two_channels, format_code, 44100) assert_equal(176400, format.byte_rate) assert_equal(4, format.block_align) end [:pcm_24, 24].each do |format_code| format = Format.new(two_channels, format_code, 44100) assert_equal(264600, format.byte_rate) assert_equal(6, format.block_align) end [:pcm_32, 32, :float, :float_32].each do |format_code| format = Format.new(two_channels, format_code, 44100) assert_equal(352800, format.byte_rate) assert_equal(8, format.block_align) end format = Format.new(two_channels, :float_64, 44100) assert_equal(705600, format.byte_rate) assert_equal(16, format.block_align) end end def test_mono? [1, :mono].each do |one_channel| format = Format.new(one_channel, :pcm_8, 44100) assert_equal(true, format.mono?) assert_equal(false, format.stereo?) end end def test_stereo? [2, :stereo].each do |two_channels| format = Format.new(two_channels, :pcm_8, 44100) assert_equal(false, format.mono?) assert_equal(true, format.stereo?) end end end wavefile-0.6.0/test/reader_test.rb0000644000175000017500000003006012647143014016115 0ustar hannohannorequire 'test/unit' require 'wavefile.rb' require 'wavefile_io_test_helper.rb' include WaveFile class ReaderTest < Test::Unit::TestCase include WaveFileIOTestHelper FIXTURE_ROOT_PATH = "test/fixtures" def test_nonexistent_file assert_raise(Errno::ENOENT) { Reader.new(fixture("i_do_not_exist.wav")) } assert_raise(Errno::ENOENT) { Reader.info(fixture("i_do_not_exist.wav")) } end def test_invalid_formats invalid_fixtures = [ # File contains 0 bytes "invalid/empty.wav", # File consists of "RIFF" and nothing else "invalid/incomplete_riff_header.wav", # First 4 bytes in the file are not "RIFF" "invalid/bad_riff_header.wav", # The format code in the RIFF header is not "WAVE" "invalid/bad_wavefile_format.wav", # The file consists of just a valid RIFF header "invalid/no_format_chunk.wav", # The format chunk has 0 bytes in it (despite the chunk size being 16) "invalid/empty_format_chunk.wav", # The format chunk has some data, but not all of the minimum required. "invalid/insufficient_format_chunk.wav", # The RIFF header and format chunk are OK, but there is no data chunk "invalid/no_data_chunk.wav", ] # Reader.new and Reader.info should raise the same errors for invalid files, # so run the tests for both methods. [:new, :info].each do |method_name| invalid_fixtures.each do |fixture_name| assert_raise(InvalidFormatError) { Reader.send(method_name, fixture(fixture_name)) } end end end def test_unsupported_formats unsupported_fixtures = [ # Audio format is 2, which is not supported "unsupported/unsupported_audio_format.wav", # Bits per sample is 20, which is not supported "unsupported/unsupported_bits_per_sample.wav", # Channel count is 0 "unsupported/bad_channel_count.wav", # Sample rate is 0 "unsupported/bad_sample_rate.wav", ] unsupported_fixtures.each do |fixture_name| assert_raise(UnsupportedFormatError) { Reader.new(fixture(fixture_name)) } end end def test_initialize format = Format.new(:stereo, :pcm_16, 22050) exhaustively_test do |channels, sample_format| file_name = fixture("valid/valid_#{channels}_#{sample_format}_44100.wav") # Read native format reader = Reader.new(file_name) assert_equal(CHANNEL_ALIAS[channels], reader.format.channels) assert_equal(extract_bits_per_sample(sample_format), reader.format.bits_per_sample) assert_equal(44100, reader.format.sample_rate) assert_equal(false, reader.closed?) assert_equal(file_name, reader.file_name) assert_equal(0, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) reader.close # Read a non-native format reader = Reader.new(file_name, format) assert_equal(2, reader.format.channels) assert_equal(16, reader.format.bits_per_sample) assert_equal(22050, reader.format.sample_rate) assert_equal(false, reader.closed?) assert_equal(file_name, reader.file_name) assert_equal(0, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) reader.close # Block is given. reader = Reader.new(file_name) {|reader| reader.read(1024) } assert_equal(CHANNEL_ALIAS[channels], reader.format.channels) assert_equal(extract_bits_per_sample(sample_format), reader.format.bits_per_sample) assert_equal(44100, reader.format.sample_rate) assert(reader.closed?) assert_equal(file_name, reader.file_name) assert_equal(1024, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) end end def test_read_native_format exhaustively_test do |channels, sample_format| buffers = read_file("valid/valid_#{channels}_#{sample_format}_44100.wav", 1024) assert_equal(3, buffers.length) assert_equal([1024, 1024, 192], buffers.map {|buffer| buffer.samples.length }) assert_equal(SQUARE_WAVE_CYCLE[channels][sample_format] * 128, buffers[0].samples) assert_equal(SQUARE_WAVE_CYCLE[channels][sample_format] * 128, buffers[1].samples) assert_equal(SQUARE_WAVE_CYCLE[channels][sample_format] * 24, buffers[2].samples) end end def test_read_with_format_conversion buffers = read_file("valid/valid_mono_pcm_16_44100.wav", 1024, Format.new(:stereo, :pcm_8, 22100)) assert_equal(3, buffers.length) assert_equal([1024, 1024, 192], buffers.map {|buffer| buffer.samples.length }) assert_equal(SQUARE_WAVE_CYCLE[:stereo][:pcm_8] * 128, buffers[0].samples) assert_equal(SQUARE_WAVE_CYCLE[:stereo][:pcm_8] * 128, buffers[1].samples) assert_equal(SQUARE_WAVE_CYCLE[:stereo][:pcm_8] * 24, buffers[2].samples) end def test_read_with_padding_byte buffers = read_file("valid/valid_mono_pcm_8_44100_with_padding_byte.wav", 1024) assert_equal(3, buffers.length) assert_equal([1024, 1024, 191], buffers.map {|buffer| buffer.samples.length }) assert_equal(SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 128, buffers[0].samples) assert_equal(SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 128, buffers[1].samples) assert_equal((SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 23) + [88, 88, 88, 88, 167, 167, 167], buffers[2].samples) end def test_each_buffer_no_block_given reader = Reader.new(fixture("valid/valid_mono_pcm_16_44100.wav")) assert_raise(LocalJumpError) { reader.each_buffer(1024) } end def test_each_buffer_native_format exhaustively_test do |channels, sample_format| reader = Reader.new(fixture("valid/valid_#{channels}_#{sample_format}_44100.wav")) buffers = [] reader.each_buffer(1024) {|buffer| buffers << buffer } assert(reader.closed?) assert_equal(3, buffers.length) assert_equal([1024, 1024, 192], buffers.map {|buffer| buffer.samples.length }) assert_equal(SQUARE_WAVE_CYCLE[channels][sample_format] * 128, buffers[0].samples) assert_equal(SQUARE_WAVE_CYCLE[channels][sample_format] * 128, buffers[1].samples) assert_equal(SQUARE_WAVE_CYCLE[channels][sample_format] * 24, buffers[2].samples) assert_equal(2240, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) end end def test_each_buffer_with_format_conversion reader = Reader.new(fixture("valid/valid_mono_pcm_16_44100.wav"), Format.new(:stereo, :pcm_8, 22050)) assert_equal(2, reader.format.channels) assert_equal(8, reader.format.bits_per_sample) assert_equal(22050, reader.format.sample_rate) buffers = [] reader.each_buffer(1024) {|buffer| buffers << buffer } assert_equal(3, buffers.length) assert_equal([1024, 1024, 192], buffers.map {|buffer| buffer.samples.length }) assert_equal(SQUARE_WAVE_CYCLE[:stereo][:pcm_8] * 128, buffers[0].samples) assert_equal(SQUARE_WAVE_CYCLE[:stereo][:pcm_8] * 128, buffers[1].samples) assert_equal(SQUARE_WAVE_CYCLE[:stereo][:pcm_8] * 24, buffers[2].samples) assert_equal(2240, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) end def test_each_buffer_with_padding_byte buffers = [] reader = Reader.new(fixture("valid/valid_mono_pcm_8_44100_with_padding_byte.wav")) reader.each_buffer(1024) {|buffer| buffers << buffer } assert_equal(3, buffers.length) assert_equal([1024, 1024, 191], buffers.map {|buffer| buffer.samples.length }) assert_equal(SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 128, buffers[0].samples) assert_equal(SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 128, buffers[1].samples) assert_equal((SQUARE_WAVE_CYCLE[:mono][:pcm_8] * 23) + [88, 88, 88, 88, 167, 167, 167], buffers[2].samples) assert_equal(2239, reader.current_sample_frame) assert_equal(2239, reader.total_sample_frames) end def test_read_non_data_chunk_with_padding_byte # This fixture file contains a JUNK chunk with an odd size, aligned to an even number of # bytes via an appended padding byte. If the padding byte is not taken into account, this # test will blow up due to the file not being synced up to the data chunk in the right place. reader = Reader.new(fixture("valid/valid_mono_pcm_16_44100_junk_chunk_with_padding_byte.wav")) buffer = reader.read(1024) assert_equal(buffer.samples, SQUARE_WAVE_CYCLE[:mono][:pcm_16] * 128) assert_equal(1024, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) end def test_closed? reader = Reader.new(fixture("valid/valid_mono_pcm_16_44100.wav")) assert_equal(false, reader.closed?) reader.close assert(reader.closed?) # For Reader.each_buffer reader = Reader.new(fixture("valid/valid_mono_pcm_16_44100.wav")) assert_equal(false, reader.closed?) reader.each_buffer(1024) do |buffer| # No-op end assert_equal(true, reader.closed?) end def test_read_after_close reader = Reader.new(fixture("valid/valid_mono_pcm_16_44100.wav")) buffer = reader.read(1024) reader.close assert_raise(IOError) { reader.read(1024) } end def test_sample_counts_manual_reads exhaustively_test do |channels, sample_format| reader = Reader.new(fixture("valid/valid_#{channels}_#{sample_format}_44100.wav")) assert_equal(0, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) test_duration({:hours => 0, :minutes => 0, :seconds => 0, :milliseconds => 50, :sample_count => 2240}, reader.total_duration) reader.read(1024) assert_equal(1024, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) test_duration({:hours => 0, :minutes => 0, :seconds => 0, :milliseconds => 50, :sample_count => 2240}, reader.total_duration) reader.read(1024) assert_equal(2048, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) test_duration({:hours => 0, :minutes => 0, :seconds => 0, :milliseconds => 50, :sample_count => 2240}, reader.total_duration) reader.read(192) assert_equal(2240, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) test_duration({:hours => 0, :minutes => 0, :seconds => 0, :milliseconds => 50, :sample_count => 2240}, reader.total_duration) reader.close assert_equal(2240, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) test_duration({:hours => 0, :minutes => 0, :seconds => 0, :milliseconds => 50, :sample_count => 2240}, reader.total_duration) end end def test_sample_counts_each_buffer exhaustively_test do |channels, sample_format| expected_results = [ 1024, 2048, 2240 ] file_name = fixture("valid/valid_#{channels}_#{sample_format}_44100.wav") reader = Reader.new(file_name) assert_equal(0, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) reader.each_buffer(1024) do |buffer| expected_result = expected_results.slice!(0) assert_equal(expected_result, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) end assert_equal(2240, reader.current_sample_frame) assert_equal(2240, reader.total_sample_frames) end end private def read_file(file_name, buffer_size, format=nil) buffers = [] reader = Reader.new(fixture(file_name), format) begin while true do buffers << reader.read(buffer_size) end rescue EOFError reader.close end return buffers end def fixture(fixture_name) return "#{FIXTURE_ROOT_PATH}/#{fixture_name}" end def extract_bits_per_sample(sample_format) sample_format.to_s.split("_").last.to_i end def test_duration(expected_hash, duration) assert_equal(expected_hash[:hours], duration.hours) assert_equal(expected_hash[:minutes], duration.minutes) assert_equal(expected_hash[:seconds], duration.seconds) assert_equal(expected_hash[:milliseconds], duration.milliseconds) assert_equal(expected_hash[:sample_count], duration.sample_frame_count) end end wavefile-0.6.0/test/buffer_test.rb0000644000175000017500000005476312647143014016144 0ustar hannohannorequire 'test/unit' require 'wavefile.rb' include WaveFile class BufferTest < Test::Unit::TestCase def test_convert old_format = Format.new(:mono, :pcm_16, 44100) new_format = Format.new(:stereo, :pcm_16, 22050) old_buffer = Buffer.new([-100, 0, 200], old_format) new_buffer = old_buffer.convert(new_format) assert_equal([-100, 0, 200], old_buffer.samples) assert_equal(1, old_buffer.channels) assert_equal(16, old_buffer.bits_per_sample) assert_equal(44100, old_buffer.sample_rate) assert_equal([[-100, -100], [0, 0], [200, 200]], new_buffer.samples) assert_equal(2, new_buffer.channels) assert_equal(16, new_buffer.bits_per_sample) assert_equal(22050, new_buffer.sample_rate) end def test_convert! old_format = Format.new(:mono, :pcm_16, 44100) new_format = Format.new(:stereo, :pcm_16, 22050) old_buffer = Buffer.new([-100, 0, 200], old_format) new_buffer = old_buffer.convert!(new_format) assert(old_buffer.equal?(new_buffer)) assert_equal([[-100, -100], [0, 0], [200, 200]], old_buffer.samples) assert_equal(2, old_buffer.channels) assert_equal(16, old_buffer.bits_per_sample) assert_equal(22050, old_buffer.sample_rate) end def test_convert_buffer_channels Format::SUPPORTED_BITS_PER_SAMPLE[:pcm].each do |bits_per_sample| [44100, 22050].each do |sample_rate| # Assert that not changing the number of channels is a no-op b = Buffer.new([-100, 0, 200], Format.new(:mono, bits_per_sample, sample_rate)) b.convert!(Format.new(:mono, bits_per_sample, sample_rate)) assert_equal([-100, 0, 200], b.samples) # Mono => Stereo b = Buffer.new([-100, 0, 200], Format.new(:mono, bits_per_sample, sample_rate)) b.convert!(Format.new(:stereo, bits_per_sample, sample_rate)) assert_equal([[-100, -100], [0, 0], [200, 200]], b.samples) # Mono => 3-channel b = Buffer.new([-100, 0, 200], Format.new(:mono, bits_per_sample, sample_rate)) b.convert!(Format.new(3, bits_per_sample, sample_rate)) assert_equal([[-100, -100, -100], [0, 0, 0], [200, 200, 200]], b.samples) # Stereo => Mono b = Buffer.new([[-100, -100], [0, 0], [200, 50], [8, 1]], Format.new(:stereo, bits_per_sample, sample_rate)) b.convert!(Format.new(:mono, bits_per_sample, sample_rate)) assert_equal([-100, 0, 125, 4], b.samples) # 3-channel => Mono b = Buffer.new([[-100, -100, -100], [0, 0, 0], [200, 50, 650], [5, 1, 1], [5, 1, 2]], Format.new(3, bits_per_sample, sample_rate)) b.convert!(Format.new(:mono, bits_per_sample, sample_rate)) assert_equal([-100, 0, 300, 2, 2], b.samples) # 3-channel => Stereo b = Buffer.new([[-100, -100, -100], [1, 2, 3], [200, 50, 650]], Format.new(3, bits_per_sample, sample_rate)) b.convert!(Format.new(:stereo, bits_per_sample, sample_rate)) assert_equal([[-100, -100], [1, 2], [200, 50]], b.samples) # Unsupported conversion (4-channel => 3-channel) b = Buffer.new([[-100, 200, -300, 400], [1, 2, 3, 4]], Format.new(4, bits_per_sample, sample_rate)) assert_raise(BufferConversionError) { b.convert!(Format.new(3, bits_per_sample, sample_rate)) } end end end def test_convert_buffer_bits_per_sample_no_op Format::SUPPORTED_BITS_PER_SAMPLE[:pcm].each do |bits_per_sample| b = Buffer.new([0, 128, 255], Format.new(:mono, bits_per_sample, 44100)) b.convert!(Format.new(:mono, bits_per_sample, 44100)) # Target format is the same as the original format, so the sample data should not change assert_equal([0, 128, 255], b.samples) end end def test_convert_buffer_bits_per_sample_8_to_16 # Mono b = Buffer.new([0, 32, 64, 96, 128, 160, 192, 223, 255], Format.new(:mono, :pcm_8, 44100)) b.convert!(Format.new(:mono, :pcm_16, 44100)) assert_equal([-32768, -24576, -16384, -8192, 0, 8192, 16384, 24320, 32512], b.samples) # Stereo b = Buffer.new([[0, 255], [32, 223], [64, 192], [96, 160], [128, 128], [160, 96], [192, 64], [223, 32], [255, 0]], Format.new(:stereo, :pcm_8, 44100)) b.convert!(Format.new(:stereo, :pcm_16, 44100)) assert_equal([[-32768, 32512], [-24576, 24320], [-16384, 16384], [-8192, 8192], [0, 0], [8192, -8192], [16384, -16384], [24320, -24576], [32512, -32768]], b.samples) end def test_convert_buffer_bits_per_sample_8_to_24 # Mono b = Buffer.new([0, 32, 64, 96, 128, 160, 192, 223, 255], Format.new(:mono, :pcm_8, 44100)) b.convert!(Format.new(:mono, :pcm_24, 44100)) assert_equal([-8388608, -6291456, -4194304, -2097152, 0, 2097152, 4194304, 6225920, 8323072], b.samples) # Stereo b = Buffer.new([[0, 255], [32, 223], [64, 192], [96, 160], [128, 128], [160, 96], [192, 64], [223, 32], [255, 0]], Format.new(:stereo, :pcm_8, 44100)) b.convert!(Format.new(:stereo, :pcm_24, 44100)) assert_equal([[-8388608, 8323072], [-6291456, 6225920], [-4194304, 4194304], [-2097152, 2097152], [0, 0], [2097152, -2097152], [4194304, -4194304], [6225920, -6291456], [8323072, -8388608]], b.samples) end def test_convert_buffer_bits_per_sample_8_to_32 # Mono b = Buffer.new([0, 32, 64, 96, 128, 160, 192, 223, 255], Format.new(:mono, :pcm_8, 44100)) b.convert!(Format.new(:mono, :pcm_32, 44100)) assert_equal([-2147483648, -1610612736, -1073741824, -536870912, 0, 536870912, 1073741824, 1593835520, 2130706432], b.samples) # Stereo b = Buffer.new([[0, 255], [32, 223], [64, 192], [96, 160], [128, 128], [160, 96], [192, 64], [223, 32], [255, 0]], Format.new(:stereo, :pcm_8, 44100)) b.convert!(Format.new(:stereo, :pcm_32, 44100)) assert_equal([[-2147483648, 2130706432], [-1610612736, 1593835520], [-1073741824, 1073741824], [-536870912, 536870912], [0, 0], [536870912, -536870912], [1073741824, -1073741824], [1593835520, -1610612736], [2130706432, -2147483648]], b.samples) end def test_convert_buffer_bits_per_sample_8_to_float Format::SUPPORTED_BITS_PER_SAMPLE[:float].each do |bits_per_sample| float_format = "float_#{bits_per_sample}".to_sym # Mono b = Buffer.new([0, 32, 64, 96, 128, 160, 192, 223, 255], Format.new(:mono, :pcm_8, 44100)) b.convert!(Format.new(:mono, float_format, 44100)) assert_equal([-1.0, -0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.7421875, 0.9921875], b.samples) # Stereo b = Buffer.new([[0, 255], [32, 223], [64, 192], [96, 160], [128, 128], [160, 96], [192, 64], [223, 32], [255, 0]], Format.new(:stereo, :pcm_8, 44100)) b.convert!(Format.new(:stereo, float_format, 44100)) assert_equal([[-1.0, 0.9921875], [-0.75, 0.7421875], [-0.5, 0.5], [-0.25, 0.25], [0.0, 0.0], [0.25, -0.25], [0.5, -0.5], [0.7421875, -0.75], [0.9921875, -1.0]], b.samples) end end def test_convert_buffer_bits_per_sample_16_to_8 # Mono b = Buffer.new([-32768, -24576, -16384, -8192, 0, 8192, 16384, 24575, 32767], Format.new(:mono, :pcm_16, 44100)) b.convert!(Format.new(:mono, :pcm_8, 44100)) assert_equal([0, 32, 64, 96, 128, 160, 192, 223, 255], b.samples) # Stereo b = Buffer.new([[-32768, 32767], [-24576, 24575], [-16384, 16384], [-8192, 8192], [0, 0], [8192, -8192], [16384, -16384], [24575, -24576], [32767, -32768]], Format.new(:stereo, :pcm_16, 44100)) b.convert!(Format.new(:stereo, :pcm_8, 44100)) assert_equal([[0, 255], [32, 223], [64, 192], [96, 160], [128, 128], [160, 96], [192, 64], [223, 32], [255, 0]], b.samples) end def test_convert_buffer_bits_per_sample_16_to_24 # Mono b = Buffer.new([-32768, -24576, -16384, -8192, 0, 8192, 16384, 24575, 32767], Format.new(:mono, :pcm_16, 44100)) b.convert!(Format.new(:mono, :pcm_24, 44100)) assert_equal([-8388608, -6291456, -4194304, -2097152, 0, 2097152, 4194304, 6291200, 8388352], b.samples) # Stereo b = Buffer.new([[-32768, 32767], [-24576, 24575], [-16384, 16384], [-8192, 8192], [0, 0], [8192, -8192], [16384, -16384], [24575, -24576], [32767, -32768]], Format.new(:stereo, :pcm_16, 44100)) b.convert!(Format.new(:stereo, :pcm_24, 44100)) assert_equal([[-8388608, 8388352], [-6291456, 6291200], [-4194304, 4194304], [-2097152, 2097152], [0, 0], [2097152, -2097152], [4194304, -4194304], [6291200, -6291456], [8388352, -8388608]], b.samples) end def test_convert_buffer_bits_per_sample_16_to_32 # Mono b = Buffer.new([-32768, -24576, -16384, -8192, 0, 8192, 16384, 24575, 32767], Format.new(:mono, :pcm_16, 44100)) b.convert!(Format.new(:mono, :pcm_32, 44100)) assert_equal([-2147483648, -1610612736, -1073741824, -536870912, 0, 536870912, 1073741824, 1610547200, 2147418112], b.samples) # Stereo b = Buffer.new([[-32768, 32767], [-24576, 24575], [-16384, 16384], [-8192, 8192], [0, 0], [8192, -8192], [16384, -16384], [24575, -24576], [32767, -32768]], Format.new(:stereo, :pcm_16, 44100)) b.convert!(Format.new(:stereo, :pcm_32, 44100)) assert_equal([[-2147483648, 2147418112], [-1610612736, 1610547200], [-1073741824, 1073741824], [-536870912, 536870912], [0, 0], [536870912, -536870912], [1073741824, -1073741824], [1610547200, -1610612736], [2147418112, -2147483648]], b.samples) end def test_convert_buffer_bits_per_sample_16_to_float Format::SUPPORTED_BITS_PER_SAMPLE[:float].each do |bits_per_sample| float_format = "float_#{bits_per_sample}".to_sym # Mono b = Buffer.new([-32768, -24576, -16384, -8192, 0, 8192, 16384, 24575, 32767], Format.new(:mono, :pcm_16, 44100)) b.convert!(Format.new(:mono, float_format, 44100)) assert_equal([-1.0, -0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.749969482421875, 0.999969482421875], b.samples) # Stereo b = Buffer.new([[-32768, 32767], [-24576, 24575], [-16384, 16384], [-8192, 8192], [0, 0], [8192, -8192], [16384, -16384], [24575, -24576], [32767, -32768]], Format.new(:stereo, :pcm_16, 44100)) b.convert!(Format.new(:stereo, float_format, 44100)) assert_equal([[-1.0, 0.999969482421875], [-0.75, 0.749969482421875], [-0.5, 0.5], [-0.25, 0.25], [0.0, 0.0], [0.25, -0.25], [0.5, -0.5], [0.749969482421875, -0.75], [0.999969482421875, -1.0]], b.samples) end end def test_convert_buffer_bits_per_sample_24_to_8 # Mono b = Buffer.new([-8388608, -6291456, -4194304, -2097152, 0, 2097152, 4194304, 6291455, 8388607], Format.new(:mono, :pcm_24, 44100)) b.convert!(Format.new(:mono, :pcm_8, 44100)) assert_equal([0, 32, 64, 96, 128, 160, 192, 223, 255], b.samples) # Stereo b = Buffer.new([[-8388608, 8388607], [-6291456, 6291455], [-4194304, 4194304], [-2097152, 2097152], [0, 0], [2097152, -2097152], [4194304, -4194304], [6291455, -6291456], [8388607, -8388608]], Format.new(:stereo, :pcm_24, 44100)) b.convert!(Format.new(:stereo, :pcm_8, 44100)) assert_equal([[0, 255], [32, 223], [64, 192], [96, 160], [128, 128], [160, 96], [192, 64], [223, 32], [255, 0]], b.samples) end def test_convert_buffer_bits_per_sample_24_to_16 # Mono b = Buffer.new([-8388608, -6291456, -4194304, -2097152, 0, 2097152, 4194304, 6291455, 8388607], Format.new(:mono, :pcm_24, 44100)) b.convert!(Format.new(:mono, :pcm_16, 44100)) assert_equal([-32768, -24576, -16384, -8192, 0, 8192, 16384, 24575, 32767], b.samples) # Stereo b = Buffer.new([[-8388608, 8388607], [-6291456, 6291455], [-4194304, 4194304], [-2097152, 2097152], [0, 0], [2097152, -2097152], [4194304, -4194304], [6291455, -6291456], [8388607, -8388608]], Format.new(:stereo, :pcm_24, 44100)) b.convert!(Format.new(:stereo, :pcm_16, 44100)) assert_equal([[-32768, 32767], [-24576, 24575], [-16384, 16384], [-8192, 8192], [0, 0], [8192, -8192], [16384, -16384], [24575, -24576], [32767, -32768]], b.samples) end def test_convert_buffer_bits_per_sample_24_to_32 # Mono b = Buffer.new([-8388608, -6291456, -4194304, -2097152, 0, 2097152, 4194304, 6291455, 8388607], Format.new(:mono, :pcm_24, 44100)) b.convert!(Format.new(:mono, :pcm_32, 44100)) assert_equal([-2147483648, -1610612736, -1073741824, -536870912, 0, 536870912, 1073741824, 1610612480, 2147483392], b.samples) # Stereo b = Buffer.new([[-8388608, 8388607], [-6291456, 6291455], [-4194304, 4194304], [-2097152, 2097152], [0, 0], [2097152, -2097152], [4194304, -4194304], [6291455, -6291456], [8388607, -8388608]], Format.new(:stereo, :pcm_24, 44100)) b.convert!(Format.new(:stereo, :pcm_32, 44100)) assert_equal([[-2147483648, 2147483392], [-1610612736, 1610612480], [-1073741824, 1073741824], [-536870912, 536870912], [0, 0], [536870912, -536870912], [1073741824, -1073741824], [1610612480, -1610612736], [2147483392, -2147483648]], b.samples) end def test_convert_buffer_bits_per_sample_24_to_float Format::SUPPORTED_BITS_PER_SAMPLE[:float].each do |bits_per_sample| float_format = "float_#{bits_per_sample}".to_sym # Mono b = Buffer.new([-8388608, -6291456, -4194304, -2097152, 0, 2097152, 4194304, 6291455, 8388607], Format.new(:mono, :pcm_24, 44100)) b.convert!(Format.new(:mono, float_format, 44100)) assert_equal([-1.0, -0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.7499998807907104, 0.9999998807907104], b.samples) # Stereo b = Buffer.new([[-8388608, 8388607], [-6291456, 6291455], [-4194304, 4194304], [-2097152, 2097152], [0, 0], [2097152, -2097152], [4194304, -4194304], [6291455, -6291456], [8388607, -8388608]], Format.new(:stereo, :pcm_24, 44100)) b.convert!(Format.new(:stereo, float_format, 44100)) assert_equal([[-1.0, 0.9999998807907104], [-0.75, 0.7499998807907104 ], [-0.5, 0.5], [-0.25, 0.25], [0.0, 0.0], [0.25, -0.25], [0.5, -0.5], [0.7499998807907104 , -0.75], [0.9999998807907104, -1.0]], b.samples) end end def test_convert_buffer_bits_per_sample_32_to_8 # Mono b = Buffer.new([-2147483648, -1610612736, -1073741824, -536870912, 0, 536870912, 1073741824, 1610612735, 2147483647], Format.new(:mono, :pcm_32, 44100)) b.convert!(Format.new(:mono, :pcm_8, 44100)) assert_equal([0, 32, 64, 96, 128, 160, 192, 223, 255], b.samples) # Stereo b = Buffer.new([[-2147483648, 2147483647], [-1610612736, 1610612735], [-1073741824, 1073741824], [-536870912, 536870912], [0, 0], [536870912, -536870912], [1073741824, -1073741824], [1610612735, -1610612736], [2147483647, -2147483648]], Format.new(:stereo, :pcm_32, 44100)) b.convert!(Format.new(:stereo, :pcm_8, 44100)) assert_equal([[0, 255], [32, 223], [64, 192], [96, 160], [128, 128], [160, 96], [192, 64], [223, 32], [255, 0]], b.samples) end def test_convert_buffer_bits_per_sample_32_to_16 # Mono b = Buffer.new([-2147483648, -1610612736, -1073741824, -536870912, 0, 536870912, 1073741824, 1610612735, 2147483647], Format.new(:mono, :pcm_32, 44100)) b.convert!(Format.new(:mono, :pcm_16, 44100)) assert_equal([-32768, -24576, -16384, -8192, 0, 8192, 16384, 24575, 32767], b.samples) # Stereo b = Buffer.new([[-2147483648, 2147483647], [-1610612736, 1610612735], [-1073741824, 1073741824], [-536870912, 536870912], [0, 0], [536870912, -536870912], [1073741824, -1073741824], [1610612735, -1610612736], [2147483647, -2147483648]], Format.new(:stereo, :pcm_32, 44100)) b.convert!(Format.new(:stereo, :pcm_16, 44100)) assert_equal([[-32768, 32767], [-24576, 24575], [-16384, 16384], [-8192, 8192], [0, 0], [8192, -8192], [16384, -16384], [24575, -24576], [32767, -32768]], b.samples) end def test_convert_buffer_bits_per_sample_32_to_24 # Mono b = Buffer.new([-2147483648, -1610612736, -1073741824, -536870912, 0, 536870912, 1073741824, 1610612735, 2147483647], Format.new(:mono, :pcm_32, 44100)) b.convert!(Format.new(:mono, :pcm_24, 44100)) assert_equal([-8388608, -6291456, -4194304, -2097152, 0, 2097152, 4194304, 6291455, 8388607], b.samples) # Stereo b = Buffer.new([[-2147483648, 2147483647], [-1610612736, 1610612735], [-1073741824, 1073741824], [-536870912, 536870912], [0, 0], [536870912, -536870912], [1073741824, -1073741824], [1610612735, -1610612736], [2147483647, -2147483648]], Format.new(:stereo, :pcm_32, 44100)) b.convert!(Format.new(:stereo, :pcm_24, 44100)) assert_equal([[-8388608, 8388607], [-6291456, 6291455], [-4194304, 4194304], [-2097152, 2097152], [0, 0], [2097152, -2097152], [4194304, -4194304], [6291455, -6291456], [8388607, -8388608]], b.samples) end def test_convert_buffer_bits_per_sample_32_to_float Format::SUPPORTED_BITS_PER_SAMPLE[:float].each do |bits_per_sample| float_format = "float_#{bits_per_sample}".to_sym # Mono b = Buffer.new([-2147483648, -1610612736, -1073741824, -536870912, 0, 536870912, 1073741824, 1610612735, 2147483647], Format.new(:mono, :pcm_32, 44100)) b.convert!(Format.new(:mono, float_format, 44100)) assert_equal([-1.0, -0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.7499999995343387, 0.9999999995343387], b.samples) # Stereo b = Buffer.new([[-2147483648, 2147483647], [-1610612736, 1610612735], [-1073741824, 1073741824], [-536870912, 536870912], [0, 0], [536870912, -536870912], [1073741824, -1073741824], [1610612735, -1610612736], [2147483647, -2147483648]], Format.new(:stereo, :pcm_32, 44100)) b.convert!(Format.new(:stereo, float_format, 44100)) assert_equal([[-1.0, 0.9999999995343387], [-0.75, 0.7499999995343387], [-0.5, 0.5], [-0.25, 0.25], [0.0, 0.0], [0.25, -0.25], [0.5, -0.5], [0.7499999995343387, -0.75], [0.9999999995343387, -1.0]], b.samples) end end def test_convert_buffer_bits_per_sample_float_to_8 Format::SUPPORTED_BITS_PER_SAMPLE[:float].each do |bits_per_sample| float_format = "float_#{bits_per_sample}".to_sym # Mono b = Buffer.new([-1.0, -0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.75, 1.0], Format.new(:mono, float_format, 44100)) b.convert!(Format.new(:mono, :pcm_8, 44100)) assert_equal([1, 33, 64, 96, 128, 160, 192, 223, 255], b.samples) # Stereo b = Buffer.new([[-1.0, 1.0], [-0.75, 0.75], [-0.5, 0.5], [-0.25, 0.25], [0.0, 0.0], [0.25, -0.25], [0.5, -0.5], [0.75, -0.75], [1.0, -1.0]], Format.new(:stereo, float_format, 44100)) b.convert!(Format.new(:stereo, :pcm_8, 44100)) assert_equal([[1, 255], [33, 223], [64, 192], [96, 160], [128, 128], [160, 96], [192, 64], [223, 33], [255, 1]], b.samples) end end def test_convert_buffer_bits_per_sample_float_to_16 Format::SUPPORTED_BITS_PER_SAMPLE[:float].each do |bits_per_sample| float_format = "float_#{bits_per_sample}".to_sym # Mono b = Buffer.new([-1.0, -0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.75, 1.0], Format.new(:mono, float_format, 44100)) b.convert!(Format.new(:mono, :pcm_16, 44100)) assert_equal([-32767, -24575, -16384, -8192, 0, 8192, 16384, 24575, 32767], b.samples) # Stereo b = Buffer.new([[-1.0, 1.0], [-0.75, 0.75], [-0.5, 0.5], [-0.25, 0.25], [0.0, 0.0], [0.25, -0.25], [0.5, -0.5], [0.75, -0.75], [1.0, -1.0]], Format.new(:stereo, float_format, 44100)) b.convert!(Format.new(:stereo, :pcm_16, 44100)) assert_equal([[-32767, 32767], [-24575, 24575], [-16384, 16384], [-8192, 8192], [0, 0], [8192, -8192], [16384, -16384], [24575, -24575], [32767, -32767]], b.samples) end end def test_convert_buffer_bits_per_sample_float_to_24 Format::SUPPORTED_BITS_PER_SAMPLE[:float].each do |bits_per_sample| float_format = "float_#{bits_per_sample}".to_sym # Mono b = Buffer.new([-1.0, -0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.75, 1.0], Format.new(:mono, float_format, 44100)) b.convert!(Format.new(:mono, :pcm_24, 44100)) assert_equal([-8388607, -6291455, -4194304, -2097152, 0, 2097152, 4194304, 6291455, 8388607], b.samples) # Stereo b = Buffer.new([[-1.0, 1.0], [-0.75, 0.75], [-0.5, 0.5], [-0.25, 0.25], [0.0, 0.0], [0.25, -0.25], [0.5, -0.5], [0.75, -0.75], [1.0, -1.0]], Format.new(:stereo, float_format, 44100)) b.convert!(Format.new(:stereo, :pcm_24, 44100)) assert_equal([[-8388607, 8388607], [-6291455, 6291455], [-4194304, 4194304], [-2097152, 2097152], [0, 0], [2097152, -2097152], [4194304, -4194304], [6291455, -6291455], [8388607, -8388607]], b.samples) end end def test_convert_buffer_bits_per_sample_float_to_32 Format::SUPPORTED_BITS_PER_SAMPLE[:float].each do |bits_per_sample| float_format = "float_#{bits_per_sample}".to_sym # Mono b = Buffer.new([-1.0, -0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.75, 1.0], Format.new(:mono, float_format, 44100)) b.convert!(Format.new(:mono, :pcm_32, 44100)) assert_equal([-2147483647, -1610612735, -1073741824, -536870912, 0, 536870912, 1073741824, 1610612735, 2147483647], b.samples) # Stereo b = Buffer.new([[-1.0, 1.0], [-0.75, 0.75], [-0.5, 0.5], [-0.25, 0.25], [0.0, 0.0], [0.25, -0.25], [0.5, -0.5], [0.75, -0.75], [1.0, -1.0]], Format.new(:stereo, float_format, 44100)) b.convert!(Format.new(:stereo, :pcm_32, 44100)) assert_equal([[-2147483647, 2147483647], [-1610612735, 1610612735], [-1073741824, 1073741824], [-536870912, 536870912], [0, 0], [536870912, -536870912], [1073741824, -1073741824], [1610612735, -1610612735], [2147483647, -2147483647]], b.samples) end end end wavefile-0.6.0/test/info_test.rbc0000644000175000017500000000445012647143014015755 0ustar hannohanno!RBIX 17831730954501249321 x M 1 n n x 10 __script__ i 62 5 7 0 64 47 49 1 1 15 5 7 2 64 47 49 1 1 15 5 45 3 4 47 49 5 1 15 99 7 6 45 7 8 43 9 43 10 65 49 11 3 13 99 12 7 12 12 7 13 12 65 12 49 14 4 15 49 12 0 15 2 11 I 6 I 0 I 0 I 0 n p 15 s 9 test/unit x 7 require s 11 wavefile.rb x 8 WaveFile n x 7 include x 8 InfoTest x 4 Test n x 4 Unit x 8 TestCase x 10 open_class x 14 __class_init__ M 1 n n x 8 InfoTest i 50 5 66 65 7 0 7 1 64 49 2 2 15 65 7 3 4 60 49 2 2 15 65 7 4 45 3 5 4 60 49 6 1 49 2 2 15 99 7 7 7 8 65 67 49 9 0 49 10 4 11 I 5 I 0 I 0 I 0 n p 11 x 9 FILE_NAME s 7 foo.wav x 9 const_set x 17 SECONDS_IN_MINUTE x 15 SECONDS_IN_HOUR n x 1 * x 10 test_basic M 1 n n x 10 test_basic i 299 44 43 0 4 6 49 1 1 13 7 2 79 49 3 2 15 13 7 4 80 49 3 2 15 13 7 5 7 6 49 3 2 15 13 7 7 7 8 49 3 2 15 13 7 9 4 4 49 3 2 15 13 7 10 4 16 49 3 2 15 19 0 15 45 11 12 13 71 13 47 9 91 47 49 14 0 13 45 15 16 20 0 7 6 47 49 17 3 15 8 101 45 15 18 20 0 7 6 49 13 3 19 1 15 5 45 15 19 20 1 49 20 0 47 49 21 2 15 5 79 20 1 49 2 0 47 49 21 2 15 5 80 20 1 49 4 0 47 49 21 2 15 5 7 6 20 1 49 5 0 47 49 21 2 15 5 7 8 20 1 49 7 0 47 49 21 2 15 5 4 4 20 1 49 9 0 47 49 21 2 15 5 4 16 20 1 49 10 0 47 49 21 2 15 5 7 6 20 1 49 22 0 47 49 21 2 15 5 78 20 1 49 23 0 49 24 0 47 49 21 2 15 5 78 20 1 49 23 0 49 25 0 47 49 21 2 15 5 79 20 1 49 23 0 49 26 0 47 49 21 2 15 5 78 20 1 49 23 0 49 27 0 47 49 21 2 15 5 7 6 20 1 49 23 0 49 22 0 47 49 21 2 15 5 7 6 20 1 49 23 0 49 5 0 47 49 21 2 11 I 7 I 2 I 0 I 0 n p 28 x 4 Hash x 16 new_from_literal x 12 audio_format x 3 []= x 8 channels x 11 sample_rate I ac44 x 9 byte_rate I 2b110 x 11 block_align x 15 bits_per_sample x 4 Info n x 3 new x 8 allocate x 9 FILE_NAME n x 10 initialize n n x 9 file_name x 12 assert_equal x 18 sample_frame_count x 8 duration x 5 hours x 7 minutes x 7 seconds x 12 milliseconds p 41 I -1 I b I 0 I d I 9 I c I 22 I d I 3c I c I 3f I e I 68 I 10 I 76 I 11 I 82 I 12 I 8e I 13 I 9b I 14 I a8 I 15 I b5 I 16 I c2 I 17 I cf I 19 I de I 1a I ed I 1b I fc I 1c I 10b I 1d I 11b I 1e I 12b x 32 /Code/wavefile/test/info_test.rb p 2 x 12 format_chunk x 4 info x 17 method_visibility x 15 add_defn_method p 9 I 2 I 7 I c I 8 I 15 I 9 I 24 I b I 32 x 32 /Code/wavefile/test/info_test.rb p 0 x 13 attach_method p 9 I 0 I 1 I 9 I 2 I 12 I 4 I 1b I 6 I 3e x 32 /Code/wavefile/test/info_test.rb p 0 wavefile-0.6.0/LICENSE0000755000175000017500000000213012647143014013315 0ustar hannohanno== WaveFile # Copyright (c) 2009-13 Joel Strait # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation # files (the "Software"), to deal in the Software without # restriction, including without limitation the rights to use, # copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following # conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE.