প্রকল্প সম্পর্কে

Omi Piano হলো Omi ফ্রেমওয়ার্ক এবং Omi Snippets ব্যবহার করে নির্মিত একটি ওয়েব পিয়ানো অ্যাপ। এটি কিবোর্ডের ৭টি সংখ্যা কী, ৫টি অক্ষর কী এবং Shift, Control, Option, Command—এই চারটি ফাংশন কী-এর সমন্বয়ে ৬০টি পিয়ানো একক নোট (৩৫টি পূর্ণ নোট এবং ২৫টি অর্ধ নোট) তৈরি করে, যা ডাবল লো থেকে ডাবল হাই পর্যন্ত সুরের পরিসর কভার করে। প্রকল্পটি সম্পূর্ণ ডেভেলপমেন্ট ও ইনস্টলেশন প্রক্রিয়া সরবরাহ করে। npm দিয়ে omi-piano প্যাকেজ ইনস্টল করা যায়, অথবা রিপোজিটরি ক্লোন করে npm start চালিয়ে লোকালি চালু করা যায়। ইন্টারফেসে flex লেআউট এবং CSS শ্যাডো ব্যবহার করে সাদা-কালো পিয়ানো কী আঁকা হয়েছে। কী-তে ক্লিক করলে বা সংশ্লিষ্ট কিবোর্ড কী চাপলে নোট বাজে এবং কী হাইলাইট অ্যানিমেশন দেখা যায়। অ্যাপটিতে 'ড্যান্ডেলায়নের প্রতিজ্ঞা' এবং 'চাঁদ আমার হৃদয়ের প্রতিনিধি'—এই দুটি গানের স্বরলিপি বিল্ট-ইন রয়েছে এবং স্বয়ংক্রিয় বাজানো সমর্থন করে। স্বয়ংক্রিয় বাজানোর লজিক রিকার্শন এবং Promise ব্যবহার করে নোটগুলোর মধ্যবর্তী বিরতি নিয়ন্ত্রণ করে এবং বাজানোর সময় নিচের নোট ডিসপ্লে সিঙ্ক্রোনাইজডভাবে হাইলাইট করে। প্রকল্পটি সংখ্যাসূচক স্বরলিপি ও কিবোর্ড কী-এর ম্যাপিং সম্পর্ক এবং কীভাবে কাস্টম স্বরলিপি লিখতে হয় তাও ব্যাখ্যা করে। প্রযুক্তিগত বাস্তবায়নে প্রকল্পটি React, Vue বা Angular-এর মতো মূলধারার ফ্রেমওয়ার্ক ব্যবহার করেনি, বরং Omi-এর JSX ও Web Components পদ্ধতি গ্রহণ করেছে, সাথে Omil সিঙ্গেল-ফাইল কম্পোনেন্ট লোডার এবং Proxy-ভিত্তিক কম্পোনেন্ট কমিউনিকেশন মেকানিজম ব্যবহার করেছে। অডিও প্লেব্যাক HTML5-এর audio ট্যাগের উপর ভিত্তি করে তৈরি, ref দিয়ে নোড অ্যাক্সেস করে প্লেব্যাক প্রগ্রেস নিয়ন্ত্রণ করা হয়। এই প্রকল্পটি ফ্রন্টএন্ড কম্পোনেন্টাইজেশন, কিবোর্ড ইভেন্ট হ্যান্ডলিং এবং অডিও প্লেব্যাকে আগ্রহী ডেভেলপারদের শেখার রেফারেন্স হিসেবে উপযুক্ত, এবং সঙ্গীতপ্রেমীদের জন্য একটি সাধারণ ওয়েব পিয়ানো টুল হিসেবেও ব্যবহারযোগ্য।