Audio Decomposition – संगीत को उसके घटक वाद्यों में अलग करने वाला ओपन सोर्स
(matthew-bird.com)-
प्रोजेक्ट का अवलोकन
- इस प्रोजेक्ट का लक्ष्य संगीत को शीट म्यूज़िक में बदलने वाला प्रोग्राम बनाना है।
- यह एक ओपन सोर्स प्रोजेक्ट है जो बाहरी instrument separation लाइब्रेरी का उपयोग किए बिना संगीत को उसके घटक वाद्यों में अलग करता है।
- इस प्रोजेक्ट की प्रेरणा व्यक्तिगत ज़रूरत और सरल ओपन सोर्स algorithm की कमी थी।
-
तैयारी की प्रक्रिया
- वाद्य डेटा University of Iowa Electronic Music Studios के डेटाबेस से लिया गया।
- इस डेटा से पूरे waveform का Fourier transform और waveform का envelope निकाला गया।
-
काम करने का तरीका
- वाद्य के sound waveform की विशेषता मुख्य रूप से Fourier transform और envelope से तय होती है।
- इसके माध्यम से यह पता लगाया जा सकता है कि कौन-सा वाद्य कौन-सा स्वर बजा रहा है।
-
Fourier transform
- संगीत फ़ाइल का Fourier transform हर 0.1 सेकंड पर करके spectrogram बनाया जाता है।
- हर वाद्य के संग्रहीत Fourier transform को जोड़कर 0.1 सेकंड विंडो के Fourier transform को पुनर्निर्मित किया जाता है।
- प्रत्येक वाद्य का magnitude, MSE cost function के frequency के सापेक्ष partial derivative के माध्यम से निकाला जाता है।
-
Envelope
- Envelope waveform की ऊपरी सीमा है, और इसके लिए ऐसा तरीका चाहिए जो noise और कुछ खास प्रकार के waveform के प्रति मज़बूत हो।
- waveform को chunk में बाँटकर और हर chunk का अधिकतम मान लेकर envelope निकाला जाता है।
- envelope को attack, sustain और release में बाँटकर विश्लेषित किया जाता है।
- वाद्य के waveform में static या dynamic attenuation हो सकता है, और इन्हें अलग करने के लिए attenuation factor और उसके rate of change का विश्लेषण किया जाता है।
-
Waveform के विभिन्न प्रकार
- संगीत फ़ाइल को प्रोसेस करने के लिए हर स्वर की frequency पर band-pass filter लागू किया जाता है।
- हर वाद्य के लिए attack और release की cross-correlation के जरिए हर स्वर की शुरुआत और अंत खोजे जाते हैं, और MSE की गणना करके cost निकाली जाती है।
- Fourier transform चरण में मिले magnitude को cost के व्युत्क्रम से गुणा करके अंतिम magnitude निकाला जाता है।
-
परिणाम और डिस्प्ले
- matplotlib के scatter plot का उपयोग करके शीट म्यूज़िक प्रदर्शित किया जाता है।
- मूल रूप से magnitude से audio को पुनर्निर्मित करने की कोशिश की गई थी, लेकिन कई समस्याओं के कारण इसे छोड़ दिया गया।
- यह शीट म्यूज़िक पुनर्निर्माण में उपयोगी है, और खास तौर पर तब मददगार है जब pitch या chords खोजने में कठिनाई हो।
1 टिप्पणियां
Hacker News राय