বর্ণমালা গাওয়া একটি AI ভয়েসের জন্য সবচেয়ে সহজ কাজ হওয়া উচিত। A-B-C-D-E-F-G। পৃথিবীর প্রতিটি শিশুর কাছে পরিচিত সাতটি আলাদা শব্দ। তবুও যারা AI মিউজিক জেনারেশন নিয়ে পরীক্ষা-নিরীক্ষা করেছেন, তারা জানেন যে বাস্তবতা অনেক বেশি জটিল। একটি মডেলকে বর্ণমালা গাইতে বললে, L, M, N, O এবং P অক্ষরগুলো প্রায়ই একটি অস্পষ্ট সিলেবলে (syllable) মিশে যায়। "Elemmennopee" কোনো অক্ষর নয়। এটি একটি উপসর্গ।

এটিই হলো LMNOP সমস্যা, এবং এর প্রভাব নার্সারি রাইমের গণ্ডি ছাড়িয়ে অনেক দূরে বিস্তৃত। সপ্তাহের দিন, সংখ্যাযুক্ত নির্দেশাবলী এবং যেকোনো ধরনের ক্রমানুসারী তালিকা একই দুর্বলতা প্রকাশ করে। একজন ডেভেলপার সম্প্রতি একটি AI পাইপলাইনের মাধ্যমে আটটি গান তৈরি করে এবং একটি স্বয়ংক্রিয় স্পিচ রিকগনিশন টুল mlx-whisper দিয়ে সেগুলোর আউটপুট পরিমাপ করে এই বিষয়টি পরীক্ষা করেছেন। ব্যক্তিগত অনুভূতির ওপর নির্ভর না করে, তারা ট্রান্সক্রিপশন সফটওয়্যারটিকে ঠিক যা AI গেয়েছিল তা রিপোর্ট করতে দিয়েছেন। ফলাফল ছিল অত্যন্ত স্পষ্ট। সাধারণ ভাষার ক্ষেত্রে যা ঘটে না, গণনার ক্ষেত্রে তা সিন্থেটিক গায়কদের বিভ্রান্ত করে ফেলে।

কেন তালিকা AI ভয়েসকে অচল করে দেয়

কথ্য ভাষা প্রেক্ষাপট বহন করে। কেউ যদি বিড়বিড় করে বলে, "I'm taking the dog to the park," এবং আপনি যদি "dog" শব্দটি মিস করেন, তবুও বাক্যটির অর্থ বোঝা যায়। আশেপাশের শব্দগুলো শূন্যস্থান পূরণ করে দেয়। তালিকাগুলো সেই সুরক্ষা দেয় না। প্রতিটি আইটেম স্বতন্ত্রভাবে থাকে। মডেল যদি "B" এবং "D"-এর মধ্যে পার্থক্য অস্পষ্ট করে ফেলে, তবে শ্রোতা আংশিক অর্থ বুঝতে পারেন না। তারা কেবল কোলাহল বা শব্দ (noise) পান।

বর্ণমালা গানে LMNOP ক্লাস্টারটি হলো সবচেয়ে স্পষ্ট ব্যর্থতার জায়গা। ভয়েস মডেলটি এই ক্রমটিকে পাঁচটি আলাদা অক্ষর হিসেবে না দেখে একটি একক ধ্বনিগত পিণ্ড (phonetic blob) হিসেবে বিবেচনা করে। প্রতিটি শব্দকে ধরে রাখার মতো কোনো প্রেক্ষাপট বা ক্লু না থাকায়, সিন্থেসাইজার ব্যঞ্জনবর্ণগুলোর মধ্যবর্তী পরিবর্তনের ক্ষেত্রে অনুমান করতে থাকে। এটি সাধারণত ভুল অনুমান করে। সপ্তাহের দিন বা সংখ্যাযুক্ত ধাপগুলোর ক্ষেত্রেও একই ঘটনা ঘটে। মডেলটি ক্রমটির মধ্য দিয়ে দ্রুত চলে যায় এবং স্বতন্ত্র বিষয়গুলোকে একটি অস্পষ্ট মিশ্রণে পরিণত করে।

