تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تحويل النص الي كلام في السي شارب بصوت عربي؟
#1
السلام عليكم
الكلاس SpeechSynthesizer الموجود في using System.Speech.Synthesis  يقوم بتحويل النص الي كلام صوتي ولقد استخدمتة وقام بالعمل بشكل جيد ولكن المشكلة تكمن في النصوص العربية لا يقوم بنطقها فاريد الطريقة التي تعرف النظام ان النص المستخدم نص عربي وكذلك الملفات المطلوبة  حيث قمت بثبيت الملفات الاتية :
Microsoft Speech Platform - Runtime
MicrosoftSpeechPlatformSDK
اما الملف الثالث فهو يعرف اللغة كالاتي
MSSpeech_TTS_fr-CA_Harmonie 
لكني لم اجد ملف للعربية
ارجو الافادة وشكرا
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله

أخي أحمد

إذا أردت كود يحول النص العربي إلى صوت ولكن عن طريق النت فهذا هو الكود
يجب إضافة المكتبة Windows Media Player من نوع COM وملفها هو Interop.WMPLib.dll
PHP كود :
public void iSpeech_ArabicMale(string txt) {
    try {
        
string link "https://api.ispeech.org/api/rest?apikey=52fed8fdfcc6e9ef19b7a579a13d59c0&action=convert&voice=arabicmale&text=" txt;
        
byte[] = new System.Net.WebClient().DownloadData(link);
        
string vf System.IO.Path.GetTempFileName() + ".mp3";
        
System.IO.File.WriteAllBytes(vfb);
        new 
WMPLib.WindowsMediaPlayer() {URL vf};
    }
    catch (
Exception ex) {
        
MessageBox.Show(ex.Message);
    }

الرد }}}}
تم الشكر بواسطة: أبو عمر , السندبااد
#3
شكرا اخي فقد جربت الكود وهو يعمل لكن اخي هذا حل صعب للاتصال الدائم بالانترنت وشكر
الفكرة اني اريد ان اقوم بعمل نداء الي حسب المدخلات وفكرة ان اسجل الاصوات صعبة جدا لانة مطلوب لاكثر من لغة
ولكن اعتقد انة الحل الوحيد
الرد }}}}
تم الشكر بواسطة: أبو عمر
#4
إذا كان الكلام محدد مثلا كما هو موجود ببرامج الملاحة في الموبايل
تستطيع تشغيله ببساطة مثلا
PHP كود :
switch (textbox1.text)
 {
    case 
"مرحبا":
    
// do event
        
break;


اما لو كان النص Free
فالأمر مضني قليلاً
والفكرة اللي في راسي كالتالي
تسجيل كل حرف لوحده - ولو ان التشكيل سيكون عقبة - ثمقراءة النص حرف حرف
وتجميع الملفات الصوتية المقابله لكل حرف في النص ثم تشغيلها كملف صوتي واحد !!!
كبدايات جوجل كانت ولا زالت قراءة الكلمات العربية مكسرة !!!
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 رَبِّ اغْفِرْ لِي وَلِوَالِدَيَّ
Heart
الرد }}}}
تم الشكر بواسطة: مهموم
#5
السلام عليكم ورحمة الله

أخي أحمد

عدلت الكود السابق لتتمكن من حفظ الناتج الصوتي في ملفmp3
PHP كود :
public void iSpeech_ArabicMale(string txt,bool savevoice false) {
 
   try {
 
       string link "https://api.ispeech.org/api/rest?apikey=52fed8fdfcc6e9ef19b7a579a13d59c0&action=convert&voice=arabicmale&text=" txt;
 
       byte[] = new System.Net.WebClient().DownloadData(link);
 
       string vf System.IO.Path.GetTempFileName() + ".mp3";
 
       System.IO.File.WriteAllBytes(vfb);
 
       new WMPLib.WindowsMediaPlayer() { URL vf };
 
       if (b.Length && savevoice) {
 
           using (SaveFileDialog saveFileDialog = new SaveFileDialog()) {
 
               saveFileDialog.Filter "صوتيات (*.mp3)|*.mp3";
 
               if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
 
                   System.IO.File.WriteAllBytes(saveFileDialog.FileNameb);
 
               }
 
           }
 
       }
 
   }
 
   catch (Exception e) {
 
       MessageBox.Show(e.Message);
 
   }


