paint-brush
ElevenLabs, Streamlit, এবং Claude সহ একটি সহজ শব্দ বানান অ্যাপ তৈরি করাদ্বারা@lablab
1,052 পড়া
1,052 পড়া

ElevenLabs, Streamlit, এবং Claude সহ একটি সহজ শব্দ বানান অ্যাপ তৈরি করা

দ্বারা lablab.ai hackathons12m2023/07/22
Read on Terminal Reader
Read this story w/o Javascript

অতিদীর্ঘ; পড়তে

ElevenLabs একটি ভয়েস প্রযুক্তি গবেষণা সংস্থা যা স্পিচ সংশ্লেষণ সমাধান সরবরাহ করে। API ব্যবহার করা সহজ, এটি ডেভেলপারদের AI ব্যবহার করে উচ্চ-মানের বক্তৃতা তৈরি করতে দেয়। এটি এআই মডেল দ্বারা সম্ভব হয়েছে যা প্রচুর পরিমাণে অডিওবুক এবং পডকাস্টের উপর প্রশিক্ষিত হয়েছে।
featured image - ElevenLabs, Streamlit, এবং Claude সহ একটি সহজ শব্দ বানান অ্যাপ তৈরি করা
lablab.ai hackathons HackerNoon profile picture
0-item
1-item

আপনি কি জেনারেটিভ ভয়েস সক্ষম জানেন? তারা কোন বিশাল সম্ভাবনার দ্বার উন্মোচন করে এবং কতগুলো ক্ষেত্র তাদের থেকে উপকৃত হতে পারে?


হতে পারে একটি ভিডিও ব্লগ বা বইয়ের জন্য আপনার একটি অ্যাপ দরকার। সম্ভবত আপনি একটি পেশাদার ভয়েসওভারের সাথে একটি গেম চরিত্রকে প্রাণবন্ত করতে চান। বিদেশী ভাষা শেখার জন্য একটি অ্যাপ্লিকেশন তৈরি করা সম্পর্কে কিভাবে?


আজ, lablab.ai আপনার জন্য একটি টিউটোরিয়াল তৈরি করেছে যা আপনাকে AI ভয়েস প্রযুক্তিগুলি আরও ভালভাবে জানতে সাহায্য করবে! এর মধ্যে ডুব দেওয়া যাক!

ভূমিকা

এটি সফ্টওয়্যার বিকাশের জন্য সবচেয়ে উত্তেজনাপূর্ণ সময়গুলির মধ্যে একটি, বাজারে বিভিন্ন " জেনারেটিভ এআই " সরঞ্জামের আবির্ভাব। শুধু নাম, কভার লেটার প্রজন্ম? চেক! ই-মেইল প্রজন্ম? চেক! স্বয়ংক্রিয় কোড মন্তব্য প্রজন্ম? চেক! এমনকি কোডিং এবং সফ্টওয়্যার বিকাশের বাইরেও, ব্যবহারের ক্ষেত্রে সম্ভাবনা প্রচুর।


এখন, আমরা বিভিন্ন ইমেজ জেনারেশন মডেলের সাথে টেক্সট প্রম্পট সহ ইমেজ তৈরি করতে পারি। এইভাবে, এটি আমাদের জন্য আমাদের বিভিন্ন পণ্যগুলিতে উৎপন্ন সম্পদ অন্তর্ভুক্ত করা সম্ভব করে তোলে। পরবর্তী প্রশ্ন হল: কণ্ঠস্বর কেমন? গত কয়েক বছরে ব্যবহারকারীর অভিজ্ঞতার প্রবণতা "ভয়েস কমান্ড"কে উদীয়মান প্রবণতা হিসেবে উল্লেখ করেছে।


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

ElevenLabs পরিচিতি

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


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

অ্যানথ্রপিকের ক্লড মডেলের ভূমিকা

Claude হল একটি AI গবেষণা সংস্থা Anthropic দ্বারা তৈরি করা সর্বশেষ AI মডেল যা কৃত্রিম বুদ্ধিমত্তা ব্যবস্থার আন্তঃকার্যক্ষমতা, দৃঢ়তা এবং নিরাপত্তার উন্নতির উপর দৃষ্টি নিবদ্ধ করে।


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

Streamlit পরিচিতি

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

পূর্বশর্ত

  • স্ট্রিমলিট ব্যবহার করে পাইথন এবং UI বিকাশের প্রাথমিক জ্ঞান
  • অ্যানথ্রপিক এপিআইতে অ্যাক্সেস
  • ElevenLabs API- এ অ্যাক্সেস

