AI Audio: Building Speech-to-Text Pipeline using OpenAI Whisper
অডিও ফাইল থেকে টেক্সট রূপান্তর বা ট্রান্সক্রিপশন জেনারেশনের ক্ষেত্রে ওপেনএআই-এর **Whisper** মডেলটি বর্তমানে গ্লোবাল স্ট্যান্ডার্ড। এটি একটি শক্তিশালী অ্যান্ড ওপেন সোর্স সিকোয়েন্স-টু-সিকোয়েন্স ডিআইপি লার্নিং আর্কিটেকচার, যা ব্যাকগ্রাউন্ড নয়েজ থাকা সত্ত্বেও অত্যন্ত নিখুঁতভাবে বিভিন্ন ভাষার (এমনকি বাংলাও) ভয়েস রেকর্ড টেক্সটে কনভার্ট করতে পারে।
এই গাইডে আমরা দেখবো কীভাবে পাইথন ইকোসিস্টেমে হুইস্পার কোর মডেল ব্যবহার করে একটি অটোমেটেড অডিও ট্রান্সক্রিপশন পাইপলাইন তৈরি করা যায়।
১. সিস্টেম ডিপেন্ডেন্সি ও লাইব্রেরি ইনস্টলেশন
মডেলটি প্রসেস করার জন্য সিস্টেমে অবশ্যই ffmpeg ইনস্টল থাকতে হবে। নিচের কমান্ডগুলো দিয়ে এনভায়রনমেন্ট রেডি করুন:
# লিনাক্স বা টার্মাক্স সিস্টেমে ffmpeg সেটআপ
sudo apt install ffmpeg -y
# পাইথন হুইস্পার কোর লাইব্রেরি ইনস্টলেশন
pip install git+https://github.com/openai/whisper.git
ধাপ ২: ট্রান্সক্রিপশন ইঞ্জিন কোড (`transcribe.py`)
অডিও ফাইল ইনপুট নিয়ে সেটিকে মডেল টোকেনাইজার দিয়ে কনভার্ট করে পিওর ডক ফাইলে রূপান্তরের স্ক্রিপ্ট:
import whisper
def execute_transcription(audio_path):
print("[+] Loading Whisper Engine Architecture...")
# ছোট এবং দ্রুত প্রসেসিং এর জন্য 'base' বা 'small' মডেল সিলেক্ট করা
# উচ্চ মানের জন্য 'large' ব্যবহার করা যায়
model = whisper.load_model("base")
print(f"[+] Processing target audio payload: {audio_path}")
result = model.transcribe(audio_path, fp16=False)
# জেনারেটেড টেক্সট আউটপুট প্রিন্ট করা
print("\n--- Transcribed Document Out ---")
print(result["text"])
# ফাইল আকারে সেভ করা
with open("output_report.txt", "w", encoding="utf-8") as f:
f.write(result["text"])
print("\n[+] Export complete. Saved to output_report.txt")
if __name__ == "__main__":
execute_transcription("meeting_audio.mp3")
ক্লাউড টিপস: আপনি যদি মোবাইল বা কম কনফিগারেশনের সিস্টেমে লোকালি রান করতে মেমোরি সংকটে পড়েন, তবে সম্পূর্ণ ফ্রিতে Kaggle Notebook বা Google Colab এর T4 GPU এনভায়রনমেন্ট ব্যবহার করে সেকেন্ডের মধ্যে বিশাল আকারের অডিও ফাইল প্রসেস করে নিতে পারবেন।