تقييم الموضوع :
  • 1 أصوات - بمعدل 1
  • 1
  • 2
  • 3
  • 4
  • 5
تحويل الاوامر الصوتية الي نصوص باستخدام مكتبة SpeechLib
#1
كاتب الموضوع : Friendassist

السلام عليكم ورحمة الله
هذا الموضوع يتحدث عن تحويل الصوت الي نصوص من خلال الاعتماد علي بعض المكتبات مثل مكتبة speechlib و التي يمكن من خلالها تحويل الصوت الي نص مكتوب في البرنامج و يمكن تطوير هذه الطريقة الي اوامر نصية تحول الي كلمات .وهذه الكلمات تكون معرفة في البرنامج علي انها مهام يمكن تنفيذها تلقائيا .
كما في نظام speech recognition في ويندوز سفن حيث يمكننا تنفيذ العديد من المهام المعروفة بالنسبة للويندوز من خلال اوامر صوتية ك open computer , close it ,try,start وغيرها ...

ولا بالنسبه للمشروع فانه يعمل علي ويندوز xp بدون اي مشاكل بالاعتماد منظومة speech sdk و التي تتضمن العديد من المكتبات لعمليات تحويل الصوت لاي نص او العكس و مهام اخري كثيرة لا اعرفها .

في المشروع الان سنقوم باضافة الاداه SpeechLib.dll
وفي قسم التعريفات Imports SpeechLib

و سنعتمد في هذه الطريقة علي الدالة التالية :

Public Sub SPReco_Create()
Dim rule As ISpeechGrammarRule
Dim propvalue As Object = ""
Dim wrd As Char
objrec = New SpSharedRecoContext()
grammer = objrec.CreateGrammar(0)
rule = grammer.Rules.Add("MenuCommand", SpeechRuleAttributes.SRADynamic Or SpeechRuleAttributes.SRATopLevel, 0)
rule.InitialState.AddWordTransition(Nothing, "new", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "old", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "help", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "open", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "close", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "start", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "try", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "do", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "sleep", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "shut down", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
rule.InitialState.AddWordTransition(Nothing, "yes", " ", SpeechGrammarWordType.SGLexical, wrd, 0, propvalue, 1.0)
grammer.Rules.Commit()
grammer.CmdSetRuleState("MenuCommand", SpeechRuleState.SGDSActive)
End Sub

تقوم هذه الداله بالتحقق من قواعد نطق الكلمات المضمنة بداخلها فاذا كانت الكلمة المنطوقة متطابقة مع التعبيرات المخزنة في ذاكرة المكتبة فانة سيتم اظهار الكلمة في اداة textbox
و في حالة عدم حدوث تطابق فان المكتبة ستتجاهل الكلمة الي ان تنطق بالطريقة الصحيحه ..

-في قسم التعاريف للمتغيرات و اثوابت :
Public WithEvents objrec As SpSharedRecoContext
Public grammer As ISpeechRecoGrammar
Dim rule As ISpeechGrammarRule
Dim propvalue As Object = ""

الدالة الاتية لمتابعة عملية تسجيل الصوت في ذاكرة البرنامج :
Public Sub Reco_Event(ByVal streamnmber As Integer, ByVal streamposition As Object, ByVal Recognitiontype As SpeechRecognitionType, ByVal Result As ISpeechRecoResult) Handles objrec.Recognition
Dim str As String
str = Result.PhraseInfo.GetText(0, -1, True)
TextBox1.Text = str.ToString
End Sub
و من خلالها ايضا يتم عرض الكلمة في اداة نص ..

-في حدث ال load :
SPReco_Create()

بحيث نهيئ الدالة للعمل .

داله لتحديد حالة المترجم :
Public Sub stoprec()
grammer.CmdSetRuleState("MenuCommand", SpeechRuleState.SGDSInactive)
End Sub

رابط تحميل المشروع :
http://download956.mediafire.com/7o2...545/Speech.rar

السلام عليكم ورحمة الله ....
}}}}
تم الشكر بواسطة: marwan raid


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] ( يبدو انني مزعج ) ممن عندهم خبره في vb.net هل يمكنك تحويل النص التالي إلى كود برمجي thevirus 2 143 21-11-16, 06:35 AM
آخر رد: أبو عمر
  اصنع محرر أكواد خاص بك باستخدام الأداة RichTextBox السكر المغرور 8 1,532 03-09-16, 07:59 PM
آخر رد: tryold
Star [مقال] كيفية تحويل اسعار العملات بإستخدام Yahoo Exchange Rates Web Service Programmation 8 2,486 26-08-16, 10:21 AM
آخر رد: tryold
  شرح انشاء برنامج تحويل صيغ الملفات الصوتيه CLARO 9 321 02-06-16, 11:13 AM
آخر رد: CLARO
  [درس فيديو] تشغيل اوامر Run من البرنامج & مثال غلق الويندوز بعد وقت محدد باستخدام VB.net أحمد النجار 1 543 23-12-15, 04:26 AM
آخر رد: الماجيك مسعد
  [VB.NET] عمل برنامج تحويل الفيديو video convert alking-0999 0 510 09-07-15, 12:50 PM
آخر رد: alking-0999
  [VB.NET] التشفير باستخدام خوارزمية rsa alking-0999 10 1,391 08-07-15, 04:24 PM
آخر رد: مبرمج بلا حدود
  التعامل مع الملفات الصوتية ........دردشة برمجية RaggiTech 6 2,950 19-12-14, 11:11 PM
آخر رد: sniperjawadino
  تحويل الفيديو في برامجك-الجزء الثاني( إصلاح للمشاكل + تعديل للروابط + توضيح للأمر ) RaggiTech 1 716 10-12-14, 06:37 PM
آخر رد: abulayth
  رسم الباركود برمجيا باستخدام (Code128) RaggiTech 3 2,659 06-10-12, 12:51 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم