এই টিউটোরিয়ালে আমরা অডিও ফাইল নিয়ে কাজ করব। অডিওকে ছোট টুকরোতে ভাগ করে কনটেন্ট রিকগনিশন করব এবং টেক্সট ফাইলে সেভ করব।
প্রয়োজনীয় মডিউল ইনস্টল করুন:
pip install pydub pip install audioread pip install SpeechRecognition
প্রক্রিয়ার দুটি ধাপ:
- অডিওকে চাংক (chunks) তে ভাগ করা।
- SpeechRecognition ব্যবহার করে কনটেন্ট এক্সট্রাক্ট করা।
আপনার লাইব্রেরি থেকে একটি অডিও ফাইল নিন। কোড শুরু করা যাক।
উদাহরণ কোড
import pydub
import speech_recognition
# অডিও ফাইল লোড
audio = pydub.AudioSegment.from_wav('audio.wav')
# অডিওর দৈর্ঘ্য (মিলিসেকেন্ডে)
audio_length = len(audio)
print(f'Audio Length: {audio_length}')
chunk_counter = 1
audio_text = open('audio_text.txt', 'w+')
# স্লাইস করার পয়েন্ট (৬০ সেকেন্ড)
point = 60000
# ওভারল্যাপ
rem = 8000
flag = 0
start = 0
end = 0
# অডিওর মধ্য দিয়ে ইটারেট
for i in range(0, 2 * audio_length, point):
# প্রথম ইটারেশন
if i == 0:
start = 0
end = point
else:
start = end - rem
end = start + point
# শেষ চেক
if end >= audio_length:
end = audio_length
flag = 1
# চাংক বের করুন
chunk = audio[start:end]
chunk_name = f'chunk_{chunk_counter}'
# চাংক সেভ করুন
chunk.export(chunk_name, format='wav')
print(f'{chunk_name} start: {start} end: {end}')
chunk_counter += 1
# স্পিচ রিকগনিশন
recognizer = speech_recognition.Recognizer()
with speech_recognition.AudioFile(chunk_name) as chunk_audio:
chunk_listened = recognizer.listen(chunk_audio)
try:
# গুগল API থেকে টেক্সট পান
content = recognizer.recognize_google(chunk_listened)
audio_text.write(content + '\n')
except speech_recognition.UnknownValueError:
print('Audio is not recognized')
except speech_recognition.RequestError as Error:
print("Can't connect to the internet")
if flag == 1:
audio_text.close()
break
আউটপুট
Audio Length: 480052 chunk_1 start: 0 end: 60000 chunk_2 start: 52000 end: 112000 ... chunk_10 start: 468000 end: 480052
টেক্সট ফাইলের কনটেন্ট:
English and I am here in San Francisco I am back in San Francisco last week we were in Texas at a teaching country and The Reader of the teaching conference was a plan e Re improve teaching as a result you are house backup file with bad it had some English is coming soon one day only time 12 o1 a.m. everything about her English now or powering on my email list sports in your city check your email email Harjeet girlfriend next Tuesday checking the year enjoying office English keep listening keep smiling keep enjoying your English learning
উপসংহার
অডিও প্রসেসিং এবং স্পিচ রিকগনিশনের বেসিক উদাহরণ। প্রশ্ন থাকলে কমেন্ট করুন।