মূল কনটেন্টে যান
এআই টিউটোরিয়াল

একটি গানের রেকর্ডিংকে বাজানোর উপযোগী পাঁচ-অংশের ব্যান্ড স্কোরে রূপান্তর করুন

Audio to Band Score সেটআপ করা, Demucs দিয়ে মিশ্র রেকর্ডিং বিশ্লেষণ করা, ব্যবহারিক পাঁচ-সদস্যের অ্যারেঞ্জমেন্ট তৈরিতে এজেন্টকে নির্দেশনা দেওয়া, MuseScore ফাইল নিরীক্ষা করা এবং মহড়ার জন্য প্রস্তুত MIDI, PDF ও MSCZ ফাইল রপ্তানি করা শিখুন।

গানের রেকর্ডিংকে বাজানোর উপযোগী পাঁচ-অংশের ব্যান্ড স্কোরে রূপান্তর করুন

অডিও থেকে ব্যান্ড স্কোর কী?

অডিও থেকে ব্যান্ড স্কোর হলো এমন একটি এজেন্ট স্কিল, যা সম্পূর্ণ একটি গানের রেকর্ডিংকে পাঁচ সদস্যের স্কুল ব্যান্ডের জন্য ব্যবহারিক অ্যারেঞ্জমেন্টে রূপান্তর করে। কাঁচা স্টেম দেখানো বা স্বয়ংক্রিয় MIDI শনাক্তকরণকে সম্পূর্ণ ট্রান্সক্রিপশন হিসেবে বিবেচনা করার পরিবর্তে, এটি একটি এজেন্টকে সোর্স সেপারেশন, সংগীত বিশ্লেষণ, যন্ত্র নির্ধারণ, নোটেশন, মান যাচাই এবং MuseScore এক্সপোর্টের ধাপগুলোর মাধ্যমে পরিচালনা করে।

মানক ওয়ার্কফ্লোতে রিহার্সালের জন্য প্রস্তুত তিনটি ফাইল তৈরি হয়: প্লেব্যাক বা DAW পরিদর্শনের জন্য একটি MIDI ফাইল, প্রিন্টযোগ্য PDF স্কোর এবং সম্পাদনাযোগ্য নেটিভ MuseScore MSCZ ফাইল।

গুরুত্বপূর্ণ: এটি একটি এজেন্ট স্কিল, স্বতন্ত্র ডেস্কটপ অ্যাপ্লিকেশন নয়। আপনাকে একটি সামঞ্জস্যপূর্ণ এজেন্ট রানটাইমে রিপোজিটরিটি উপলভ্য করতে হবে এবং প্রয়োজনীয় স্থানীয় অডিও ও নোটেশন টুল সরবরাহ করতে হবে।

অ্যারেঞ্জমেন্ট ওয়ার্কফ্লো কীভাবে কাজ করে

স্কিলটি ধাপে ধাপে একটি প্রক্রিয়া অনুসরণ করে:

মিশ্র রেকর্ডিং
    → সময়-সমন্বিত সোর্স সেপারেশন
    → বিট, বিভাগ, হারমনি এবং নোট-ক্যান্ডিডেট বিশ্লেষণ
    → যন্ত্র নির্ধারণ এবং বাজানোর উপযোগী সম্পাদনা
    → MuseScore নোটেশন
    → কাঠামোগত অডিট এবং ভিজ্যুয়াল/ফাইল যাচাই
    → MIDI + PDF + সম্পাদনাযোগ্য MSCZ

এর মূল নীতি হলো বাজানোর উপযোগী বিশ্বস্ততা। লক্ষ্য হলো রেকর্ডিংয়ের কাঠামো, হারমনিক চলন, গ্রুভ, চেনা রিফ এবং গুরুত্বপূর্ণ ট্রানজিশন অক্ষুণ্ণ রাখা, একই সঙ্গে অনুরোধকৃত সংগীতশিল্পীদের জন্য অবাস্তব বিবরণগুলো সরলীকরণ বা পুনর্বণ্টন করা।

海阔天空-এর Beyond অ্যারেঞ্জমেন্টের স্কোরের অংশ

