Почему файл звучит плохо при прохождении через фильтр в python

Когда я пытаюсь отфильтровать шумный файл с помощью фильтра и попытаться воспроизвести его снова, это просто беспорядок. Я нашел решение, которое сработало здесь, но почему я должен сохранять его вот так, и почему я не могу просто воспроизвести его на питоне, может кто-нибудь объяснить это?

Вот код, который я использовал.

import numpy as np
import matplotlib.pyplot as plt
import scipy.signal as sg
from scipy.io import wavfile
import soundfile as sf
import sounddevice as sd
import pandas as pd

path = 'hammingfilter_1.csv'
b = np.genfromtxt(path, delimiter=',')
Fs, data = wavfile.read('pianoise.wav')
sd.play(data, blocking=True) #plays the sound
lfilt = sg.lfilter(b,1,data) #just tried to different ways, shouldnt matter much
y = sg.filtfilt(b,1,data)#
wavfile.write('LPF_filttered.wav', Fs, np.int16(y/np.max(np.abs(y)) * 32767)) # this is the solution im wondering about. This works and the sound is nice and filtered

sd.play(y,Fs,blocking=True)#this sounds totally shit


person vegiv    schedule 13.11.2020    source источник
comment
Не могли бы вы предоставить pianoise.wav?   -  person Suthiro    schedule 13.11.2020
comment
Что такое тип y?   -  person ThP    schedule 14.11.2020
comment
@Suthiro Это просто звук фортепиано с добавлением шума. Это происходит с любым звуком, который я пытаюсь отфильтровать. Не могу загрузить файл сюда.   -  person vegiv    schedule 14.11.2020
comment
@ThP это ндаррай. См. документы для scipy.signal.filtfilt для получения дополнительной информации.   -  person vegiv    schedule 14.11.2020
comment
@vegiv, хотя это просто звук фортепиано, файл имеет формат, битрейт и размер, возможно, соответствующие.   -  person Suthiro    schedule 16.11.2020
comment
@Suthiro Как показано в коде, звук фортепиано представляет собой волновой файл с частотой дискретизации 22050 Гц и размером файла 636 КБ.   -  person vegiv    schedule 16.11.2020