तो मैं एफएफटी के साथ काम कर रहा हूं, और मैं वर्तमान में एफएफटी के साथ एक फ़ाइल से ध्वनि तरंग प्राप्त करने की कोशिश कर रहा हूं, (अंत में इसे संशोधित करें), लेकिन तब आउटपुट जो संशोधित तरंग को फ़ाइल में वापस संशोधित करता है। मुझे साउंडवेव का एफएफटी मिला है और उसके बाद एक उलटा एफएफटी फ़ंक्शन इस्तेमाल किया है, लेकिन आउटपुट फ़ाइल बिल्कुल सही नहीं है। मैंने तरंगों पर कोई फ़िल्टरिंग नहीं की है - मैं केवल आवृत्ति डेटा प्राप्त करने का परीक्षण कर रहा हूं और फिर इसे एक फ़ाइल में वापस डाल रहा हूं - इसे समान ध्वनि देना चाहिए, लेकिन यह बहुत अलग लगता है। कोई विचार?पायथन न्यूमपी - एफएफटी और इनवर्क्स एफएफटी?
- संपादित करें -
मैं के बाद से इस परियोजना के एक बिट पर काम कर रहा है, लेकिन अभी तक वांछित परिणाम नहीं मिला है। आउटपुट की गई ध्वनि फ़ाइल शोर है (दोनों ज़ोरदार, साथ ही अतिरिक्त शोर जो मूल फ़ाइल में मौजूद नहीं थी), और एक चैनल से ध्वनि दूसरे चैनल (जो पहले चुप थी) में लीक हुई थी। इनपुट ध्वनि फ़ाइल एक स्टीरियो, 2-चैनल फ़ाइल है जिसमें ध्वनि केवल एक चैनल से आती है।
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)
मैं काफी क्यों यह काम नहीं करता नहीं दिख रहा है ...: यहाँ मेरी कोड है?
संपादित करें: मैंने समस्या को ज़िपित किया है .py फ़ाइल और ऑडियो फ़ाइल, अगर यह समस्या here हल करने में मदद कर सकती है।
जोड़ने का प्रयास करें 'filteredwrite = numpy.round (filteredwrite) .astype ('int16')' इससे पहले कि आप –
@Bago बचाने - धन्यवाद एक बहुत! वह पूरी तरह से समस्या को ठीक कर दिया। मैं सोच रहा था, फ़िल्टर किए गए ifft को 'int16' के लिए मजबूर करना मतलब है कि यह 16-बिट गहराई वाली ध्वनि फ़ाइल होगी? – SolarLune
मुझे WAV फ़ाइलों के बारे में बहुत कुछ पता नहीं है, मुझे हमेशा लगता है कि वे कच्चे, असम्पीडित डेटा थे, लेकिन आपको निश्चित रूप से जानने के लिए Wav प्रारूप चश्मे पर पढ़ना होगा। –