রূপরেখা

  1. আমাদের স্ট্রিমলিট প্রকল্প শুরু করা হচ্ছে
  2. ক্লড মডেল ব্যবহার করে ওয়ার্ড জেনারেশন ফিচার যোগ করা হচ্ছে
  3. ElevenLabs API ব্যবহার করে স্পিচ জেনারেশন ফিচার যোগ করা হচ্ছে
  4. ওয়ার্ড জেনারেটর অ্যাপ পরীক্ষা করা হচ্ছে

আলোচনা

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


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

আমাদের স্ট্রিমলিট প্রকল্প শুরু করা হচ্ছে

কোডিং অ্যাকশনে আসা যাক! প্রথমে, আসুন আমাদের প্রকল্পের জন্য একটি ডিরেক্টরি তৈরি করি এবং এটি প্রবেশ করি!

 mkdir randomwords cd randomwords


এর পরে, আমরা আমাদের স্ট্রিমলিট প্রকল্পের ভিত্তি হিসাবে এই ডিরেক্টরিটি ব্যবহার করতে যাচ্ছি। যেহেতু একটি স্ট্রিমলিট প্রকল্প মূলত একটি পাইথন প্রকল্প, তাই আমাদের পাইথন প্রকল্প শুরু করার জন্য আমাদের কিছু পদক্ষেপ করতে হবে, যেমন আমাদের ভার্চুয়াল পরিবেশকে সংজ্ঞায়িত করা এবং সক্রিয় করা।

 # Creating the virtual environment python -m venv env # Activate the virtual environment # On Linux/Mac source env/bin/activate # On Windows: .\env\Scripts\activate

একবার সক্রিয় হয়ে গেলে, আমাদের টার্মিনালের আউটপুট ভার্চুয়াল পরিবেশের নাম (env) দেখাতে হবে, যেমন:


এর পরে, এই প্রকল্পের জন্য আমাদের প্রয়োজনীয় লাইব্রেরিগুলি ইনস্টল করার সময়! চলুন streamlit , anthropic , এবং elevenlabs লাইব্রেরি ইনস্টল করতে pip কমান্ডটি ব্যবহার করি। উল্লেখ্য যে আমরা elevenlabs ফাংশনের একটিতে পাইডান্টিক-সম্পর্কিত ত্রুটি রোধ করতে একটি সংস্করণ-লক করা pydantic লাইব্রেরিও ইনস্টল করি।

 pip install streamlit anthropic elevenlabs "pydantic==1.*"


সব প্রকল্পের প্রয়োজনীয়তা পথের বাইরে, এখন কোডিং অংশে ডুব দেওয়া যাক! আমাদের প্রকল্প ডিরেক্টরির মধ্যে একটি নতুন ফাইল তৈরি করুন, আসুন এটিকে randomwords_app.py বলি।

 touch randomwords_app.py


ফাইলটি তৈরি হওয়ার পর, আমাদের প্রিয় কোড এডিটর বা ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্টে (IDE) ফাইলটি খুলুন। স্টার্টারের জন্য, আসুন আমাদের সহজ অ্যাপটি তৈরি করি সহজতম অংশগুলি থেকে, একটি শিরোনাম এবং ক্যাপশনের জন্য একটি পাঠ্য!

 import streamlit as st st.title("Random Words Generator") st.text("Hello, this is a random words generator app")


আমাদের প্রজেক্ট ইনিশিয়ালাইজেশন পার্ট আপ করার জন্য, অ্যাপটি চালানোর পরীক্ষা করে দেখুন। নিশ্চিত করুন যে আমাদের বর্তমান কাজের ডিরেক্টরিটি এখনও আমাদের প্রকল্পের ভিতরে রয়েছে এবং আমাদের ভার্চুয়াল পরিবেশ ইতিমধ্যে সক্রিয় করা হয়েছে। সবকিছু প্রস্তুত হলে, অ্যাপটি চালানোর জন্য streamlit run <app-name> ব্যবহার করুন।

 streamlit run randomwords_app.py

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


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


যাইহোক, এই সময় আমরা তাদের একটি .env ফাইলে সংরক্ষণ করি না। কারণ Streamlit পরিবেশের ভেরিয়েবলের সাথে ভিন্নভাবে ডিল করে। ডকুমেন্টেশন অনুযায়ী, আমাদের একটি .streamlit ডিরেক্টরির মধ্যে একটি গোপন কনফিগারেশন ফাইল তৈরি করতে হবে। আমরা আমাদের প্রকল্পের ভিতরে ডিরেক্টরি তৈরি করতে পারি এবং তারপর ফাইল তৈরি করতে পারি।

 mkdir .streamlit touch .streamlit/secrets.toml