প্রধান বৈশিষ্ট্য

  • Demucs ব্যবহার করে একটি মিশ্র রেকর্ডিংকে সময়-সমন্বিত বিশ্লেষণ স্টেমে আলাদা করে।
  • চার-সোর্স এবং ছয়-সোর্স সেপারেশনের ফলাফল তুলনা করতে পারে।
  • বিভাগ, টেম্পোর সম্ভাব্য মান, টাইম সিগনেচার, হারমনি, বেসের চলন, রিফ, ফিল এবং বাদ্যযন্ত্রের প্রবেশ-বিন্দু বিশ্লেষণ করে।
  • লিড গিটার, রিদম গিটার, বেস, কিবোর্ড এবং ড্রামের মধ্যে মিউজিক্যাল উপাদান বণ্টন করে।
  • শিক্ষানবিশ, স্কুল-অ্যামেচার ইন্টারমিডিয়েট এবং অ্যাডভান্সড কঠিনতার লক্ষ্য সমর্থন করে।
  • অসম্পাদিত শনাক্তকরণ-আউটপুট দেওয়ার পরিবর্তে কাঠামোবদ্ধ, সম্পাদনাযোগ্য MuseScore নোটেশন তৈরি করে।
  • স্কোরের কাঠামো, নির্বাচিত TAB-এর পিচ ও স্ট্রিং সম্পর্ক, এক্সপোর্টের নিরাপত্তা এবং ফাইলের সামঞ্জস্য যাচাই করে।
  • ডিফল্টভাবে অডিও কোনো অর্থপ্রদত্ত বাহ্যিক API-তে আপলোড না করে স্থানীয় ও বিনামূল্যের টুল ব্যবহার করে।

ডিফল্ট পাঁচ-অংশের যন্ত্র বিন্যাস

ডিফল্ট স্কোরটি একজন গায়কের জন্য অ্যাকম্পানিমেন্ট, তবে অনুরোধে আচরণ পরিবর্তন না করা হলে ইন্সট্রুমেন্টাল স্কোরে ভোকাল লাইন অন্তর্ভুক্ত থাকে না। এর পরিবর্তে ভোকাল ট্র্যাক ব্যবহার করা হয় গানের কাঠামো, শ্বাস নেওয়ার অবকাশ এবং বাদ্যযন্ত্রের প্রবেশ-বিন্দু শনাক্ত করতে।

  • লিড গিটার: স্বাক্ষরধর্মী রিফ, হুক, ফিল এবং ইন্সট্রুমেন্টাল থিমের জন্য রিদমিক ছয়-স্ট্রিং TAB।
  • রিদম গিটার: কর্ড, স্ট্রামিং, আর্পেজিও এবং গ্রুভ সাপোর্টের জন্য রিদমিক ছয়-স্ট্রিং TAB।
  • বেস: রুট মুভমেন্ট, ট্রানজিশন এবং নিম্ন-স্বরের চলনের জন্য রিদমিক চার-স্ট্রিং TAB।
  • কিবোর্ড: হারমনি, প্যাড, কাউন্টার-লাইন এবং কিবোর্ড-নির্দিষ্ট মোটিফের জন্য গ্র্যান্ড স্টাফ নোটেশন।
  • ড্রামস: গ্রুভ, অ্যাকসেন্ট, ট্রানজিশন এবং ফিলের জন্য প্রচলিত পাঁচ-লাইন ড্রাম নোটেশন।

অনুরোধকৃত যন্ত্র বিন্যাস, টিউনিং, কী, কঠিনতার মাত্রা, সময়কাল এবং অ্যারেঞ্জমেন্টের সীমাবদ্ধতা এই ডিফল্টগুলোর ওপর অগ্রাধিকার পায়।

ইনস্টলেশন এবং স্থানীয় সেটআপ

১. রিপোজিটরি ক্লোন করুন

git clone https://github.com/kiri603/To-Sheet-Music-Skill.git
cd To-Sheet-Music-Skill

২. একটি Python পরিবেশ তৈরি করুন