ক্ষতির পরিমাণ পরিমাপ করা

এটি বস্তুনিষ্ঠভাবে অধ্যয়নের জন্য, ডেভেলপার আটটি গান তৈরি করেছেন এবং লিরিকের নির্ভুলতা যাচাই করতে সেগুলো mlx-whisper-এর মাধ্যমে চালিয়েছেন। পাইপলাইনটি ছিল সহজ: একটি প্রম্পট লেখা, অডিও তৈরি করা, ফলাফল ট্রান্সক্রাইব করা এবং ট্রান্সক্রাইব করা টেক্সটটিকে মূল লিরিকের সাথে তুলনা করা।

সাধারণ বর্ণনামূলক লিরিকের ক্ষেত্রে আউটপুট মোটামুটি নির্ভুল ছিল। শব্দগুলো সঠিক স্থানে ছিল। কিন্তু প্রম্পটে যখন তালিকা, বর্ণমালা বা গণনা অন্তর্ভুক্ত ছিল, তখন mlx-whisper অর্থহীন শব্দ (gibberish) প্রদান করেছে। অক্ষরগুলো হারিয়ে গেছে বা মিশে গেছে। সংখ্যাগুলো চেনা যায় না এমন সিলেবলে পরিণত হয়েছে। পরীক্ষাটি নিশ্চিত করেছে যে, গদ্যের তুলনায় তালিকা-নির্ভর লিরিকের বোধগম্যতা উল্লেখযোগ্যভাবে খারাপ হয়।

সহায়ক প্রম্পট আর্কিটেকচার

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

  • দীর্ঘ ক্রমগুলোকে ছোট ছোট গ্রুপে ভাগ করুন। A-B-C-D-E-এর পরিবর্তে লাইনটিকে A-B-C-D এবং E-F-G হিসেবে সাজান। গ্রুপগুলোর মধ্যে এই সামান্য বিরতি মডেলটিকে অক্ষরগুলোকে একত্রে মিশিয়ে ফেলার পরিবর্তে সঠিক ব্যঞ্জনবর্ণে পৌঁছানোর সুযোগ দেয়।

  • সংখ্যাগুলো বানান করে লিখুন। "30"-এর পরিবর্তে "thirty" ব্যবহার করুন। লিখিত সংখ্যা হলো বিমূর্ত প্রতীক; মডেল মাঝে মাঝে সেগুলোকে ছোট এবং অস্পষ্ট শব্দে সংকুচিত করে ফেলে। একটি পূর্ণাঙ্গ ইংরেজি শব্দ ধ্বনিগত ভিত্তি প্রদান করে।

  • অক্ষরগুলোর চারপাশে ভিজ্যুয়াল স্পেসিং দিন। "ABC"-এর পরিবর্তে হাইফেন বা স্পেস দিয়ে "A - B - C" লিখুন। এই দৃশ্যমান বিভাজন মডেলকে সংকেত দেয় যে এগুলো স্বতন্ত্র আইটেম, কোনো একক সংক্ষিপ্ত রূপ বা শব্দ নয়।

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

  • তালিকা থেকে "and" শব্দটি সরিয়ে ফেলুন। স্বাভাবিক কথাবার্তায় "and" একটি সংযোজক হিসেবে কাজ করে। কিন্তু গীত তালিকার ক্ষেত্রে এটি একটি নরম সিলেবল যোগ করে যা প্রায়ই আগের আইটেমটির স্পষ্টতা নষ্ট করে দেয়। "Monday, Tuesday, Wednesday" বলাটা "Monday, Tuesday, and Wednesday"-এর চেয়ে অনেক বেশি স্পষ্ট।

রি-জেনারেশন ট্র্যাপ

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

তথ্যটি ছিল অত্যন্ত স্পষ্ট। তালিকা ছাড়া গানগুলো প্রম্পট সংশোধনের পর উন্নত হয়েছে। কিন্তু তালিকাযুক্ত গানগুলোর মান কমে গেছে।

