تقييم الموضوع :
  • 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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تحويل Interface الي دوال API silverlight 1 2,053 24-11-21, 04:15 PM
آخر رد: yassoo1985
  التعامل مع الصور Images في بيئة الدوت نت باستخدام +GDI - مقدمة RaggiTech 3 4,144 30-07-21, 05:14 PM
آخر رد: kebboud
Lightbulb [مقال] التعامل مع ملفات اوفيس من خلال مكتبة NPOI ابو ليلى 2 2,841 01-07-21, 11:42 AM
آخر رد: kebboud
  تحويل النص إلى كلام بالعربي دون الاتصال بالأنترنت ابو ليلى 15 6,994 20-09-20, 05:27 AM
آخر رد: kingofchess
  [مشروع] مكتبة برمجية بلغة الفيجوال بيسك aljzazy 4 2,428 23-05-20, 02:12 PM
آخر رد: asemshahen5
Star [مقال] كيفية تحويل اسعار العملات بإستخدام Yahoo Exchange Rates Web Service Programmation 9 7,387 22-02-20, 12:58 PM
آخر رد: دمعة المقهور
Exclamation [VB.NET] شرح مكتبة style devexpress لتجميل المشاريع mgr21002100 4 3,373 22-08-19, 03:21 PM
آخر رد: mgr21002100
  طريقة استخدام مكتبة internet download manager في برنامجك kslawy 3 4,243 30-07-19, 07:06 AM
آخر رد: سعود
  مكتبة صور وايقونات DevExpress الرائعة لتجميل مشروعك Code Master 7 2,997 07-06-19, 11:36 AM
آخر رد: سعود
  شرح انشاء برنامج تحويل صيغ الملفات الصوتيه CLARO 10 5,403 16-11-18, 04:41 PM
آخر رد: anassss

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


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