stream = p.open(format=pyaudio.paInt32, channels=num_channels, rate=Fs, input=False, output=True) input_string = wf.readframes(1) # Get first frame while input_string != '': # Convert string to number input_tuple = struct.unpack('h', input_string) # One-element tuple input_value = input_tuple[0] # Number # Compute output value output_value = clipping.clip32(input_value * gain) # Number # Convert output value to binary string output_string = struct.pack('hh', 0, output_value) k = [] for r in output_string: k.append(r) print k # Write output value to audio stream stream.write(output_string) # Get next frame input_string = wf.readframes(1) print("**** Done ****")
stream = p.open(format = pyaudio.paInt32, channels = num_channels, rate = Fs, input = False, output = True ) input_string = wf.readframes(1) # Get first frame while input_string != '': # Convert string to number input_tuple = struct.unpack('h',input_string) # One-element tuple input_value = input_tuple[0] # Number # Compute output value output_value = clipping.clip32(input_value * gain) # Number # Convert output value to binary string output_string = struct.pack('hh',0,output_value) k=[] for r in output_string: k.append(r) print k # Write output value to audio stream stream.write(output_string) # Get next frame input_string = wf.readframes(1) print("**** Done ****")
if bitformat == 16: # Convert string to number input_tuple = struct.unpack('h', input_string) # One-element tuple input_value = input_tuple[0] # Number # Compute output value output_value = clipping.clip16(gain * input_value) # Number # Convert output value to binary string output_string = struct.pack('h', output_value) elif bitformat == 32: input_tuple = struct.unpack('f', input_string) # One-element tuple input_value = input_tuple[0] # Number output_value = clipping.clip32(gain * input_value) # Number output_string = struct.pack('f', output_value) # Convert output value to binary string # Write output value to audio stream stream.write(output_string) # Get next frame input_string = wf.readframes(1) elif num_channels == 2: while input_string != '': if bitformat == 16: # Convert string to numbers input_tuple = struct.unpack('hh',input_string) # produces a two-element tuple # Compute output values output_value0 = clipping.clip16(gain * input_tuple[0]) output_value1 = clipping.clip16(gain * input_tuple[1])
if bitformat == 16: # Convert string to number input_tuple = struct.unpack('h', input_string) # One-element tuple input_value = input_tuple[0] # Number # Compute output value output_value = clipping.clip16(gain * input_value) # Number # Convert output value to binary string output_string = struct.pack('h', output_value) elif bitformat == 32: input_tuple = struct.unpack('f', input_string) # One-element tuple input_value = input_tuple[0] # Number output_value = clipping.clip32(gain * input_value) # Number output_string = struct.pack( 'f', output_value) # Convert output value to binary string # Write output value to audio stream stream.write(output_string) # Get next frame input_string = wf.readframes(1) elif num_channels == 2: while input_string != '': if bitformat == 16: # Convert string to numbers input_tuple = struct.unpack( 'hh', input_string) # produces a two-element tuple # Compute output values