দোষী হলো অ্যাকোস্টিক সিড (acoustic seed)। লিরিক্স-টু-সং (lyrics-to-song) মডেলে, প্রম্পট পরিবর্তন করা মানে কেবল বিদ্যমান অডিওটি এডিট করা নয়। এটি পুরো জেনারেটিভ ভিত্তিটিকেই নতুন করে সাজিয়ে ফেলে। মডেলটি একদম শুরু থেকে পারফরম্যান্সটি নতুন করে তৈরি করে। বর্ণনামূলক টেক্সটের ক্ষেত্রে, নতুন ডাইস রোল (dice roll) হয়তো আরও পরিষ্কার একটি ভার্সন দিতে পারে। কিন্তু তালিকার (lists) ক্ষেত্রে, আপনি সাধারণত আরও খারাপ অস্পষ্টতার ঝুঁকি নিচ্ছেন। আপনি হয়তো একটি অক্ষরের টাইমিং ঠিক করতে গিয়ে দেখলেন যে পরবর্তী প্রচেষ্টায় মডেলটি "J," "K," এবং "L" অক্ষরগুলোকে অস্পষ্ট করে ফেলেছে। মূল ভার্সনটি ত্রুটিপূর্ণ ছিল ঠিকই, কিন্তু সংশোধনের ফলে প্রায়ই একটি ধ্বনিগত বিশৃঙ্খলা বদলে অন্য একটি বিশৃঙ্খলা তৈরি হয়।

তালিকা-প্রধান লিরিক্সের জন্য একটি স্মার্ট ওয়ার্কফ্লো

যেহেতু পুনরায় জেনারেট করার ফলে স্পষ্টতা নষ্ট হওয়ার ঝুঁকি থাকে, তাই আপনার কাজের প্রক্রিয়া পরিবর্তন করা প্রয়োজন। নিখুঁতভাবে পুনরায় লেখার পেছনে ছোটা বন্ধ করুন। পরিবর্তে, প্রথম প্রম্পটটিকে একটি কাস্টিং কলের (casting call) মতো বিবেচনা করুন।

বিভিন্ন র‍্যান্ডম সিড (random seeds) ব্যবহার করে ঠিক একই প্রম্পট থেকে একাধিক ভার্সন তৈরি করুন। টেক্সট পরিবর্তন করবেন না। লিরিক্স অপরিবর্তিত রাখুন এবং মডেলটিকে তার পারফরম্যান্সের ভিন্নতা দেখানোর সুযোগ দিন। আপনি একটি অডিশন নিচ্ছেন, কোনো এডিট সেশন নয়।

এরপর প্রতিটি ভার্সনকে স্কোর দিন। প্রতিটি ভার্সন mlx-whisper বা অনুরূপ কোনো ট্রান্সক্রিপশন টুলের মাধ্যমে চালিয়ে দেখুন কোনটি আপনার প্রম্পটের সাথে সবচেয়ে নিখুঁতভাবে মিলছে। লিরিক্সের নির্ভুলতার ওপর ভিত্তি করে বিজয়ীকে বেছে নিন, এমনকি যদি ইনস্ট্রুমেন্টেশন বা কণ্ঠস্বর কিছুটা কম মসৃণও হয়। তালিকা-প্রধান কন্টেন্টের ক্ষেত্রে, ভাইব (vibe)-এর চেয়ে স্পষ্টতা বা বোধগম্যতা বেশি গুরুত্বপূর্ণ।

সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো, আপনার সংশোধনগুলো আগেই করে নিন। জেনারেট করার আগেই স্পেসিং রুলস, সিলেবল লিমিট এবং গ্রুপিং প্রয়োগ করুন। বর্ণমালার গানটি সাধারণ ইংরেজিতে লিখে পরে তা ঠিক করার চেষ্টা করবেন না। তালিকার ক্ষেত্রে মডেলটি পরে করা সংশোধনের (retroactive edits) ক্ষেত্রে খুব একটা নমনীয় হয় না। A