इस प्रोजेक्ट के बारे में
DSPark एक हेडर-ओनली C++20 ऑडियो DSP लाइब्रेरी है जो रीयल-टाइम और ऑफ़लाइन ऑडियो सॉफ़्टवेयर बनाने वाले डेवलपर्स के लिए है। इसमें प्रभाव, फ़िल्टर, संश्लेषण और स्पेक्ट्रल बिल्डिंग ब्लॉक, विश्लेषण और संगीत उपकरण, मूल फ़ाइल I/O, और एक वैकल्पिक प्लगइन परत शामिल है। फ्रेमवर्क मॉड्यूल में कोई तृतीय-पक्ष निर्भरता नहीं है और उन्हें अलग से संकलित DSPark लाइब्रेरी की आवश्यकता नहीं है; अनुकूलित पथ प्लेटफ़ॉर्म गार्ड के पीछे कंपाइलर-प्रदत्त SIMD इंट्रिन्सिक्स का उपयोग कर सकते हैं। प्लगइन एडेप्टर और विंडोज़-केवल DSParkLab एप्लिकेशन छत्र हेडर के बाहर हैं और उनकी अपनी प्लेटफ़ॉर्म एकीकरण आवश्यकताएँ हैं।
एकीकरण सीधा है: रिपॉजिटरी को वेंडर करें, इसे इन्क्लूड पथ में जोड़ें, और छत्र हेडर शामिल करें। एक CMake इंटरफ़ेस लक्ष्य इन्क्लूड पथ और C++20 आवश्यकता प्रदान करता है, और प्रोजेक्ट को find_package या FetchContent के माध्यम से भी उपभोग किया जा सकता है। प्रोसेसर का निर्माण और कॉन्फ़िगरेशन ऑडियो-स्ट्रीम स्वामी द्वारा processBlock() कॉल करने से पहले prepare(AudioSpec) के साथ किया जाता है; एक होस्ट में, कॉलबैक में आवंटन से बचने के लिए होस्ट-स्वामित्व वाले चैनल पॉइंटर्स पर एक AudioBufferView बनाया जा सकता है।
क्षमता क्षेत्रों में फ़िल्टर और इक्वलाइज़ेशन (Biquad, StateVariableFilter, LadderFilter, FilterEngine, Equalizer, CrossoverFilter); डायनामिक्स और स्तर नियंत्रण (Compressor, Limiter, NoiseGate, Expander, DynamicEQ, MultibandCompressor, DeEsser); नॉनलाइनियर और एनालॉग मॉडलिंग (Saturation, Clipper, TapeMachine, TubePreamp, TransformerModel, wdf::*); समय, पिच और स्थानिक प्रसंस्करण (Delay, AlgorithmicReverb, Reverb, PitchShifter, TimeStretch, PitchCorrector, GranularProcessor); स्पेक्ट्रल प्रसंस्करण (FFTReal, Convolver, ZeroLatencyConvolver, SpectralProcessor, SpectralFreeze, SpectralDenoiser); विश्लेषण और मीटरिंग (SpectrumAnalyzer, LoudnessMeter, LoudnessNormalizer, PitchDetector, OnsetDetector, BeatTracker, LoopFinder); संश्लेषण और संगीत (Oscillator, WavetableOscillator, ADSREnvelope, ChordDetector, KeyDetector, harmony::*); और बुनियादी ढांचा (AudioBuffer, ProcessorChain, Resampler, Oversampling, Dither, SpscQueue, संस्करणित स्थिति ब्लॉब) शामिल हैं।
फ़ाइल I/O में WAV और MP3 रीड/राइट, स्टैंडर्ड MIDI फ़ाइल रीड/राइट (प्रारूप 0, 1, 2 रीड; 0 और 1 राइट), और केवल मूल FLAC डिकोडिंग शामिल है, राइट ऑपरेशन false लौटाते हैं। DSPARK_NO_FILE_IO परिभाषित करने से फ़ाइल-सिस्टम समर्थन के बिना लक्ष्यों के लिए सभी फ़ाइल-I/O हेडर हट जाते हैं। प्लगइन विकास मूल VST3 और CLAP एडेप्टर के साथ-साथ macOS ऑडियो यूनिट v2 के माध्यम से समर्थित है, जिसमें पैरामीटर, स्वचालन, स्थिति, विलंबता, टेल रिपोर्टिंग, बायपास, मोनो/स्टीरियो लेआउट, साइडचेन, ट्रांसपोर्ट, MIDI इंस्ट्रूमेंट, ऑफ़लाइन रेंडरिंग और फ़ैक्टरी प्रीसेट शामिल हैं; कस्टम एडिटर HTML/CSS/JavaScript में लिखे जा सकते हैं और प्लेटफ़ॉर्म WebView परत के माध्यम से एम्बेड किए जा सकते हैं, Linux पर रनटाइम पर WebKitGTK की आवश्यकता होती है।
रीयल-टाइम सुरक्षा को एक सामान्य संपत्ति के बजाय प्रति-विधि अनुबंध के रूप में प्रलेखित किया गया है: निर्माण, prepare(), स्थिति बहाली, और सेटअप-केवल कॉन्फ़िगरेशन आवंटित कर सकते हैं और प्रसंस्करण के साथ समवर्ती रूप से नहीं चलना चाहिए; एक तैयार प्रोसेसर में एक ऑडियो-स्ट्रीम स्वामी होता है; पैरामीटर प्रकाशन आम तौर पर एक नियंत्रण लेखक और एक ऑडियो स्वामी मानता है। v1.7.0 CI मैट्रिक्स Windows (MSVC x64/ARM64), Linux (GCC x64/ARM64, Clang x64), macOS (Clang ARM64), WebAssembly (Emscripten स्केलर और SIMD128), और फ़ाइल I/O, अपवादों और RTTI अक्षम के साथ एक एम्बेडेड संकलन गेट को कवर करता है; iOS और Android हेडर द्वारा लक्षित हैं लेकिन समर्पित CI नौकरियों की कमी है। CI स्थापित-हेडर आत्मनिर्भरता, चेतावनी-मुक्त बिल्ड, सैनिटाइज़र, समवर्ती प्रकाशन पथ, उदाहरण, प्लगइन स्मोक होस्ट और वैलिडेटर, और उत्पन्न दस्तावेज़ की भी जाँच करता है। आधिकारिक EBU लाउडनेस-वेक्टर नौकरी सर्वोत्तम प्रयास है क्योंकि लाइसेंस प्राप्त परीक्षण सामग्री अलग से डाउनलोड की जाती है।
DSParkLab इंटरैक्टिव प्रोसेसर परीक्षण के लिए एक Windows-केवल Win32/Direct3D 11 एप्लिकेशन है; इसके बंडल किए गए Dear ImGui और miniaudio स्रोत एप्लिकेशन तक सीमित हैं और फ्रेमवर्क निर्भरता नहीं हैं। दस्तावेज़ीकरण में एक उत्पन्न API संदर्भ, एक कार्य-उन्मुख कुकबुक, स्टैंडअलोन उदाहरण, एक प्लगइन गाइड, एक थ्रेडिंग मॉडल, मापी गई सेटिंग्स और चेतावनियों के साथ एक गुणवत्ता मेट्रिक्स तालिका, एक v1.7.0 माइग्रेशन गाइड और एक चेंजलॉग शामिल है। v1.7.0 संगीत समय और संपादन उपकरण, पिच और स्पेक्ट्रल प्रसंस्करण, निर्भरता-मुक्त FLAC डिकोडिंग और MIDI फ़ाइल समर्थन, और दर-जागरूक विश्लेषण विंडो और डबल-परिशुद्धता बाइक्वाड गुणांक जैसे सार्वजनिक-अनुबंध अद्यतन जोड़ता है। परियोजना MIT लाइसेंस प्राप्त है और Cristian Moresi द्वारा बनाए रखा गया है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.