আমাদের তৈরি করা TOML ফাইলটি সম্পাদনা করা যাক, মনে রাখবেন যে TOML ফাইলটি সাধারণ .env ফাইল থেকে ভিন্ন ফর্ম্যাটিং ব্যবহার করে।

 xi_api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" claude_key = "sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

ক্লড মডেল ব্যবহার করে ওয়ার্ড জেনারেশন ফিচার যোগ করা হচ্ছে

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

প্রয়োজনীয় লাইব্রেরি আমদানি করুন

প্রথমত, কিছু আমদানি বিবৃতি যোগ করা যাক। আমরা আমাদের র্যান্ডম শব্দ তৈরি করতে anthropic লাইব্রেরি আমদানি করতে যাচ্ছি।

 import streamlit as st import anthropic


তারপর, আমরা UI অংশে যাওয়ার আগে, প্রথমে আমাদের শব্দ প্রজন্ম ফাংশন তৈরি করি।

শব্দ প্রজন্ম ফাংশন সংজ্ঞায়িত

 def generate_word(): prompt = (f"{anthropic.HUMAN_PROMPT} Give me one non-English word that's commonly misspelled and the meaning. Please strictly follow the format! example: Word: Schadenfreude; Meaning: joy at other's expenses." f"{anthropic.AI_PROMPT} Word: Karaoke; Meaning: a form of entertainment where people sing popular songs over pre-recorded backing tracks." f"{anthropic.HUMAN_PROMPT} Great! just like that. Remember, only respond following the pattern.") c = anthropic.Anthropic(api_key=st.secrets["claude_key"]) resp = c.completions.create( prompt=f"{prompt} {anthropic.AI_PROMPT}", stop_sequences=[anthropic.HUMAN_PROMPT], model="claude-v1.3-100k", max_tokens_to_sample=900, ) print(resp.completion) return resp.completion

এই ফাংশনে, সবচেয়ে ভারী উত্তোলন করা হয় ** অ্যানথ্রোপিকস ক্লড মোড **l (ধন্যবাদ, ক্লড ! 😉)। যাইহোক, এই ফাংশনে আমাদের অংশ হল কীভাবে ক্লাউডকে ধারাবাহিকভাবে সঠিক বিন্যাসটি ফেরত দেওয়া যায়। তাই আমাদের উভয়কেই ক্লডকে "কঠোরভাবে ফর্ম্যাটটি অনুসরণ করার" নির্দেশ দিতে হবে এবং আমাদের প্রাথমিক প্রম্পটের পরে এটি যোগ করে একটি উদাহরণ প্রতিক্রিয়া দিতে হবে।


পরিশেষে, আমরা নিশ্চিত করি যে ক্লদ আমাদের চুক্তিগুলি মেনে চলছেন যাতে "শুধুমাত্র প্যাটার্ন অনুসরণ করে প্রতিক্রিয়া জানাতে মনে রাখবেন"। ফাংশন Claude থেকে প্রতিক্রিয়া ফিরিয়ে দিয়ে শেষ হয়।

এর পরে, আসুন UI সম্পাদনায় ফিরে যাই!

UI আপডেট করা হচ্ছে

 st.title("Random Words Generator") with st.container(): st.header("Random Word") random_word = st.subheader("-") word_meaning = st.text("Meaning: -") st.write("Click the `Generate` button to generate new word") if st.button("Generate"): result = generate_word() # Split the string on the semicolon split_string = result.split(";") # Split the first part on ": " to get the word word = split_string[0].split(": ")[1] # Split the second part on ": " to get the meaning meaning = split_string[1].split(": ")[1] print(f"word result: {word}") random_word.subheader(word) word_meaning.text(f"Meaning: {meaning}")

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


স্ট্রিমলিটে , আমরা একটি শর্তসাপেক্ষ বিবৃতি ব্যবহার করে ক্লিক ইভেন্ট হ্যান্ডলার ঘোষণা করতে পারি, যেখানে বোতামটি ক্লিক করা হলে এটি True দেখায়। এই কোডে, আমরা generate_word() ফাংশনটি চালু করি যা জেনারেট করা শব্দ এবং অর্থ প্রদান করে এবং ফলাফলটিকে যথাক্রমে শব্দ এবং অর্থের জন্য পৃথক ভেরিয়েবলে বিভক্ত করে। অবশেষে, আমরা শব্দ এবং অর্থ প্রদর্শন করতে সাবহেডার এবং পাঠ্য উপাদান আপডেট করি।

