
প্রকল্পের সারসংক্ষেপ
এই ওয়ার্কফ্লোটি স্বাভাবিক ও সাবলীল চীনা-ইংরেজি দ্বিভাষিক অন্তরঙ্গ অডিও তৈরির জন্য ব্যবহৃত হয়। মূল নীতি হলো টেক্সট-টু-স্পিচ মডেলকে সব ধরনের শব্দ অনুকরণ করতে না দিয়ে চূড়ান্ত ফলকে ভিন্ন দায়িত্বের অডিও ট্র্যাকে ভাগ করা: ElevenLabs সংলাপ ও শ্বাসের প্রকাশ সামলাবে, বাস্তব রেকর্ডিং চুম্বনের শব্দ ও পরিবেশের শব্দ দেবে, ffmpeg কাটছাঁট, গতি পরিবর্তন, মিক্সিং ও জোড়ার কাজ করবে, আর Whisper মান নিয়ন্ত্রণের সরঞ্জাম হিসেবে কাজ করবে।
সবচেয়ে গুরুত্বপূর্ণ সিদ্ধান্ত: ভয়েস মডেল কেবল “কথা” এবং কথার ছন্দের সঙ্গে মিশে থাকা শ্বাসের দায়িত্ব নেবে। চুম্বনের শব্দ, ভেজা শব্দের মতো অ-মৌখিক সাউন্ড এফেক্ট আলাদাভাবে তৈরি করে পরে কণ্ঠের সঙ্গে মেশাতে হবে।
README-এর প্রক্রিয়াটি Mac mini-তে সম্পন্ন করা হয়েছিল, তবে ব্যবহৃত পদ্ধতি কোনো নির্দিষ্ট Mac মডেলের ওপর নির্ভরশীল নয়। সিস্টেম ElevenLabs API কল করতে, ffmpeg চালাতে এবং Whisper দিয়ে ট্রান্সক্রাইব করতে পারলেই মূল ধাপগুলো পুনরায় সম্পন্ন করা যাবে।
মূল সরঞ্জাম ও দায়িত্ব
- ElevenLabs: Voice Design-এর মাধ্যমে কণ্ঠের বৈশিষ্ট্য তৈরি করে এবং টেক্সট-টু-স্পিচ মডেল দিয়ে সংলাপ তৈরি করে।
- ffmpeg: স্যাম্পল রেট একীভূত করা, গতি কমানো,素材 কাটছাঁট, ফেড ইন ও ফেড আউট, মিক্সিং এবং জোড়ার কাজ করে।
- Whisper: অ-মৌখিক素材 মডেল উচ্চারণযোগ্য শব্দে রূপান্তর করেছে কি না তা শনাক্ত করে।
- বৈধভাবে অনুমোদিত বাস্তব রেকর্ডিং: আলাদা পরিবেশের শব্দ সরবরাহ করে। মূল প্রক্রিয়ায় কেবল পাবলিক ডোমেইনের CC0素材 ব্যবহার করা হয়েছে এবং উৎস নথিভুক্ত করা হয়েছে।
শুরু করার আগে ইনস্টলেশন ও প্রস্তুতি
১. ElevenLabs প্রস্তুত করুন
ElevenLabs-এ নিবন্ধন করে Voice Design এবং টেক্সট-টু-স্পিচ API ব্যবহারের জন্য প্রয়োজনীয় ক্রেডেনশিয়াল সংগ্রহ করুন। ব্যবহৃত API-গুলোর মধ্যে রয়েছে POST /v1/text-to-voice/design এবং POST /v1/text-to-voice।
প্রথমে voice_description এবং একটি ডেমো টেক্সট পাঠিয়ে একাধিক প্রার্থী প্রিভিউ সংগ্রহ করুন; প্রার্থী নির্বাচন করার পর তার generated_voice_id ব্যবহার করে স্থায়ী কণ্ঠ সংরক্ষণ করুন। সংরক্ষণ সফল হলে voice_id নথিভুক্ত করুন; পরবর্তী সব মিক্সিংয়ে এই ID ব্যবহার করুন।
২. ffmpeg ইনস্টল করুন
টার্মিনাল থেকে সরাসরি ffmpeg চালানো যায় কি না নিশ্চিত করুন। macOS-এ প্রচলিত প্যাকেজ ম্যানেজারের মাধ্যমে এটি ইনস্টল করা যায়। ইনস্টলেশনের পর নিচের কমান্ড চালিয়ে পরীক্ষা করুন:
ffmpeg -version
৩. Whisper প্রস্তুত করুন
এই প্রক্রিয়ায় Whisper অডিও তৈরি করতে ব্যবহৃত হয় না; এটি একটি “সাউন্ড যাচাই প্রোব” হিসেবে কাজ করে। এটি সম্ভাব্য চুম্বন বা অ-মৌখিক অংশ পরীক্ষা করে: যদি সেগুলো থেকে স্থিতিশীলভাবে কোনো শব্দ ট্রান্সক্রাইব করা যায়, সাধারণত বোঝা যায় মডেলটি প্রকৃত অ-মৌখিক শব্দ তৈরির বদলে অনুকরণধর্মী শব্দ উচ্চারণ করছে।
৪.素材ের ডিরেক্টরি তৈরি করুন
আগেই ফাইলগুলো দায়িত্ব অনুযায়ী আলাদা করে রাখার পরামর্শ দেওয়া হয়। অন্তত কণ্ঠের আউটপুট, চুম্বনের প্রার্থী, বাছাই পাস করা চুম্বনের素材, কাঁচা পরিবেশের শব্দ, কাটছাঁট করা পরিবেশের শব্দের উইন্ডো এবং চূড়ান্ত মিক্সিং ফাইল আলাদা রাখুন। এতে যাচাই না-করা প্রার্থী素材 সরাসরি চূড়ান্ত ফলে ব্যবহৃত হওয়া এড়ানো যায়।
প্রথম ধাপ: চীনা-ইংরেজি দ্বিভাষিক কণ্ঠ ডিজাইন
শুধু ভয়েস লাইব্রেরি থেকে বাছাই না করে টেক্সট বর্ণনা ব্যবহার করুন
README-এর পরীক্ষায় দেখা গেছে, তৈরি করা চীনা কণ্ঠ ইংরেজিতে উচ্চারণগত টান আনতে পারে। Voice Design-এ দ্বিভাষিক পটভূমি স্পষ্টভাবে বর্ণনা করলে চীনা ও ইংরেজি উভয় ভাষায় বেশি স্বাভাবিক ফল পাওয়া সহজ হয়। বর্ণনায় চার ধরনের তথ্য স্পষ্ট করা উচিত: মাতৃভাষাগত দক্ষতা, বয়সের পরিসর, চরিত্রের সম্পর্ক বা ব্যক্তিত্ব, এবং কাঙ্ক্ষিত আবেগ।
মূল প্রক্রিয়ায় ব্যবহৃত বর্ণনাটি নিচে দেওয়া হলো; চরিত্রের প্রয়োজন অনুযায়ী সামঞ্জস্য করুন:
Native bilingual speaker of Mandarin Chinese (standard putonghua) and American English,
both at native level, with no cross-language accent in either. Male, 35–40. Studio quality.
Persona: mature, dominant, doting. Emotion: composed, doting, low-burning.
Rich, chesty, slightly gravelly low voice; unhurried, even pacing with weight on key words
and a breathy softness at the ends of sentences.
ডেমো টেক্সট হিসেবে বিজ্ঞাপনের ভাষা ব্যবহার করবেন না। চরিত্রটি বাস্তবে যেসব কথা বলবে, সেরকম বাক্য বেছে নিন এবং একই বর্ণনা দিয়ে একাধিক প্রার্থী তৈরি করুন। শোনার সময় প্রথমে বিচার করুন এটি কাঙ্ক্ষিত চরিত্রের স্বাভাবিক কথা বলার মতো শোনে কি না; কণ্ঠ কেবল ভারী বা মধুর কি না, তা দিয়ে বিচার করবেন না।
উপযুক্ত মডেল বেছে নিন
- সাধারণ সংলাপ: README v3 সুপারিশ করে; এটি টেক্সটের বিষয়বস্তু থেকে দৈনন্দিন আবেগ প্রকাশে উপযোগী।
- রিয়েল-টাইম কল বা অন্তরঙ্গ দৃশ্য: v4 সুপারিশ করা হয়। একই কণ্ঠে চীনা, ইংরেজি ও মিশ্র চীনা-ইংরেজি সামলাতে এটি বেশি উপযোগী এবং হালকা ভয়েস-গাইডেন্স ট্যাগও সহজে বুঝতে পারে।
- দীর্ঘ纯 ইংরেজি অংশ: v4 ব্যবহার না করলে
eleven_turbo_v2_5বেছে নিয়েlanguage_code=enস্পষ্টভাবে সেট করুন, যাতে ইংরেজিতে চীনা উচ্চারণের টান কমে।
কণ্ঠের প্যারামিটার সামঞ্জস্য করুন
README-এর বাস্তব পরীক্ষায় ব্যবহৃত প্রাথমিক মানগুলো হলো:
stability=0.35: পরিবর্তন ও নাটকীয়তা বেশি স্পষ্ট।stability=0.5: দৈনন্দিন কথাবার্তার কাছাকাছি; “জোর করে অভিনয়” করার অনুভূতি কমায়।similarity_boost=0.8: লক্ষ্য কণ্ঠের ধারাবাহিকতা বজায় রাখতে ব্যবহৃত হয়।style=0.3: মূল নথিতে বলা হয়েছে v3 এই প্যারামিটার শনাক্ত করে না, তাই v3 নিয়ন্ত্রণে এর ওপর নির্ভর করবেন না।
ডিবাগ করার সময় একবারে কেবল একটি ভেরিয়েবল পরিবর্তন করুন। ইতিমধ্যে ভালো প্রতিক্রিয়া পাওয়া একটি বেসলাইন অডিও সংরক্ষণ করুন, তারপর শুধু stability বা ট্যাগের একটি উপাদান পরিবর্তন করুন। এতে পরিবর্তনের উৎস নির্ভুলভাবে বোঝা যাবে।
দ্বিতীয় ধাপ: কথার ছন্দে শ্বাস মিশিয়ে দিন
শুধু কণ্ঠের ভঙ্গি বদলালে ট্যাগ যোগ করুন
প্রতিটি বাক্যে ট্যাগ যোগ করবেন না। প্রতি ছয় থেকে দশটি বাক্যে দুই বা তিনটি হালকা ট্যাগ সাধারণত যথেষ্ট; পরের বাক্যগুলো আগের ভঙ্গি অনুসরণ করতে পারে। মূল প্রক্রিয়ায় ব্যবহৃত শব্দগুলোর মধ্যে রয়েছে low, close, quiet, soft এবং unhurried।
[low and close to her ear, unhurried]
……এসো। লুকিও না।
……আরও একটু কাছে এসো। ঠিক আছে।
[quiet laugh under the breath]
……এত তাড়া কিসের।
intense, heavy, growl, strained এবং rough-এর মতো শক্তিশালী শব্দ একেবারেই ব্যবহার করা যাবে না এমন নয়, তবে মূল পরীক্ষায় এগুলো সহজেই কণ্ঠকে অতিরঞ্জিত করে তুলেছে। বেশি নির্ভরযোগ্য কৌশল হলো নিচু, কাছাকাছি ও ধীর ভঙ্গি চাওয়া; মডেলকে জোর করে অভিনয় করতে বলা নয়।
বিরামচিহ্ন দিয়ে শ্বাসের ছন্দ তৈরি করুন
বারবার heavy breathing লেখার চেয়ে বাক্যের শুরু, শেষ বা মাঝখানে পরিমিত “……” যোগ করলে স্বাভাবিক বিরতি পাওয়া সহজ হয়। প্রতি গুচ্ছে দুই বা তিনটি স্পষ্ট শ্বাসের স্থান রাখুন এবং প্রকাশভঙ্গি বদলান, যেমন হালকা নিঃশ্বাস, বাক্যের মাঝখানে থামা, সাময়িকভাবে শ্বাস ধরে রাখা, হাসির সঙ্গে নিঃশ্বাস ছাড়া বা অর্ধেক শব্দে থেমে যাওয়া।
একই ধরনের হাঁপানোর শব্দ ধারাবাহিকভাবে ব্যবহার করলে পুনরাবৃত্তি স্পষ্ট হয়ে ওঠে। তৈরি হওয়ার পর পুরো অংশ শুনুন; শুধু পৃথক বাক্য পরীক্ষা করবেন না।
সম্ভব হলে পুরো অংশ একবারে তৈরি করুন
পুরো অনুচ্ছেদ একবারে তৈরি করলে শ্বাস, আবেগ ও স্বরের উচ্চতা ধারাবাহিক রাখা সহজ হয়। আটটি বাক্য আলাদাভাবে তৈরি করে জোড়া লাগালে প্রতিটি অংশ নতুন করে শুরু হওয়ার মতো শোনে। রিয়েল-টাইম কলের ক্ষেত্রে পুরো অংশ তৈরি করা সম্ভব না হলে দুইটি বাক্য বা প্রায় চল্লিশটি চীনা অক্ষর নিয়ে একটি ব্লক তৈরি করুন; প্রতি বাক্যে একটি ব্লক এড়িয়ে চলুন।
প্রেক্ষাপট পাঠান
v4 previous_text এবং next_text সমর্থন করে। ব্লক ধরে তৈরি করার সময় আগের ও পরের টেক্সট মডেলকে দিলে যান্ত্রিক পাঠের অনুভূতি কমে। README বিশেষভাবে উল্লেখ করেছে, v3 এই দুটি ফিল্ড সমর্থন করে না; v3-এ পাঠালে ত্রুটি হতে পারে। তাই মডেলভেদে অনুরোধ আলাদাভাবে তৈরি করতে হবে।
ভুল ভাষা রাউটিং এড়ান
প্রোগ্রাম যদি চীনা অক্ষরের অনুপাত দেখে মডেল বা ভাষা নির্ধারণ করে, তবে প্রথমে বর্গ বন্ধনীর ভেতরের ইংরেজি ট্যাগ সরিয়ে নিতে হবে। তা না হলে অল্প চীনা ভাষার একটি বাক্যেও অনেক ইংরেজি ট্যাগ থাকায় সেটিকে ভুল করে ইংরেজি হিসেবে শনাক্ত করা হতে পারে। v4 ব্যবহার করলে একই মডেল ধরে রাখা যায়, ফলে চীনা-ইংরেজি পরিবর্তন কমে।
তৃতীয় ধাপ: কথা বলার গতি নিয়ন্ত্রণ
মূল পরীক্ষায় v4-এর speed প্যারামিটার প্রত্যাশিত ফল দেয়নি। v4 ধীর করতে আগে টেক্সটে স্বাভাবিক বিরতি যোগ করুন, তারপর স্বর অক্ষুণ্ণ রেখে ffmpeg দিয়ে গতি কমান:
ffmpeg -i input.mp3 -filter:a "atempo=0.9" output.mp3
শুধু ইংরেজি ভাষায় turbo মডেল ব্যবহার করলে README-তে কার্যকর প্রাথমিক মান হিসেবে speed=0.84 উল্লেখ করা হয়েছে; বাক্যের মধ্যে বিরতিও যোগ করা যায়:
<break time="0.4s"/>
একটি অংশে অতিরিক্ত বিরতি-ট্যাগ জমা করবেন না। মূল পরীক্ষায় সর্বোচ্চ প্রায় ছয়টি ব্যবহারের পরামর্শ দেওয়া হয়েছে; বেশি হলে আউটপুট অস্থিতিশীল হতে পারে।
চতুর্থ ধাপ: পুনর্ব্যবহারযোগ্য চুম্বনের素材ের সংগ্রহ তৈরি
অনুকরণধর্মী শব্দ সরাসরি লিখবেন না কেন
টেক্সট-টু-স্পিচ মডেলকে চুম্বনের অনুকরণধর্মী শব্দ পড়তে দিলে সাধারণত স্বাভাবিক অ-মৌখিক শব্দের বদলে শনাক্তযোগ্য syllable বা অক্ষরের মতো শব্দ তৈরি হয়। শুধু অ্যাকশন ট্যাগ লিখলেও তা সাধারণ গুঞ্জনে পরিণত হতে পারে। তাই মূল প্রকল্পে “আগে ব্যাচে তৈরি, পরে কাটছাঁট ও বাছাই” পদ্ধতিতে素材ের সংগ্রহ তৈরি করা হয়েছে।
তৈরির ধাপ
- একই কণ্ঠ ও চুম্বনের ক্রিয়া থাকা একই টেক্সট ব্যবহার করে পুরো অংশটি পাঁচ থেকে ছয়বার তৈরি করুন। মূল প্রক্রিয়ায় v4 এবং
stability=0.35ব্যবহৃত হয়েছে। - নীরবতা শনাক্তকরণ বা অডিও এডিটিং সরঞ্জাম দিয়ে প্রতিটি আউটপুটের সম্ভাব্য অ-মৌখিক অংশ কেটে নিন।
- Whisper দিয়ে প্রতিটি অংশ ট্রান্সক্রাইব করুন। স্পষ্ট অক্ষর বা শব্দ ট্রান্সক্রাইব করা গেলে অংশটি সরাসরি বাদ দিন।
- ডিফারেনশিয়াল শক্তি ও মূল শক্তির অনুপাত পরীক্ষা করুন। মূল পরীক্ষায় তুলনামূলকভাবে বিশ্বাসযোগ্য অংশ সাধারণত 0.2-এর বেশি ছিল; শব্দে রূপান্তরিত অংশ প্রায় 0.12 থেকে 0.16; সাধারণ গুঞ্জন সাধারণত 0.1-এর নিচে। এই সংখ্যা নির্দিষ্ট素材 থেকে পাওয়া, তাই কেবল প্রাথমিক রেফারেন্স হিসেবে ব্যবহারযোগ্য।
- মানবিকভাবে শুনে পাস করা素材 আলাদা করুন এবং হালকা চুম্বন, গভীর চুম্বন ও অবস্থান পরিবর্তনের মতো শ্রেণিতে সাজান।
- ব্যবহারের সময় সম্প্রতি ব্যবহৃত হয়নি এমন অংশ এলোমেলোভাবে বেছে নিন এবং পিচ ও গতিতে প্রায় 3%-এর বেশি নয় এমন সামান্য পরিবর্তন আনুন। মূল প্রক্রিয়ায় কেবল ধীর করার অনুমতি ছিল, দ্রুত করার নয়।
স্বয়ংক্রিয় বাছাই মানবিক শ্রবণ পরীক্ষার বিকল্প নয়। README-তে ক্রমাগত শোঁ শোঁ শব্দ থাকা একটি অংশ পাওয়া গিয়েছিল; Whisper সেটিকে Sssss-এর মতো ফল হিসেবে ট্রান্সক্রাইব করেছিল, কিন্তু যাচাইয়ের ত্রুটিতে সেটি চূড়ান্ত ফলে ঢুকে যায়। সঠিক প্রক্রিয়ায় ট্রান্সক্রিপশন, waveform-এর মেট্রিক এবং বাস্তব শ্রবণ-অনুভূতি একসঙ্গে পরীক্ষা করতে হবে।
পঞ্চম ধাপ: বাস্তব পরিবেশের শব্দ দিয়ে দ্বৈত-ট্র্যাক মিক্সিং
素材 বেছে নিন
মূল প্রক্রিয়ায় তিনটি পদ্ধতি তুলনা করা হয়েছিল: ভয়েস মডেল দিয়ে অনুকরণ, AI সাউন্ড এফেক্ট তৈরি এবং বাস্তব রেকর্ডিং ব্যবহার। শেষ পর্যন্ত কণ্ঠহীন ও স্পষ্ট লাইসেন্সযুক্ত CC0 বাস্তব素材 বেছে নেওয়া হয়। যেকোনো বাহ্যিক রেকর্ডিং ব্যবহারের আগে লাইসেন্স যাচাই করে উৎসের নথি সংরক্ষণ করুন।
নির্দিষ্ট ভলিউম গুণক সরাসরি ব্যবহার করবেন না
পরিবেশের রেকর্ডিংয়ের গড় loudness ও peak-এর মধ্যে বড় পার্থক্য থাকতে পারে এবং দীর্ঘ নীরব অংশও থাকতে পারে। নির্দিষ্ট ভলিউম গুণক সরাসরি প্রয়োগ করলে শব্দ সম্পূর্ণ অশ্রাব্য হতে পারে বা কণ্ঠ ঢেকে দিতে পারে। বেশি স্থিতিশীল পদ্ধতি হলো:
- মূল素材 থেকে কণ্ঠের দৈর্ঘ্যের কাছাকাছি দুটি উইন্ডো এলোমেলোভাবে কাটুন।
- দুটি উইন্ডোর peak মাপুন এবং কার্যকর শব্দ বেশি থাকা উইন্ডোটি বেছে নিন।
- এমন gain হিসাব করুন যাতে পরিবেশের শব্দের peak বর্তমান কণ্ঠের peak-এর চেয়ে প্রায় 12 dB কম হয়।
- পরিবেশের শব্দে 0.5 সেকেন্ডের fade-in যোগ করুন।
- কণ্ঠ শেষ হওয়ার পর প্রায় 1 সেকেন্ড tail রাখুন এবং প্রায় 1.4 সেকেন্ডের fade-out ব্যবহার করুন।
- চুম্বনের素材ে যথেষ্ট নিজস্ব texture থাকলে অতিরিক্ত পরিবেশের শব্দ আর যোগ করবেন না।
ffmpeg মিক্সিংয়ের উদাহরণ
ধরা যাক কণ্ঠের ফাইল v.mp3, আগে থেকে কাটা পরিবেশের শব্দের উইন্ডো w.wav, GAIN হলো peak alignment-এর পর হিসাব করা gain এবং END হলো fade-out শুরুর অবস্থান:
ffmpeg -i v.mp3 -i w.wav -filter_complex \
"[1:a]volume=GAIN,afade=t=in:st=0:d=0.5,afade=t=out:st=END-1.4:d=1.4[w];\
[0:a]apad=pad_dur=1.0[v];[v][w]amix=inputs=2:duration=first:normalize=0[a]" \
-map "[a]" -c:a libmp3lame -q:a 2 out.mp3
normalize=0 অত্যন্ত গুরুত্বপূর্ণ। README-এর পরীক্ষায় দেখা গেছে, এটি বাদ দিলে amix কণ্ঠের ভলিউম উল্লেখযোগ্যভাবে কমিয়ে দিতে পারে।
মিক্সিং ট্যাগ ও উচ্চারণের ট্যাগ আলাদা রাখুন
লেখার পর্যায়ে [low, close, wet]-এর মতো ট্যাগ ব্যবহার করা যায়, যেখানে wet পোস্ট-প্রসেসিংয়ের মিক্সিং মার্কার। ভয়েস মডেলের কাছে অনুরোধ পাঠানোর আগে প্রোগ্রামকে অবশ্যই এই শব্দটি মুছে ফেলতে হবে, যাতে মডেল সাউন্ড এফেক্ট অভিনয় করার চেষ্টা না করে; কণ্ঠ ফিরে আসার পর মার্কার অনুযায়ী সংশ্লিষ্ট বাস্তব素材 মেশাতে হবে। পরবর্তী ট্যাগে এই মার্কার না থাকলে পরিবেশের শব্দ fade-out হওয়া উচিত।
ষষ্ঠ ধাপ: সম্পূর্ণ ভয়েস ট্র্যাক তৈরি
স্ক্রিপ্টকে তিন ধরনের ব্লকে ভাগ করুন: সাধারণ সংলাপ ব্লক টেক্সট-টু-স্পিচে পাঠান; বিশুদ্ধ অ-মৌখিক ব্লকের জন্য素材ের সংগ্রহ থেকে অংশ বেছে নিন; পরিবেশের শব্দের মার্কার থাকা ব্লকের জন্য আগে কণ্ঠ তৈরি করুন, তারপর দ্বৈত-ট্র্যাক মিক্সিং সম্পন্ন করুন।
বিভিন্ন উৎসের অডিওতে ভিন্ন স্যাম্পলিং রেট থাকতে পারে, তাই জোড়ার আগে তা এক করা উচিত, যেমন প্রথমে 44100 Hz-এ রূপান্তর করা:
ffmpeg -i input.wav -ar 44100 output.wav
স্যাম্পলিং রেট এক করার পর, ffmpeg-এর concat ফিল্টার ব্যবহার করে স্ক্রিপ্টের ক্রম অনুযায়ী সব অংশকে একটি অডিওতে জুড়ুন। জোড়া শেষ হলে শুরু থেকে শেষ পর্যন্ত শুনে দেখুন। বিশেষভাবে খেয়াল করুন, অংশগুলোর মাঝখানে কণ্ঠের টিম্বর, ব্যাকগ্রাউন্ড নয়েজ, লাউডনেস এবং শ্বাসের শব্দ হঠাৎ বদলে যাচ্ছে কি না।
সপ্তম ধাপ: রিয়েল-টাইম কথোপকথনে ব্যবহার
রিয়েল-টাইম মোডে মূল বিষয় হলো অপেক্ষার সময় কমানো এবং একই সঙ্গে প্রসঙ্গ ধরে রাখা। প্রতিটি আলাদা লাইনের ট্যাগ অনুযায়ী অংশ ভাগ করা যায়, যাতে নতুন ট্যাগ না থাকা পরের বাক্যগুলো বর্তমান কণ্ঠের বৈশিষ্ট্য অনুসরণ করে। দুটি বাক্য বা প্রায় চল্লিশটি চীনা অক্ষর জমলে জেনারেশনের অনুরোধ পাঠান।
- বর্তমান অংশটি চলার সময় ব্যাকগ্রাউন্ডে পরের অংশটি আগে থেকে তৈরি করুন।
- v4-এ বর্তমান অংশের আগের ও পরের বাক্য পাঠান।
- শুধু অ-মৌখিক অংশ হলে সরাসরি素材 বাক্স থেকে নিন, টেক্সট-টু-স্পিচের জন্য আর অনুরোধ পাঠাবেন না।
- শেষ বাক্যটি বাজানো শেষ হওয়ার পর মাইক্রোফোন চালু করুন, যাতে শব্দ একে অপরের ওপর না চাপে।
- সংশ্লেষণ ব্যর্থ হলে শুধু লেখা দেখান অথবা অল্প সময় নীরব থাকুন; সাময়িকভাবে অন্য কণ্ঠে বদলাবেন না।
মাঝপথে কণ্ঠ বদলানোর ফলে চরিত্রের ধারাবাহিকতা ভেঙে যাওয়া সাধারণত প্রায় এক সেকেন্ডের বিরতির চেয়েও বেশি চোখে পড়ে। তাই চরিত্রের কণ্ঠ এক রাখা অগ্রাধিকার হওয়া উচিত।
উন্নত ডিবাগিং কৌশল
স্থির তুলনামূলক নমুনা তৈরি করুন
ইতিমধ্যে স্বাভাবিক বলে নিশ্চিত হওয়া একটি বেসলাইন অডিও সংরক্ষণ করুন। প্রতিবার স্থায়িত্ব, ট্যাগ, বিরামচিহ্ন, মডেল অথবা পোস্ট-প্রসেসিংয়ের গতি—শুধু একটি বিষয় পরিবর্তন করুন এবং বেসলাইন সংস্করণের সঙ্গে না জেনে শুনে তুলনা করুন।
জেনারেশন ট্যাগ ও পোস্ট-প্রসেসিং ট্যাগ আলাদা স্তরে রাখুন
ভয়েস মডেলকে শুধু যে কণ্ঠে অভিনয় করা উচিত সেই ট্যাগ দিন; পরিবেশের শব্দ,素材-এর শ্রেণি এবং মিক্সিংয়ের তীব্রতা পোস্ট-প্রসেসিংয়ের মেটাডেটা, তাই অনুরোধ পাঠানোর আগে এগুলো সরিয়ে ফেলতে হবে। এতে মডেল制作 নির্দেশনা পড়ে শোনানো বা সাউন্ড ইফেক্ট অনুকরণ করার চেষ্টা করা থেকে বিরত থাকবে।
সাম্প্রতিক ব্যবহারের রেকর্ড সংরক্ষণ করুন
素材 বাক্সের জন্য একটি সাম্প্রতিক ব্যবহারের সারি বজায় রাখুন, যেমন সম্প্রতি ব্যবহৃত দশটি ক্লিপ এড়িয়ে চলা। এতে পুনরাবৃত্তির অনুভূতি কমে এবং প্রতিবার সম্পূর্ণ এলোমেলোভাবে বাছাই করার চেয়ে ফল বেশি স্থিতিশীল হয়।
স্বয়ংক্রিয় মান নিয়ন্ত্রণ
নিচের পরীক্ষাগুলো আউটপুট পাইপলাইনে যুক্ত করা যায়:
- Whisper কি থাকা উচিত নয় এমন শব্দ ট্রান্সক্রাইব করেছে?
- মানবকণ্ঠ ও পরিবেশের শব্দের পিকের পার্থক্য কি লক্ষ্যমানের কাছাকাছি?
- স্যাম্পলিং রেট কি এক করা হয়েছে?
- আউটপুটের শেষে কি স্বাভাবিক টেইল টোন রাখা হয়েছে?
- অনুরোধে ব্যবহৃত মডেল কি পাঠানো প্যারামিটারগুলো সমর্থন করে?
- ভাষা শনাক্তকরণের আগে কি ইংরেজি ট্যাগ মুছে ফেলা হয়েছে?
খরচ, লাইসেন্স ও বিষয়বস্তুর সীমা
README-তে Creator প্ল্যান ব্যবহারের কথা বলা হয়েছে। এর মূল্য প্রতি মাসে 22 মার্কিন ডলার এবং বরাদ্দ প্রায় 120,000 শব্দ; প্রথমবার কণ্ঠ ডিজাইন করতে প্রায় 3,000 শব্দ খরচ হয়, আর দৈনন্দিন ব্যবহারে কয়েকশ থেকে 2,000 শব্দ পর্যন্ত লাগতে পারে। README-তে আরও বলা হয়েছে যে তখন v4-এর জন্য সীমিত সময়ের অফার ছিল। তাই প্রকৃত মূল্য, বরাদ্দ এবং বিলিং পদ্ধতি ব্যবহারের সময়কার অফিসিয়াল পেজ অনুযায়ী নির্ধারণ করা উচিত।
সমস্ত বিষয়বস্তুতে অবশ্যই স্পষ্টভাবে প্রাপ্তবয়স্কদেরই অন্তর্ভুক্ত করতে হবে। অপ্রাপ্তবয়স্ক হিসেবে বোঝা যেতে পারে এমন চরিত্রের বিন্যাস বা অস্পষ্ট বয়সের প্রকাশ ব্যবহার করবেন না। প্ল্যাটফর্ম টেক্সটের ভিত্তিতে পর্যালোচনা করে এবং নিয়মভঙ্গকারী বিষয়বস্তুর ফলে অ্যাকাউন্ট বন্ধ হয়ে যেতে পারে।
অন্যের রেকর্ডিং ব্যবহার করলে অবশ্যই অনুমতি নিশ্চিত করতে হবে। কোনো素材 বিনামূল্যে ডাউনলোড করা গেলেও তা পুনর্বিতরণ বা বাণিজ্যিক ব্যবহারের অনুমতি আছে—এমন নয়। মূল প্রক্রিয়ায় শুধু CC0素材 ব্যবহার করা হয় এবং প্রতিটি ফাইলের উৎস নথিবদ্ধ করা হয়।
উপসংহার
স্বাভাবিক ঘনিষ্ঠ কণ্ঠস্বর শক্তিশালী ট্যাগ স্তূপ করে পাওয়া যায় না। আরও নির্ভরযোগ্য পদ্ধতি হলো ভয়েস মডেলকে সংলাপ, হালকা আবেগ এবং শ্বাসের ছন্দে মনোযোগী রাখা; অ-মৌখিক শব্দগুলো ট্রান্সক্রিপশন ও মানবশ্রবণ পরীক্ষায় বাছাই করা素材 হিসেবে আলাদা করা; তারপর ffmpeg দিয়ে পিক মিলানো, ফেড-ইন, ফেড-আউট এবং জোড়ার কাজ সম্পন্ন করা।
সবচেয়ে ছোট সংস্করণ দিয়ে শুরু করুন: প্রথমে একটি স্থিতিশীল দ্বিভাষিক কণ্ঠ তৈরি করুন, তারপর পুরো অংশের জেনারেশন ও প্রসঙ্গ স্থানান্তর যাচাই করুন, এবং পরে素材 বাক্স ও পরিবেশের শব্দ যোগ করুন। প্রতিটি ধাপে বেসলাইন নমুনা সংরক্ষণ করে একবারে শুধু একটি ভেরিয়েবল পরিবর্তন করলে, সাধারণত ক্রমাগত ট্যাগ বাড়ানোর চেয়ে স্বাভাবিক, সামঞ্জস্যপূর্ণ এবং পুনর্ব্যবহারযোগ্য ফল পাওয়া সহজ হয়।