Python 3.11 হলো প্রস্তাবিত সামঞ্জস্যের ভিত্তি। একটি আলাদা ভার্চুয়াল পরিবেশ তৈরি করুন, যাতে Demucs এবং সহায়ক প্যাকেজগুলো অন্য Python প্রকল্পে হস্তক্ষেপ না করে।

python3.11 -m venv work/audio-env
source work/audio-env/bin/activate
python -m pip install demucs numpy soundfile imageio-ffmpeg

Windows-এ work/audio-env/Scripts/-এর অধীন Python এবং অ্যাক্টিভেশন এক্সিকিউটেবল ব্যবহার করুন। ইনস্টল করার আগে আপনার কম্পিউটারে ইনস্টল করা Python ইন্টারপ্রেটারের সঙ্গে প্যাকেজগুলোর সামঞ্জস্য যাচাই করুন।

৩. বাহ্যিক প্রয়োজনীয়তা ইনস্টল করুন

  • FFmpeg: অডিও ডিকোড করার জন্য প্রয়োজনীয়। এটি আপনার অপারেটিং সিস্টেম, স্পষ্টভাবে দেওয়া --ffmpeg পাথ অথবা imageio-ffmpeg থেকে আসতে পারে।
  • MuseScore Studio: নোটেশন খুলতে এবং MIDI ও PDF ফাইল এক্সপোর্ট করতে প্রয়োজনীয়।
  • ঐচ্ছিক বিশ্লেষণ টুল: কাজের ধরন অনুযায়ী আপনি librosa, basic-pitch, pretty_midi, mido, music21, pypdf অথবা Poppler ব্যবহার করতে পারেন।
  • CUDA: ঐচ্ছিক। সামঞ্জস্যপূর্ণ GPU না থাকলে সেপারেশন ওয়ার্কফ্লো CPU-তে চলতে পারে।

রিপোজিটরি স্বয়ংক্রিয়ভাবে সফটওয়্যার ইনস্টল করে না বা মডেল ওজন প্যাকেজের সঙ্গে দেয় না। প্রয়োজনীয় মডেল ওজন দরকার হলে স্থানীয় পরিবেশ ডাউনলোড করে।

৪. আপনার এজেন্টের জন্য স্কিলটি উপলভ্য করুন

স্কিলটি SKILL.md এবং agents/openai.yaml-কে কেন্দ্র করে সাজানো হয়েছে। আপনার এজেন্ট রানটাইমের স্কিল-লোডিং প্রক্রিয়া অনুযায়ী রিপোজিটরিটি যোগ করুন বা উপলভ্য করুন। রানটাইমভেদে প্রক্রিয়া আলাদা হওয়ায়, এই ধাপের জন্য রিপোজিটরিতে কোনো সার্বজনীন ইনস্টলেশন কমান্ড নির্ধারণ করা নেই।

মৌলিক ব্যবহার: একটি অ্যারেঞ্জমেন্টের অনুরোধ

স্কিলটি উপলভ্য হয়ে গেলে, এজেন্টকে সোর্স রেকর্ডিং এবং একটি স্পষ্ট অ্যারেঞ্জমেন্টের অনুরোধ দিন। উদাহরণ:

Use $audio-to-band-score to arrange "song.wav" for lead guitar, rhythm guitar,
bass, keyboard, and drums at the default school-amateur intermediate level.
Preserve the original song structure and recognizable riffs, then deliver MIDI,
PDF, and editable MSCZ files.

একটি কার্যকর অনুরোধে ইনপুট ফাইল, ইন্সট্রুমেন্টেশন, প্লেয়ারের দক্ষতার স্তর এবং সবচেয়ে গুরুত্বপূর্ণ বাদ্যযন্ত্র-সংক্রান্ত বৈশিষ্ট্যগুলো উল্লেখ করা উচিত। প্রযোজ্য হলে কাঙ্ক্ষিত কী, গিটার বা বেসের টিউনিং, অ্যারেঞ্জমেন্টের দৈর্ঘ্য, কাট, পুনরাবৃত্ত অংশ বা পারফরম্যান্সের অন্যান্য সীমাবদ্ধতাও নির্দিষ্ট করুন।

声-এর Koe অ্যারেঞ্জমেন্টের স্কোরের অংশ

সরাসরি সোর্স সেপারেশন চালান

অ্যারেঞ্জমেন্ট সম্পূর্ণ করার আগে বিশ্লেষণের স্টেম পরীক্ষা বা প্রস্তুত করতে চাইলে সোর্স-সেপারেশন হেল্পারটি স্বাধীনভাবে চালানো যায়:

python scripts/separate_audio.py \
  --input "path/to/song.wav" \
  --out-dir "work/separation-v1" \
  --profile high \
  --device auto

high প্রোফাইলটি চার-সোর্স এবং ছয়-সোর্স উভয় Demucs বিশ্লেষণ চালায়, যাতে তাদের প্রমাণ তুলনা করা যায়। balanced প্রোফাইলটি কেবল ছয়-সোর্স বিশ্লেষণ চালায় এবং অভ্যন্তরীণ পরীক্ষা বা সীমিত সম্পদের সিস্টেমের জন্য তৈরি।

আউটপুট ডিরেক্টরিটি নতুন হতে হবে। হেল্পারটি ইচ্ছাকৃতভাবে বিদ্যমান ডিরেক্টরি ওভাররাইট করতে অস্বীকার করে, ফলে আগের স্টেম ও বিশ্লেষণের প্রমাণ সুরক্ষিত থাকে। প্রতিটি রান-এর জন্য work/separation-v1 বা work/separation-v2-এর মতো সংস্করণযুক্ত পথ বেছে নিন।

সম্পূর্ণ করা MuseScore ফাইল অডিট করুন

এজেন্ট work/final.mscz তৈরি করার পর ডেলিভারেবল এক্সপোর্টের আগে অডিট হেল্পার চালান:

python scripts/score_tools.py audit \
  --score "work/final.mscz" \
  --report "work/audit.json"

অডিটটি পিচ, স্ট্রিং এবং ফ্রেটের সম্পর্কসহ কাঠামোগত পরীক্ষা ও নির্বাচিত TAB পরীক্ষা সম্পন্ন করে। এটি কারিগরি অসঙ্গতি শনাক্ত করতে পারে, তবে প্রতিটি নোট, বিট, আর্টিকুলেশন বা সম্মিলিত বাদ্যযন্ত্রের অংশ সঠিকভাবে অ্যারেঞ্জ করা হয়েছে তা প্রমাণ করে না।

MIDI, PDF এবং MSCZ এক্সপোর্ট করুন

একই নেটিভ MuseScore ফাইল থেকে সব ফরম্যাট এক্সপোর্ট করুন, যাতে মুদ্রণযোগ্য, বাজানোর উপযোগী এবং সম্পাদনাযোগ্য সংস্করণগুলো সামঞ্জস্যপূর্ণ থাকে:

python scripts/score_tools.py export \
  --score "work/final.mscz" \
  --out-dir "work/export-v1" \
  --name "song_band" \
  --musescore "/path/to/MuseScore"

এক্সপোর্ট হেল্পারটি বিদ্যমান আউটপুট ডিরেক্টরি ওভাররাইট করে না। অনুরোধ করা তিনটি ফরম্যাট সফলভাবে তৈরি হওয়ার পরই এটি নতুন ডিরেক্টরিটি প্রকাশ করে।

  • song_band.mid প্লেব্যাক এবং DAW বা MIDI পরিদর্শনের জন্য ব্যবহৃত হয়।
  • song_band.pdf মুদ্রণযোগ্য রিহার্সাল স্কোর সরবরাহ করে।
  • song_band.mscz সম্পাদনাযোগ্য নেটিভ MuseScore প্রজেক্ট সরবরাহ করে।

ওয়ার্কিং ডিরেক্টরিতে manifest.json, আলাদা করা WAV স্টেম, বিশ্লেষণ নোট, MIDI প্রার্থী, MusicXML, অডিট রিপোর্ট এবং রেন্ডার করা PDF পেজও থাকতে পারে। ব্যবহারকারী ডেলিভারেবল হিসেবে না চাইলে এগুলো প্রমাণ ও গুণমান-নিশ্চয়তার আর্টিফ্যাক্ট হিসেবে বিবেচিত হয়।

