示例#1
0
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])
示例#4
0
        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