চূড়ান্ত ফর্ম

এর আবার একবার আমাদের কোড চেক করা যাক! এতে ইম্পোর্ট স্টেটমেন্ট, এলোমেলো শব্দ তৈরি করার ফাংশন এবং আপডেট হওয়া UI যাতে সাবহেডার, এবং টেক্সট এলিমেন্টের পাশাপাশি generate_word() ফাংশন চালু করে শব্দ তৈরি করে এমন বোতাম থাকা উচিত।

 import streamlit as st import anthropic def generate_word(): prompt = (f"{anthropic.HUMAN_PROMPT} Give me one non-English word that's commonly misspelled and the meaning. Please strictly follow the format! example: Word: Schadenfreude; Meaning: joy at other's expenses." f"{anthropic.AI_PROMPT} Word: Karaoke; Meaning: a form of entertainment where people sing popular songs over pre-recorded backing tracks." f"{anthropic.HUMAN_PROMPT} Great! just like that. Remember, only respond following the pattern.") c = anthropic.Anthropic(api_key=st.secrets["claude_key"]) resp = c.completions.create( prompt=f"{prompt} {anthropic.AI_PROMPT}", stop_sequences=[anthropic.HUMAN_PROMPT], model="claude-v1.3-100k", max_tokens_to_sample=900, ) print(resp.completion) return resp.completion st.title("Random Words Generator") with st.container(): st.header("Random Word") random_word = st.subheader("-") word_meaning = st.text("Meaning: -") st.write("Click the `Generate` button to generate new word") if st.button("Generate"): result = generate_word() # Split the string on the semicolon split_string = result.split(";") # Split the first part on ": " to get the word word = split_string[0].split(": ")[1] # Split the second part on ": " to get the meaning meaning = split_string[1].split(": ")[1] print(f"word result: {word}") random_word.subheader(word) word_meaning.text(f"Meaning: {meaning}")

ওয়ার্ড জেনারেশন ফাংশন পরীক্ষা করা হচ্ছে

একই কমান্ড দিয়ে আবার অ্যাপটি রান করা যাক। এছাড়াও আমরা উপরের ডানদিকের মেনুতে ক্লিক করে অ্যাপটি পুনরায় চালু করতে পারি এবং যদি আমরা অ্যাপটি আগে চালু করে থাকি তবে " পুনরায় চালান " এ ক্লিক করুন।

এটি এই আপডেট হওয়া ইউজার ইন্টারফেসটি দেখাতে হবে।

এখন, Generate বোতামে ক্লিক করার চেষ্টা করা যাক!

স্ট্রিমলিট সম্পর্কে একটি মিষ্টি জিনিস হল যে এটি লোডিং পরিচালনা করে এবং বাক্সের বাইরে লোডিং সূচক সরবরাহ করে। আমাদের উপরের-ডান কোণে সূচকটি দেখতে হবে, সেইসাথে অপারেশনটি " স্টপ " করার বিকল্প। ঝরঝরে, হাহ?

কয়েক সেকেন্ড পরে, ফলাফলটি UI এ দেখানো উচিত।

নিখুঁত! লক্ষ্য করুন যে অ্যাপটি Claude মডেল থেকে জেনারেট করা পাঠ্যকে সঠিকভাবে শব্দ এবং অর্থে বিভক্ত করেছে। যাইহোক, যদি প্রত্যাশিত বিন্যাস অনুযায়ী ফলাফল না আসে, আমরা সবসময় আবার Generate বোতামে ক্লিক করতে পারি।


আমাদের এলোমেলো শব্দ জেনারেটরের মধ্যে বক্তৃতা প্রজন্মকে একত্রিত করা এই অ্যাপটির প্রধান বৈশিষ্ট্য হল পরবর্তী ধাপ। ElevenLabs দ্বারা প্রদত্ত API ব্যবহার করে কীভাবে অডিও ফাইল তৈরি করা যায় তা প্রদর্শনের পাশাপাশি, এই পদক্ষেপটি ElevenLabs-এর বহুভাষিক মডেলের ক্ষমতা প্রদর্শনের জন্যও কাজ করে।

ElevenLabs API ব্যবহার করে স্পিচ জেনারেশন ফিচার যোগ করা হচ্ছে

এই বিভাগের প্রথম ধাপ হল, আপনি সম্ভবত অনুমান করেছেন, আরও আমদানি বিবৃতি যোগ করা! সুতরাং, elevenlabs থেকে কিছু ফাংশন যোগ করা যাক যা আমরা স্পিচ জেনারেশন ফিচারের জন্য ব্যবহার করব।

 import streamlit as st import anthropic ++ from elevenlabs import generate, set_api_key