春日影-এর Haruhikage অ্যারেঞ্জমেন্টের স্কোরের অংশ

আরও ভালো ফলাফলের জন্য উন্নত পরামর্শ

নির্ভুল অ্যারেঞ্জমেন্ট ব্রিফ লিখুন

কেবল গানটি ট্রান্সক্রাইব করার সাধারণ অনুরোধের ওপর নির্ভর করবেন না। ফলাফলটি কে পরিবেশন করবে এবং তারা কী বাজাতে পারে তা উল্লেখ করুন। উদাহরণস্বরূপ, বিগিনার চার্ট ও অ্যাডভান্সড চার্টের পার্থক্য নির্দিষ্ট করুন, নন-স্ট্যান্ডার্ড টিউনিং উল্লেখ করুন এবং যে রিফ বা ট্রানজিশনগুলো চেনা থাকা জরুরি সেগুলো চিহ্নিত করুন।

আলাদা করা স্টেমকে প্রমাণ হিসেবে বিবেচনা করুন

guitar বা piano নামে চিহ্নিত ছয়-সোর্স আউটপুটগুলো সম্ভাব্য উৎস, নিশ্চিতভাবে বিচ্ছিন্ন বাদ্যযন্ত্র নয়। গিটার স্টেমকে স্বয়ংক্রিয়ভাবে একটি সম্পূর্ণ গিটার পার্ট হিসেবে ব্যাখ্যা করা উচিত নয়, এবং এটি প্রমাণ করে না যে দুটি স্বাধীন গিটার পার্ট রয়েছে। মূল মিক্স, পুনরাবৃত্ত অংশ, হারমনিক প্রেক্ষাপট, রিদম এবং বাদ্যযন্ত্রভিত্তিক সীমাবদ্ধতার সঙ্গে প্রার্থীদের মিলিয়ে দেখুন।

টাইমলাইনের সামঞ্জস্য বজায় রাখুন

ওয়ার্কফ্লোটি স্টেমগুলোকে একটি অভিন্ন টাইমলাইনে রাখে এবং তাদের স্যাম্পল রেট, চ্যানেল লেআউট ও ফ্রেম কাউন্ট পরীক্ষা করে। সোর্স রেকর্ডিংয়ের সঙ্গে তাদের অ্যালাইনমেন্টও বজায় না রাখলে পৃথক স্টেম ম্যানুয়ালি ট্রিম বা সরানো এড়িয়ে চলুন।

সংস্করণযুক্ত ওয়ার্কিং ডিরেক্টরি ব্যবহার করুন

সেপারেশন ও এক্সপোর্ট হেল্পার বিদ্যমান ডিরেক্টরি ওভাররাইট করতে অস্বীকার করে। তাই separation-v1, separation-v2, export-v1 এবং export-v2-এর মতো নাম ব্যবহার করুন। এতে প্রোফাইল সেটিংস তুলনা করা এবং আগের প্রচেষ্টার প্রমাণ সংরক্ষণ করাও সহজ হয়।

স্বয়ংক্রিয় পরীক্ষার পর স্কোর বাদ্যযন্ত্রের দৃষ্টিতে পর্যালোচনা করুন

সফল অডিট নির্বাচিত কাঠামোগত ও নোটেশন বৈশিষ্ট্য যাচাই করে, বাদ্যযন্ত্রগত নিখুঁততা নয়। MIDI শুনুন, PDF পরীক্ষা করুন, MuseScore-এ MSCZ ফাইল খুলুন এবং এনট্রান্স, ট্রানজিশন, রিপিট, গিটার ফিঙ্গারিং, কিবোর্ড টেক্সচার, বেসের চলন ও ড্রাম ফিলগুলো এনসেম্বলের জন্য ব্যবহারিক কি না নিশ্চিত করুন।

একটি কর্তৃত্বপূর্ণ স্কোর সোর্স রাখুন

নেটিভ MSCZ স্কোরে চূড়ান্ত সংশোধন করুন, তারপর একই ফাইল থেকে MIDI ও PDF পুনরায় তৈরি করুন। এক্সপোর্ট করা ফরম্যাটগুলো আলাদাভাবে সম্পাদনা করলে তিনটি ডেলিভারেবল পরস্পরের সঙ্গে অসামঞ্জস্যপূর্ণ হয়ে যেতে পারে।

