الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مثال في TextToSpeach

مغلق
بدأه بن العيد في 23 أبريل 2007 · 1 رد · 1,020 مشاهدة · في المواضيع والدروس
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

في هذا المثال أفسر كيفية قراءة نص يقوم المستعمل بكتابته

البرنامج هو عبارة علىConsole Application يقوم على المكتبتين sapi.hو sapi.libالمتوفرة هنا

إستعملت أيضا المكتبتان التاليتان

#include <atlstr.h>
#pragma comment(lib , "atlsd.lib")

وذلك لأتمكن من إستعمال النوع CString

هذا كود الدالة الرئيسية وهو عبارة فتح موارد الحاسوب(COM initiation) وإستدعاء المكتبات و تقديم(Instanciate) القسم الرئيسي ثم النطق بمحتوى النص المكتوب وأخيرا تحرير الموارد المحجوزة

int Speak(CString m_sText)
{//---------------------------
	// Instance of the main class
	ISpVoice * pVoice = NULL;
	// Try to initialize
	if (FAILED(CoInitialize(NULL)))
	{ return -1;}
	// Create Instance
	HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
	if( SUCCEEDED( hr ) )
	{	  // Speak
		hr = pVoice->Speak(m_sText.AllocSysString(), 0, NULL);
		pVoice->Release();
		pVoice = NULL;
	}
	CoUninitialize(); // release
}

أما محتوى الدالة الرئيسية(main) يمكن أن يكون كما يلي

int _tmain(int argc, _TCHAR* argv[])
{ //-----------------------  
 char InputText[9000];
 printf("Write Text to hear :");
 scanf("%s",&InputText);
 Speak((CString)InputText);
//------------------------
 return 0;
}

وأذكر هنا بضرورة إدماج الملفين sapi.lib و sapi.hمع المشروع من خلال

اقتباس
(For Sapi.h) Project -> Properties-> C/C++ -> General -> Additional Include Directories -> then add the include folder

(For Sapi.lib) Project -> Properties-> Linker -> General -> Additional LibraryDirectories -> then add the lib folder

علما أني أدرجت الملفين في البرنامج ولكن عند تجربته في حاسوب آخر سيكون هناك رسالة خطاء بعدم وجود الملفين لذلك يرجى التثبت من مسار الملفين كما سبق وأشرت.

لمزيد من المعلومات حول تحويل النص إلى قراءة يمكن الإطلاع على هذا الربط حيث يمكن تغير الصوة من صورة رجل الى صوة إمرأة أو رجل آخر أو رفع الصوت أو تخفيضه ...

والله أعلم

SAPI.zip

#2

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

مشكور أخي على هالبرنامج وبصراحة رح بحاول استفيد منو ببرامج ثانية إن شاء الله

وجزاك الله خيرا :)

إن كلماتنا ستبقى ميتة أعراساً من الشموع لا حراك فيها جامدة ، حتى إذا متنا من أجلها انتفضت حية وعاشت بين الأحياء ، كل كلمة عاشت كانت قد اقتاتت قلب إنسان حي ، فعاشت بين الأحياء ، والأحياء لا يتبنون الأموات

الليل ولى وجاء دورك يا صباح سفينة الإيمان سارت لا تبالي بالرياح

ولا تنسوني من دعائكم

هذا الموضوع مغلق.

مواضيع مشابهة