Изменить объем файла WAV в Python

У меня есть 2-секундный 16-битный 8-канальный WAV-файл с одним каналом, и мне нужно изменить его громкость.

Это должно быть довольно просто, потому что изменение громкости - это то же самое, что изменение амплитуды сигнала, и мне просто нужно его ослабить, то есть умножить на число от 0 до 1. Но это не так.t работает: новый звук ниже, но ОЧЕНЬ полон шума. Что я делаю неправильно?

Вот мой код:

import wave, numpy, struct

# Open
w = wave.open("input.wav","rb")
p = w.getparams()
f = p[3] # number of frames
s = w.readframes(f)
w.close()

# Edit
s = numpy.fromstring(s, numpy.int16) * 5 / 10  # half amplitude
s = struct.pack('h'*len(s), *s)

# Save
w = wave.open("output.wav","wb")
w.setparams(p)
w.writeframes(s)
w.close()

Спасибо вам, ребята!

Ответы на вопрос(2)

Ваш ответ на вопрос