টেস্ট স্যুট চালান

রিপোজিটরির রুট থেকে অন্তর্ভুক্ত টেস্টগুলো চালান:

python -m unittest discover -s scripts -p "test_*.py" -v

টেস্টগুলো সেপারেশনের এজ কেস, সীমাবদ্ধ মডেল-ডাউনলোড রিট্রাই, টাইমলাইন যাচাই, TAB পিচ ও স্ট্রিং পরীক্ষা, কাঠামোগত স্কোর পরীক্ষা এবং এক্সপোর্ট সুরক্ষা যাচাই করে। এগুলো পাস করলে হেল্পার ওয়ার্কফ্লো প্রত্যাশামতো কাজ করছে নিশ্চিত হয়; তবে ট্রান্সক্রিপশনের নির্ভুলতা বা অ্যারেঞ্জমেন্টের মান মাপা হয় না।

সীমাবদ্ধতা ও দায়িত্বশীল ব্যবহার

  • প্রকল্পটি ত্রুটিমুক্ত ট্রান্সক্রিপশন বা সম্পূর্ণ অডিও বিশ্বস্ততার দাবি করে না।
  • স্বয়ংক্রিয় যাচাই বাদ্যযন্ত্রে শোনা এবং স্বরলিপি পর্যালোচনার বিকল্প হতে পারে না।
  • এই কর্মপ্রবাহ স্পিচ-টু-টেক্সট, গানের কথা অনুবাদ বা স্কোর ডাউনলোডের সুবিধা দেয় না।
  • মডেলের ওজন রিপোজিটরিতে অন্তর্ভুক্ত নয় এবং প্রয়োজন অনুযায়ী ডাউনলোড হতে পারে।
  • রিপোজিটরিতে বর্তমানে প্রকল্প-স্তরের কোনো লাইসেন্স ফাইল নেই, তাই এর কোড বা সম্পদ পুনর্বিতরণ করা যাবে বলে ধরে নেবেন না।
  • তৃতীয় পক্ষের টুল, মডেল, ডেটাসেট এবং রেকর্ডিংয়ের নিজস্ব লাইসেন্স ও ব্যবহারের শর্ত প্রযোজ্য থাকে।

শুধুমাত্র এমন রেকর্ডিং ও রেফারেন্স উপকরণ প্রক্রিয়া করুন, যেগুলো ব্যবহারের অধিকার আপনার রয়েছে। ব্যক্তিগত রেকর্ডিং, পরিচয়পত্র, মডেল ক্যাশ, তৈরি হওয়া Python ক্যাশ বা বড় অস্থায়ী আর্টিফ্যাক্ট রিপোজিটরিতে কমিট করবেন না।

উপসংহার

Audio to Band Score একটি মিশ্র রেকর্ডিং থেকে সম্পাদনাযোগ্য, মহড়াকেন্দ্রিক পাঁচ-ভাগের অ্যারেঞ্জমেন্ট তৈরির জন্য সুশৃঙ্খল পথ প্রদান করে। এর প্রধান মূল্য সম্পূর্ণ স্বয়ংক্রিয় ট্রান্সক্রিপশনে নয়; বরং সোর্স-সেপারেশন প্রমাণ, সুস্পষ্ট বাদ্যযান্ত্রিক সিদ্ধান্ত, বাজানোর উপযোগিতাকেন্দ্রিক অ্যারেঞ্জমেন্ট, কাঠামোগত যাচাই এবং সামঞ্জস্যপূর্ণ MuseScore এক্সপোর্টের সমন্বয়ে। নির্ভরযোগ্য ফলাফলের জন্য এজেন্টকে সুনির্দিষ্ট নির্দেশনা দিন, বিশ্লেষণের প্রমাণ সংরক্ষণ করুন, অডিট ও পরীক্ষা চালান এবং শেষে মানুষের মাধ্যমে বাদ্যযান্ত্রিক পর্যালোচনা সম্পন্ন করুন।