2 पॉइंट द्वारा GN⁺ 2024-11-11 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • प्रोजेक्ट का अवलोकन

    • इस प्रोजेक्ट का लक्ष्य संगीत को शीट म्यूज़िक में बदलने वाला प्रोग्राम बनाना है।
    • यह एक ओपन सोर्स प्रोजेक्ट है जो बाहरी 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 टिप्पणियां

 
GN⁺ 2024-11-11
Hacker News राय
  • शीर्षक भ्रमित कर सकता है। यह प्रोजेक्ट source separation नहीं बल्कि एक pitch detection algorithm है, और इसमें instruments को classify करने की सुविधा भी शामिल है
    • नतीजों को ठीक करने में ज़्यादा समय लग सकता है
  • automatic music transcription (audio->MIDI), deep learning और music information retrieval का एक महत्वपूर्ण subfield है
    • Google का MT3 प्रोजेक्ट एक सफल मॉडल के रूप में उल्लेखित है
    • piano transcription के मामले में, कम गुणवत्ता वाले audio पर भी यह लगभग पूरी तरह सटीकता दिखाता है
  • अगर आपकी रुचि audio separation में है, तो RipX देखना उपयोगी हो सकता है
    • यह separated tracks को MIDI files के रूप में export कर सकता है
    • इसमें अभी भी कुछ समस्याएँ हैं, लेकिन यह अच्छी तरह काम करता है
    • stem separation अब music software का standard बन चुका है और लगभग हर DAW इसे उपलब्ध कराता है
  • वास्तविक instrument physics को शायद साधारण Fourier transform templates से पूरी तरह नहीं पकड़ा जा सकता
    • trumpet को धीरे बजाने पर और ज़ोर से बजाने पर उसका harmonic spectrum अलग हो सकता है
    • instrument की intensity के अनुसार harmonic content काफ़ी बदल सकता है
    • हर instrument के लिए intensity-dependent Fourier templates जोड़कर accuracy बेहतर की जा सकती है
  • इससे 15 साल पहले Audiosurf खेलने की याद आ गई
  • ऐसा लगता है कि YouTube video demo source separation नहीं दिखाता
  • कोई भी यह नहीं बता रहा कि "separation" की spelling चार बार गलत लिखी गई है
  • कुछ videos में शायद audio ही नहीं है
  • यह प्रोजेक्ट शायद Joshua Bird के भाई का काम हो सकता है
    • Joshua Bird पहले ही प्रभावशाली projects पर काम कर चुके हैं
  • source code नहीं मिल रहा, लेकिन प्रोजेक्ट दिलचस्प लग रहा है