এর পরে, আমরা স্পিচ জেনারেশন পরিচালনা করার জন্য ফাংশনটি সংজ্ঞায়িত করতে যাচ্ছি।

 def generate_speech(word): set_api_key(st.secrets['xi_api_key']) audio = generate( text=word, voice="Bella", model='eleven_multilingual_v1' ) return audio


Python এর সরলতা এবং পঠনযোগ্যতার জন্য ধন্যবাদ, এবং ElevenLabs সহজে-ব্যবহারযোগ্য API-এর জন্য, আমরা একা এই কোডটি ব্যবহার করে স্পিচ তৈরি করতে পারি! ফাংশনটি এলোমেলো শব্দ গ্রহণ করে যা আমরা বক্তৃতা তৈরি করতে ব্যবহার করি। এছাড়াও আমরা বিশেষভাবে "এগারো_বহুভাষিক_ভি1" মডেল ব্যবহার করি যা একটি বহুভাষিক মডেল, বিদেশী এবং সাধারণত ভুল বানান শব্দের বানান এবং উচ্চারণ প্রদর্শনের জন্য আমাদের ব্যবহারের ক্ষেত্রে উপযুক্ত! অবশেষে, আমরা এই টিউটোরিয়ালের জন্য " বেলা " ভয়েস ব্যবহার করি, যা ElevenLabs দ্বারা প্রদত্ত পূর্ব-তৈরি ভয়েসগুলির মধ্যে একটি।


এরপরে, আমরা জেনারেট করা বক্তৃতা চালানোর জন্য একটি অডিও প্লেয়ার যোগ করব।

 print(f"word result: {word}") random_word.subheader(word) word_meaning.text(f"Meaning: {meaning}") ++ speech = generate_speech(word) ++ st.audio(speech, format='audio/mpeg')

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


এটা কিভাবে কাজ করে জানতে আগ্রহী? আমিও! এখন অ্যাপটি পরীক্ষা করা যাক!

শব্দ বানান বৈশিষ্ট্য পরীক্ষা

চলুন streamlit run ব্যবহার করে অ্যাপটি আবার চালাই বা অ্যাপটি যদি ইতিমধ্যেই চালু থাকে তাহলে আবার চালাই। এটা ঠিক একই দেখা উচিত যে শেষবার আমরা এটি ছেড়েছিলাম। যাইহোক, এবার "জেনারেট" বোতামে ক্লিক করার চেষ্টা করা যাক!


আশ্চর্যজনক! এই সময়, অ্যাপটি একটি অডিও প্লেয়ারও দেখায়! এটা খেলার চেষ্টা করা যাক. বহুভাষিক মডেল ব্যবহার করে, উত্পন্ন বক্তৃতায় উচ্চারণ এবং স্বর ব্যবহার করা উচিত যা শব্দের মূল ভাষার কাছাকাছি। উদাহরণস্বরূপ, "উদ্যোক্তা" ফরাসি উচ্চারণে উচ্চারণ করা উচিত।

উপসংহার

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


অনেক ধারনা সহ, আমরা বিকাশকারীদের ভবিষ্যত তৈরিতে আমাদের সাথে যোগ দিতে আমন্ত্রণ জানাই!


28 জুলাই , lablab.ai একটি চ্যালেঞ্জ লঞ্চ করছে যেখানে আপনি ElevenLabs মডেলের সাথে আপনার নিজস্ব ভয়েস AI অ্যাপ তৈরি করতে পারবেন! (অতিরিক্ত, আপনি অন্যান্য AI মডেলগুলি যেমন বড় ভাষার মডেল, চিত্র এবং ভিডিও জেনারেটিভ মডেল ইত্যাদির সুবিধা নিতে পারেন, যতক্ষণ না তারা হ্যাকাথন প্রযুক্তির সাথে সরাসরি প্রতিযোগিতায় না হয়)।


*Your final submission should consist of a ready-to-play working prototype of your idea, a video pitch, and a presentation showcasing your solution.


আপনি এখানে আরও টিউটোরিয়াল খুঁজে পেতে পারেন এবং আপনি অত্যাধুনিক প্রযুক্তির সাথে তৈরি করতে অন্যান্য হ্যাকাথনে যোগ দিতে পারেন!


এবং সেপ্টিয়ান আদি নুগ্রাহাকে অনেক ধন্যবাদ - এই নিবন্ধটির লেখক। 💚