আমাদের কথার প্রতিধ্বনী করবে কমপিউটার৷ মাইক্রোসফটের একটি এজেন্ট জেনি আপনার সাথে কথা বলবে৷ আপনি যা বলবেন, জেনি তা লিখবে এবং পড়ে শুনাবে৷ নিচের চিত্র-১-এ জেনিকে লিখতে ও পড়তে দেখা যাচ্ছে৷ মাইক্রোসফটের এরকম অনেক ভয়েজ এজেন্ট আছে যারা লিখতে ও পড়তে পারে৷ নিচের প্রোগ্রামটি ভিজুয়্যাল বেসিকে ডেভেলপ করে চালালে জেনি চলে আসবে৷ তবে আপনার কমপিউটারে অবশ্যই SAPI 5.1 ও জেনি (Genie.exe) ইনস্টল করা থাকতে হবে৷ মাইক্রোসফটের ওয়েব পেজ হতে SAPI 5.1 ও Genie.exe ফাইলগুলো ডাউনলোড করা যেতে পারে৷ এরপর যখন SAPI 5.1 ইনস্টল করা শেষ, তখন আপনার মাইক্রোফোনকে লাগিয়ে ট্রেনিং করতে হবে৷ এই ভয়েস ট্রেনিং করার জন্য আপনাকে কন্ট্রোল প্যানেলের Speech -এ ক্লিক করে SAPI 5.1-এ গিয়ে ট্রেনিং করে নিতে হবে৷
ট্রেনিং শেষ করার পর প্রোগ্রামটি চালিয়ে স্টার্ট বলতে হবে৷ স্টার্ট বলার সাথে সাথে আপনার ভয়েস রিকগনিশনের জন্য প্রোগ্রামটি প্রস্তুত হবে৷ এবার যা বলবেন, জেনি তা পড়তে থাকবে এবং তা সাথে সাথে লিখতে থাকবে৷ সাহায্যের জন্য Help বাটনে ক্লিক করতে পারেন৷ আপনি এ প্রোগ্রামের সাহায্যে নোট প্যাডও খুলতে পারেন৷ নোটপ্যাড খোলার জন্য আপনাকে নোট বলতে হবে এবং সেই সাথে নোটপ্যাডে আপনি যা বলতে থাকবেন, তা লিখতে থাকবে এই প্রোগ্রামটি৷ এ প্রোগ্রামটি ভয়েস রিকগনিশন করতে পারে, ফলে রোবটেও এটি ব্যবহার করা সম্ভব৷ জেনি কিছু রঙও চিনতে পারে৷ একটি রঙের নাম বলুন যেমন Yellow, এই Yellow বলার সাথে সাথে জেনির পেছনে হলুদ রং দেখা যাবে৷ প্রোগ্রামটিতে AI (Artificial Intelligent) ব্যবহার করা যেতে পারে৷ সে ক্ষেত্রে আপনাকে Fuzzy logic ব্যবহার করতে হবে৷
এখানে প্রোগ্রামটি সহজ করে উপস্থাপন করা হয়েছে, যাতে সবাই বুঝতে পারে৷ যারা ভিজুয়্যাল বেসিকে মোটামুটি দক্ষ তারা সহজেই এই প্রোগ্রাম ডেভেলপ করতে পারবেন৷ তবে অবশ্যই আপনাকে খেয়াল রাখতে হবে, যেনো SAPI 5.1 ও Genie.exe ইনস্টল করা থাকে৷
প্রোগ্রামে চারটি বাটন Start, Stop, End ও Help ব্যবহার করা হয়েছে৷ প্রোগ্রামে Start বাটনটি চাপার সাথে সাথেই প্রোগ্রামটি ভয়েস রিকগনিশন করার জন্য প্রস্তুত হয়৷ প্রোগ্রামে Private Sub RecoContext_Recognition() ফাংশনটি SAPI 5.1 হতে সাহায্য নিয়ে ভয়েস সনাক্ত করতে পারে৷ জেনি ছাড়াও আরো অনেক ভয়েস এজেন্ট আছে যেগুলো Merlin, Paddy, Robby নামে পরিচিত৷ প্রতিটি ভয়েস এজেন্টের কথা বলার মধ্যে ভিন্নতা আছে এবং সেই সাথে এদের আচরনেও পার্থক্য আছে৷ এই ভয়েজ এজেন্টকে পরিবর্তন করার জন্য Private Sub Form_Load() ফাংশানের anim = `genie-এর জায়গায় যাকে ব্যবহার করতে চান, তার নাম ব্যবহার করতে পারেন৷ যেমন কেউ যদি Marlin কে ব্যবহার করেন, তবে anim = Merlin লিখতে হবে। এই ভয়েস এজেন্টগুলোকে মাইক্রোসফটের ওয়েব পেজ হতে ডাউনলোড করে নিতে পারেন অথবা www.geocities.com/ redu0007 থেকে ডাউনলোড করে নিতে পারেন৷
Option Explicit Dim WithEvents RecoContext As SpSharedRecoContext Dim Grammar As ISpeechRecoGrammar Dim m_bRecoRunning As Boolean Dim m_cChars As Integer Dim vol As Double this helps open the volume control Dim bye As Integer this closes the volume control Dim char As IAgentCtlCharacterEx Private Sub btnend_Click() char.Stop End End Sub Private Sub Command1_Click() char.Speak ("Say note, i will open notpad for you.") char.Speak ("Say Green, Look behind me, colour will change.") End Sub Private Sub Form_Load() Dim anim As String SetState False m_cChars = 0 anim = "genie" Agent1.Characters.Load anim, anim & ".acs" Set char = Agent1.Characters(anim) char.MoveTo 520, 300 char.Show char.AutoPopupMenu = False char.Speak ("Talk, I can repeat whatever you say, please 1st say Start") End Sub Private Sub btnStart_Click() Debug.Assert Not m_bRecoRunning char.Speak ("Say any word.") Initialize recognition context object and grammar object, then start dictation If (RecoContext Is Nothing) Then Debug.Print "Initializing SAPI reco context object." Set RecoContext = New SpSharedRecoContext Set Grammar = RecoContext.CreateGrammar(1) Grammar.DictationLoad End If Grammar.DictationSetState SGDSActive SetState True End Sub Private Sub btnStop_Click() Debug.Assert m_bRecoRunning Grammar.DictationSetState SGDSInactive SetState False End Sub Private Sub Form_Unload(Cancel As Integer) Char.stop End Sub This function handles Recognition event from the reco context object. Recognition event is fired when the speech recognition engines recognizes a sequences of words. Private Sub RecoContext_Recognition(ByVal StreamNumber As Long, _ ByVal StreamPosition As Variant, _ ByVal RecognitionType As SpeechRecognitionType, _ ByVal Result As ISpeechRecoResult _ ) Dim strText As String this is to open the notepad Dim RetVal As Double strText = Result.PhraseInfo.GetText do what you want for various words here If strText = "green" Then Label1.BackColor = vbGreen If strText = "red" Then Label1.BackColor = vbRed If strText = "yellow" Then Label1.BackColor = vbYellow If strText = "black" Then Label1.BackColor = vbBlack this is to end the program by saying by If strText = "by" Then MsgBox ("Bye bye.") End End If 1 is normal, 3 is maximized 6 is minimized If strText = "not" Then RetVal = Shell("c:\windows\notepad.exe", 3) StreamNumber & ", " & StreamPosition Append the new text to the text box, and add a space at the end of the text so that it looks better txtSpeech.SelStart = m_cChars txtSpeech.SelText = strText & "," m_cChars = m_cChars + 1 + Len(strText) char.Speak (strText) End Sub This function handles the state of Start and Stop buttons according to whether dictation is running. Private Sub SetState(ByVal bNewState As Boolean) m_bRecoRunning = bNewState btnStart.Enabled = Not m_bRecoRunning btnStop.Enabled = m_bRecoRunning End Sub
ফিডব্যাক : redu0007@yahoo.com