تقييم الموضوع :
  • 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
فالأمر مضني قليلاً
والفكرة اللي في راسي كالتالي
تسجيل كل حرف لوحده - ولو ان التشكيل سيكون عقبة - ثمقراءة النص حرف حرف
وتجميع الملفات الصوتية المقابله لكل حرف في النص ثم تشغيلها كملف صوتي واحد !!!
كبدايات جوجل كانت ولا زالت قراءة الكلمات العربية مكسرة !!!
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: مهموم
#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
بارك الله فيك وجعلها في ميزان حسناتك
جاري التجربة
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة فى سى شارب ضرورى جدا said-12 1 275 03-03-24, 09:49 PM
آخر رد: justforit
  مساعدة فى سى شارب said-12 3 203 14-02-24, 12:17 AM
آخر رد: Taha Okla
  [C#.NET] تحويل كود ahmed_king2023 2 525 06-06-23, 09:44 AM
آخر رد: fouadhdfouad
  [سؤال] السلام عليكم بدون زحمة عندي نظام ارشفة مشتغلة بلغة سي شارب وقاعدة بيانات سكوال سيرفر مرتضى 1 671 13-05-23, 10:36 PM
آخر رد: عبدالله الدوسري
  [VB.NET] تحويل كود ahmed_king2023 6 813 22-04-23, 11:30 PM
آخر رد: ahmed_king2023
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 501 10-01-23, 03:02 PM
آخر رد: ali_ahmed12
  [سؤال] تجزئة النص من الداتا جريد فيوا احمد المهلا 2 741 27-12-22, 05:08 PM
آخر رد: احمد المهلا
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 654 03-12-22, 03:52 PM
آخر رد: ali_ahmed12
  [VB.NET] تحويل كود الي c# ali_ahmed12 5 867 30-11-22, 07:32 PM
آخر رد: ali_ahmed12
  [VB.NET] تحويل كود الي c# ali_ahmed12 0 456 29-11-22, 06:30 PM
آخر رد: ali_ahmed12

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


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