Python NumPy - FFT i Inverse FFT?
Pracowałem więc z FFT i obecnie próbuję uzyskać falę dźwiękową z pliku z FFT (w końcu ją zmodyfikować), ale następnie wyprowadzić zmodyfikowany przebieg z powrotem do pliku. Dostałem FFT fali dźwiękowej, a następnie użyłem na niej odwrotnej funkcji FFT, ale plik wyjściowy w ogóle nie brzmi poprawnie. Nie zrobiłem żadnego filtrowania na fali - testuję tylko pobieranie danych częstotliwości, a następnie umieszczam je z powrotem w pliku - powinno to brzmieć tak samo, ale brzmi to zupełnie inaczej. Jakieś pomysły?
-- EDYTOWAĆ --
Od tamtej pory pracowałem trochę nad tym projektem, ale nie osiągnąłem jeszcze pożądanych rezultatów. Wydany plik dźwiękowy jest zaszumiony (zarówno głośniejszy, jak i dodatkowy szum, który nie był obecny w oryginalnym pliku), a dźwięk z jednego kanału wyciekł do drugiego kanału (który wcześniej był cichy). Wejściowy plik dźwiękowy to stereofoniczny, 2-kanałowy plik z dźwiękiem pochodzącym tylko z jednego kanału. Oto mój kod:
<code> import scipy import wave import struct import numpy import pylab from scipy.io import wavfile rate, data = wavfile.read('./TriLeftChannel.wav') filtereddata = numpy.fft.rfft(data, axis=0) print (data) filteredwrite = numpy.fft.irfft(filtereddata, axis=0) print (filteredwrite) wavfile.write('TestFiltered.wav', rate, filteredwrite) </code>
Nie do końca rozumiem, dlaczego to nie działa ...?
EDYTUJ: Zapakowałem problem z plikiem .py i plikiem audio, jeśli może to pomóc w rozwiązaniu problemututaj.