1. উপস্থাপনার সংক্ষিপ্ত বিবরণ
1.1. ওপেনএআই TTS এবং STT মডেলের পরিচিতি
টেক্সট-টু-স্পিচ (TTS) মডেল
ওপেনএআই TTS মডেল টেক্সট ডেটা কে স্পিচ আউটপুটে রূপান্তর করতে পারে। এই প্রক্রিয়ায় টেক্সট বিশ্লেষণ, স্পিচ সিন্থেসিস এলগোরিদম প্রয়োগ এবং শব্দ গুণগতির সান্নিধ্য রয়েছে। এটি কম্পিউটারকে যে কোনো লেখা পড়া করা সম্ভব করে, যাতে কন্টেন্টটি বুঝা যায় এবং অ্যাক্সেস করা যায়। TTS দৃষ্টিবদ্ধ ব্যক্তিদের, গাড়ি চালিয়া, বা যারা প্রসারণের মাধ্যমে তথ্য পেতে পছন্দ করে সবার জন্য গুরুত্বপূর্ণ প্রযুক্তি।
স্পিচ-টু-টেক্সট (STT) মডেল
TTS এর সাথে সামঞ্জস্যপূর্ণ হিসেবে, STT মডেল স্পিচ তথ্যকে লিখিত টেক্সটে রুপান্তর করতে পারে। মূল অডিও ইনপুট প্রসেস করা হলে, STT সিস্টেম প্রথমে স্পিচ ডিটেকশন করে, পরে ফিচার এক্সট্র্যাকশন করে। এরপর এমনি শব্দের যৌগিক এবং ভাষার মডেলগুলি ব্যবহার করে অডিও সিগনালকে শব্দালাপ রূপান্তর করে, চূড়ান্ততা টেক্সট আউটপুট তৈরি করে। STT প্রযুক্তি ছড়ানো হয় স্পিচ সনাক্ত করা, মিটিং ট্রান্সক্রিপশন, এবং রিয়েল-টাইম ক্যাপশন জেনারেশন স্কেনারিতে।
1.2. অ্যাপ্লিকেশন সমালোচনা
- ব্লগ পড়া এবং সাউণ্ড আলাউদ
- বহুভাষাগত স্পিচ জেনারেশন
3. টেক্সট-টু-স্পিচ API
3.1. দ্রুত শুরু
এই অনুচ্ছেদে, আমরা দেখাবো কীভাবে curl কমান্ড এবং পাইথন ক্লায়েন্ট ব্যবহার করে সহজেই টেক্সটকে স্পিচে রূপান্তর করা যায়। আপনি যদি ডেভেলপার না হন তাহলেও, আপনি আপির অনুরোধ প্রেরণ করে শুধুমাত্র একটি API মূল্যায়ন করে স্পিচ ফাইল তৈরি করতে পারেন।
Curl ব্যবহার করে অনুরোধ প্রেরণ
কার্ল কমান্ড লাইন টুল ব্যবহার করে স্পিচ তৈরি করতে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:
- নিশ্চিত করুন যে আপনার সিস্টেমে curl ইনস্টল করা আছে এবং আপনার একটি বৈধ OpenAI API কী আছে।
- নিম্নলিখিত curl কমান্ড ব্যবহার করুন, যাতে টেক্সটকে স্পিচে রূপান্তর করতে পারেন:
curl https://api.openai.com/v1/audio/speech \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "আজ একটা ভালো দিন যাতে মানুষরা পছন্দ করে!"
"voice": "alloy"
}' \
--output speech.mp3
উপরের কমান্ডে, $OPENAI_API_KEY
আপনার API কী দেখায়, ইনপুট
ক্ষেত্রটি হ'ল ভার্তা যা আপনি রূপান্তর করতে চান, model
ক্ষেত্র ব্যবহার করা ভয়েস মডেলটি নির্দিষ্ট করে, এবং ভয়েস
প্যারামিটারটি ভয়েস চয়ন করে। এখানে, আমরা alloy
সিনথেটিক মেটাল ভয়েস নির্বাচন করছি। চূড়ান্ত --output
বিকল্পটি নাম এবং আউটপুট ফাইলের ফরম্যাট নির্দিষ্ট করে।
পাইথন ক্লায়েন্ট ব্যবহার করে
যদি আপনি পাইথন প্রোগ্রামিং ভাষা ব্যবহার করতে পছন্দ করেন, তাহলে আপনি নিম্নের প্রয়োগটি ব্যবহার করতে পারেন:
from openai import OpenAI
client = OpenAI()
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="আজ একটা ভালো দিন যাতে মানুষরা পছন্দ করে!"
)
response.stream_to_file("output.mp3")
এই কোড স্নিপেটে, আমরা প্রথমে openai
লাইব্রেরি ইমপোর্ট করে এবং OpenAI ক্লায়েন্টের একটি অবজেক্ট তৈরি করি। তারপর, আমরা audio.speech.create
মেথড ব্যবহার করে একটি অনুরোধ প্রেরণ করে নির্দিষ্ট মডেল, ভয়েস, এবং রূপান্তর করার জন্য পাঠ্য নির্দিষ্ট করা হয়। চূড়ান্ততা, আমরা পুনরায় ফাইলে তৈরি স্পিচ স্ট্রীমটি সংরক্ষণ করার জন্য stream_to_file
মেথডটি ব্যবহার করি।
3.2. অডিও গুণগতি এবং ভয়েস নির্বাচন
আপনার প্রকল্পের জন্য সঠিক অডিও গুণগতি এবং ভয়েস বেছে নিতে দক্ষতা বৃদ্ধি করার একটি গুরুত্বপূর্ণ পদক্ষেপ হ'ল। আমাদের API প্রস্তাব করে দুটি অডিও গুণগতি মডেলের দুর্বলতা: tts-1
এবং tts-1-hd
.
-
tts-1
: লেটেন্সি কম করে, নিকটস্থ সময়ে প্রযোগ করার জন্য উপযোগী, তবে প্রায়শই অডিও গুণগতি কম। -
tts-1-hd
: উচ্চ গুণগতি অডিও আউটপুট প্রদান করে, গৈর-রিয়েল-টাইম উচ্চ-মানের স্পিচ জেনারেশন প্রয়োজনীয়। প্রয়োজনীয় স্পিচ জেনারেশন চাহিদার মধ্যে।
ছাড়াও, ওপেনএআই এর TTS API বিভিন্ন ভয়েস বিকল্প প্রদান করে:
- এ্যালয়
- ইকো
- ফেবল
- ওনিক্স
- নোভা
- শিমার
প্রকল্পের প্রয়োজন এবং লক্ষ্য পাবার জন্য, আপনি বিভিন্ন ভয়েস নমুনাগুলি পরীক্ষা করে সবচেয়ে উপযুক্ত ভয়েসটি বেছে নিতে পারেন। বক্তব্যগুলিতে উচ্চারণ শৈলী, জরিয়তির নির্ঘণটি, এবং ভাবনার সাথে সাথে বোঝা গানান ও পেশিগুলির জন্য ভয়েস নির্বাচন করুন।
3.3. সমর্থিত আউটপুট ফরম্যাট এবং ভাষাসমূহ
OpenAI এর TTS API ড
3.4. বাস্তব সময় অডিও স্ট্রিমিং ফাংশনালিটি
রিয়েল-টাইম অ্যাপ্লিকেশনগুলির চাহিদা পূরণ করার জন্য, আমাদের এপিআই বাস্তব সময়ে অডিও স্ট্রিমিং সমর্থন প্রদান করে। নিচে বর্ণিত আছে পাইথনে বাস্তব সময়ে অডিও স্ট্রিমিং প্রযুক্তির একটি উদাহরণ:
from openai import OpenAI
client = OpenAI()
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="ওহে বিশ্ব! এটি একটি স্ট্রিমিং পরীক্ষা।",
)
response.stream_to_file("output.mp3")
4. স্পিচ টু টেক্সট এপিআই
4.1. দ্রুত শুরু
এই বিভাগে, আমরা প্রাথমিকভাবে OpenAI এর স্পিচ টু টেক্সট এপিআইর কার্যক্ষমতা পরিচিতি করব।
প্রথমে, আপনার কাছে একটি বৈধ OpenAI এপি অন্ধার এবং একটি অডিও ফাইল প্রস্তুত করতে হবে।
আপনি curl
কমান্ডটি ব্যবহার করে পোস্ট অনুরোধ পাঠানোর জন্য একটি অডিও ফাইল সহ একটি POST অনুরোধ প্রেরণ করতে পারেন। OPENAI_API_KEY
আপনার API কী দিয়ে প্রতিস্থাপন করুন এবং সঠিক ফাইল পাথ নির্ধারণ করুন।
curl --request POST \
--url https://api.openai.com/v1/audio/transcriptions \
--header 'Authorization: Bearer OPENAI_API_KEY' \
--header 'Content-Type: multipart/form-data' \
--form file=@/আপনার/অডিও/ফাইলের/পাথ.mp3 \
--form model=whisper-1
উপরের কমান্ড নির্বাহ করার পরে, আপনি একটি JSON ফর্ম্যাটে সম্পূর্ণভাবে ট্রান্সক্রাইবড টেক্সট তথ্য ধারণ করবেন।
উদাহরণস্বরূপ:
{
"text": "কল্পনা করুন সবচেয়ে বাড়াবাড় ধারণা, এবং আপনার সন্দেহভাজক হতে পারে যে এটি কীভাবে করা যাবে যেটি 100, 1,000 গুণ বড়। ..."
}
4.2. সমর্থিত ফাইল ফরম্যাট এবং সাইজ
এই এপিআই বিভিন্ন সাধারণ অডিও ফাইল ফরম্যাট সমর্থন করে যাতে বিভিন্ন সংস্থানের ভিত্তিতে সহজে অডিও ফাইল প্রসেস করা যায়। সমর্থিত ফাইল ফরম্যাটের মধ্যে থাকা ফরম্যাট হল mp3
, mp4
, mpeg
, mpga
, m4a
, wav
, webm
, ইত্যাদি।
ফাইলের আকার সাপেক্ষে, বর্তমান এপিআইর ফাইলের আকার সীমা 25MB এর বেশি না হতে হবে। এর মানে হল যদি আপনার অডিও ফাইলটি 25MB এর থেকে বড় হয়, তবে আপনাকে এটি 25MB এর থেকে ছোট একাধিক খণ্ডে ভাগ করতে হবে, অথবা একটি আরও দক্ষিণনিষ্ঠ সংক্ষেপণ ফরম্যাট ব্যবহার করতে হবে। উদাহরণস্বরূপ, mp3
এবং opus
ফরম্যাট সাধারণভাবে দক্ষিণনিষ্ঠ সংক্ষেপণ প্রদান করে, ফাইল আকার কমিয়ে সাধারণভাবে অডিও গুণমান ক্ষতি না করে।
আপনি যদি 25MB এর চেয়ে বড় একটি ফাইল পেয়ে থাকেন, তবে আপনি আপনার অডিও সেগমেন্ট করার জন্য পাইথনে আপনার PyDub
লাইব্রেরি ব্যবহার করা বিবেচনা করতে পারেন:
from pydub import AudioSegment
audio_file = AudioSegment.from_file("আপনার_বড়_অডিও_ফাইল.mp3")
ইন্টারভাল = 10 * 60 * 1000 # 10 মিনিট
চাংস = make_chunks(audio_file, ইন্টারভাল)
for i, চাংক in enumerate(চাংস):
চাংক_নাম = f"অডিও_চাংক{i}.mp3"
চাংক.export(চাংক_নাম, format="mp3")
উপরের কোডে, make_chunks
ফাংশন একটি বড় অডিও ফাইলটি একাধিক অডিও সেগমেন্টে সেগমেন্ট করবে যা তাদের অডিও গুণমান করার জন্য API দ্বারা প্রয়োজন। এই সেগমেন্টগুলি সব একাধিক ফাইল আকারের সীমার মধ্যে আছে এবং অল্প অল্পে উপলব্ধ করা যাবে যেড়া API দ্বারা ট্রান্সক্রিপশনের জন্য।
অনুগ্রহ করে মনে রাখবেন যে, PyDub
আমাদের অডিও ফাইল প্রসেস করার একটি সহজ উপায় প্রদান করে, তবে এটি ব্যবহারের সময় তৃতীয়-পক্ষের সফটওয়্যারের নিরাপত্তা এবং স্থিরতার জন্য বিশেষ গমন দেওয়া হয়। ওপেনএআই তৃতীয়-পক্ষের সফ্টওয়্যারের জন্য কোনও নিশ্চয়তা প্রদান করে না।