Когда я пытаюсь отфильтровать шумный файл с помощью фильтра и попытаться воспроизвести его снова, это просто беспорядок. Я нашел решение, которое сработало здесь, но почему я должен сохранять его вот так, и почему я не могу просто воспроизвести его на питоне, может кто-нибудь объяснить это?
Вот код, который я использовал.
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
pianoise.wav
? - person Suthiro   schedule 13.11.2020