تقييم الموضوع :
  • 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
بارك الله فيك وجعلها في ميزان حسناتك
جاري التجربة
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Sad [سؤال] أريد تعلم السي شارب و خائف من مستقبلها Anis Gladiator 0 66 13-11-16, 10:53 AM
آخر رد: Anis Gladiator
  [C#.NET] تحويل vbs الى exe korbavc 2 183 10-09-16, 10:09 PM
آخر رد: korbavc
Question [سؤال] هل تدعم لغه السى شارب الحفظ المتعدد للصور بعد التعديل عليها tayfa3003 1 165 05-09-16, 10:14 AM
آخر رد: tayfa3003
  [سؤال] السي شارب ؟ أم الفيجوال ؟ سؤال متكرر abomariamelmasry 18 2,370 01-08-16, 03:54 PM
آخر رد: أبوبكر سويدان
  كيف الى تطبيق هذا الخيار بالسي شارب سعود 1 279 17-05-16, 11:44 AM
آخر رد: adham2016
  [سؤال] الانتقال إلى سي شارب samerselo 9 518 03-05-16, 11:05 AM
آخر رد: abulayth
  كيف يتم عرض بور بوينت من خلال السي شارب Alshaf3y 0 165 28-03-16, 11:49 PM
آخر رد: Alshaf3y
  موقع للتحويل بين سي شارب و فيجول بيسيك دوت نيت Ahmad Jawad 5 1,023 23-03-16, 06:11 PM
آخر رد: السندبااد
  كيفيه تحويل النص الى عدد وتحديد عدد الاعداد التي يجب ان تكتب في ال textbox ليلى ابوكف 4 529 20-12-15, 01:19 PM
آخر رد: م.أحمد الدسوقى
Question [سؤال] اخراج مجموع الموظفين من جدول SQL وعرضة بالسي شارب ديو05 5 523 25-09-15, 12:07 AM
آخر رد: Abu Ehab

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


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