প্রকল্প সম্পর্কে
chalkwalk-dsp হল একটি ছোট C++ অডিও DSP লাইব্রেরি যা দুটি টার্গেটে বিভক্ত। প্রিমিটিভ টার্গেট, chalkwalk::dsp, হেডার-অনলি এবং নির্ভরতা-মুক্ত; মাপন টার্গেট, chalkwalk::dsp::measure, পৃথক কারণ এটি একটি নির্ভরতা (libebur128) আনে যা শুধু লাউডনেস নম্বর চাওয়া কনসিউমারদের তৈরি করতে হয়।
প্রিমিটিভ (chalkwalk::dsp):
- Svf.h — সাইটোমিক স্টেট-ভেরিয়েবল ফিল্টার যা একটি পোল জোড়া থেকে লো-পাস, হাই-পাস, ব্যান্ড-পাস এবং নাচ প্রদান করে। set(freq, Q, sampleRate) এবং setCoeffs(g, k) সমর্থন করে যাতে কলাররা নিজেদের কোইফিশিয়েন্ট স্মুথ করতে পারে।
- PolyBlep.h — স এবং পালস অসিলেটরের জন্য ব্যান্ড-লিমিটেড স্টেপ সংশোধন।
- SoftClip.h — সফ্ট-নী সিলিং যা নী-এর নিচে সঠিকভাবে ইউনিটি।
- Interpolation.h — ফ্র্যাকশনাল বাফার রিডের জন্য ৪-পয়েন্ট হার্মাইট ইন্টারপোলেশন।
- Denormal.h — স্টেট ফ্লাশিং যাতে একটি নিষ্ক্রিয় রিকারসিভ ফিল্টার ধীর না হয়।
ইনস্ট্রুমেন্ট:
- Measure.h — পিক, RMS, ক্রেস্ট, dB, ব্রাইটনেস এবং পিচ; শুধু chalkwalk::dsp-এ নির্ভর করে।
- Loudness.h — LUFS-এ ইন্টিগ্রেটেড লাউডনেস; chalkwalk::dsp::measure এবং libebur128-এ নির্ভর করে।
ব্যবহার হেডার-অনলি: ইনক্লুড ডিরেক্টরি যোগ করুন বা CMake সাবডিরেক্টরি হিসেবে ব্যবহার করুন এবং chalkwalk::dsp লিংক করুন, ঐচ্ছিকভাবে chalkwalk::dsp::measure লাউডনেসের জন্য। README নোট করে যে Measure.h প্রিমিটিভ টার্গেটের সাথে এককেই কাজ করে, তাই --recursive ছাড়া ক্লোন করলেই যথেষ্ট যদি না BS.1770 লাউডনেস দরকার হয়।
বিল্ড এবং টেস্ট: cmake -B build && cmake --build build && ctest --test-dir build। প্রজেক্টটি স্বতন্ত্রভাবে বিল্ড হওয়ার জন্য ডিজাইন করা হয়েছে, যা README এক্সট্রাকশন বাউন্ডারির একটি টেস্ট হিসেবে ফ্রেম করে।
README লাইব্রেরির প্রেরণা ডকুমেন্ট করে: দুটি প্লাগইনে ডুপ্লিকেট ইমপ্লিমেন্টেশন গুরুতরভাবে ভিন্ন ছিল। উদাহরণগুলিতে রয়েছে একটি ইনভার্টেড পলিব্লেপ সংশোধন সাইন যা ডিসকন্টিনিউইটি রদ্দ করার বদলে تقویت করেছিল, একটি পালস-উইডথ ক্ল্যাম্প যা [0.05, 0.95]-এ ফিক্সড ছিল যা কম এবং উচ্চ ফ্রিকোয়েন্সিতে ভুল বলে বর্ণিত (লিমিটটি ফেজ ইনক্রিমেন্টের সাথে স্কেল হওয়া উচিত), একটি রিকারসিভ ফিল্টারে ডিনরম্যাল ফ্লাশিং অনুপস্থিত, এবং tan() এর জন্য নাইকুইস্ট এবং শূন্য কাট-অফের নিকট ফিল্টার গার্ড। মাপন কোড কনসোলিডেট করা হয়েছিল কারণ পিক এবং RMS তিনবার এবং ফান্ডামেন্টালHz দুবার ছিল; README বলে একটি ডিটেক্টর ৪৪০ Hz টোনের জন্য ২৯৪.৭ Hz পড়েছিল। মাপনগুলি পরিচিত উত্তর সহ সিনথেটিক সিগন্যালের বিপরীতে ক্যালিব্রেট করা হয়েছে, এবং integratedLufs ffmpeg-এর ebur128-এর সাথে চেক করা হয়েছে যাতে ০.০৫ LU-এর ভিতরে সম্মতি থাকে।
লাইসেন্স: MIT। libebur128 (MIT) মাপন টার্গেটের জন্য modules/libebur128-এ সাবমডিউল হিসেবে ভেন্ডর করা হয়েছে; প্রিমিটিভ কিছুই লিংক করে না। প্রজেক্টটি chalkwalk প্লাগইন ইকোসিস্টেমের অংশ chalkwalk-music-এর পাশাপাশি।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.