وهنا لابد من إضافة علامة true عند استخدام الكود
PHP كود :
iSpeech_ArabicMale(textBox1.Text,true); 

أخي أبو عمر
الرد }}}}
تم الشكر بواسطة: أبو عمر
#6
السلام عليكم ورحمة الله

أخي أحمد

وجدت موقع ينتج صوت في نظري أفضل من المذكور في الكود السابق وجعلت الكود أيضاً فيه امكانية حفظ الناتج الصوتي في ملفmp3
PHP كود :
public void Acapela(string txtbool savevoice false) {
    try {
        
txt System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(txt));
        
string link "http://voice2.reverso.net/RestPronunciation.svc/v1/output=json/GetVoiceStream/voiceName=Mehdi22k?inputText=" txt;
        
byte[] = new System.Net.WebClient().DownloadData(link);
        
string vf System.IO.Path.GetTempFileName() + ".mp3";
        
System.IO.File.WriteAllBytes(vfb);
        new 
WMPLib.WindowsMediaPlayer() { URL vf };
        if (
b.Length && savevoice) {
            
using (SaveFileDialog saveFileDialog = new SaveFileDialog()) {
                
saveFileDialog.Filter "صوتيات (*.mp3)|*.mp3";
                if (
saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
                    
System.IO.File.WriteAllBytes(saveFileDialog.FileNameb);
                }
            }
        }
    }
    catch (
Exception ex) {
        
MessageBox.Show(ex.Message);
    }


قم بإضافة العلامة true لحفظ النتاج الصوتي عند استخدام الكود
PHP كود :
Acapela(textBox1.Texttrue); 

أخي أبو عمر
الرد }}}}
تم الشكر بواسطة:
#7
بارك الله فيك وجعلها في ميزان حسناتك
جاري التجربة
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة اخواني في السي شارب .... samodix 1 47 15-05-17, 01:17 AM
آخر رد: محمد كريّم
  من يستطيع مساعدتي في حل مشكلة تقطع الفيديو في ميديا بلاير سي شارب abdaalwagih 1 49 02-05-17, 07:25 PM
آخر رد: mansoor
  [C#.NET] طلب تحليل نظام رحلات وحجز تذاركر والتصميم بلغه السي شارب soheeb 0 81 28-02-17, 10:05 PM
آخر رد: soheeb
  [C#.NET] برنامج تحويل من النظام الثنائي الى النظام العشري لحن الحياة 3 118 27-02-17, 02:17 AM
آخر رد: لحن الحياة
  أريد عملية الجمع بالسي شارب بمعلومية رقمين في مربعات النص ahmad aj 2 230 18-01-17, 11:13 PM
آخر رد: khodor1985
  سؤالي الاول في قسم السي شارب - من اين ابدأ ؟- Basil Abdallah 2 231 16-01-17, 12:06 AM
آخر رد: Basil Abdallah
Sad [سؤال] أريد تعلم السي شارب و خائف من مستقبلها Anis Gladiator 2 417 10-01-17, 09:08 AM
آخر رد: الشاكي لله
  [C#.NET] تحويل vbs الى exe korbavc 2 335 10-09-16, 10:09 PM
آخر رد: korbavc
Question [سؤال] هل تدعم لغه السى شارب الحفظ المتعدد للصور بعد التعديل عليها tayfa3003 1 346 05-09-16, 10:14 AM
آخر رد: tayfa3003
  [سؤال] السي شارب ؟ أم الفيجوال ؟ سؤال متكرر abomariamelmasry 18 3,131 01-08-16, 03:54 PM
آخر رد: أبوبكر سويدان

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


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