منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] arabic text to speech - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] arabic text to speech (/showthread.php?tid=2699)

الصفحات: 1 2


arabic text to speech - beep - 29-04-14

السلام عليكم اخواني الاعزاء

انا تعبت كثيراً في البحث عن كود يقوم بتحويل النص المكتوب بالعربي الى صوت دون ان اصل الى نتيجة .....

ارجو من الاخوة الاعزاء مساعدتي في هذا الموضوع ... ودمتم لخدمة الناس


RE: arabic text to speech - nkkin - 29-04-14

السلام عليكم
صادفت نفس المشكلة يوما وهذا ما توصلت اليه
ضع webbrowser control في مشروعك وقم بتمرير هذا الرابط اليه مع تغيير النص الذي تريده ان ينطق "http://translate.google.com/translate_tts?tl=ar&q=اهلا بك معنا" على ان يكون مشروعك يعمل بالانترنت
ملحوظة
هناك مشكلة في web breowser control قد لا تحبدها مثلي وهي كون هذا الاخير يعطيك النص المراد نطقه لتحميله على شكل mp3 والاستماع اليه على عكس firefox او chrome



RE: arabic text to speech - beep - 29-04-14

انا اشكر اهتمامك بالموضوع ... الا اني اجد مشكلة مع النص العربي لا يتم نطقه . علماً انه يعمل مع اللغةالفرنسية والانكليزية كما يلي ....

اللغة الانكليزية
كود :
WebBrowser1.Navigate("http://translate.google.com/translate_tts?tl=en&q=good")

اللغة الفرنسية

[code] WebBrowser1.Navigate("http://translate.google.com/translate_tts?tl=fr&q=très bon")



RE: arabic text to speech - beep - 30-04-14

[صورة مرفقة: OKV2hS.jpg]


RE: arabic text to speech - الشاكي لله - 01-05-14

عجبتني حركة google translate دقايق واجهز لكم دالة


RE: arabic text to speech - الشاكي لله - 01-05-14

تفضلوا التطبيق

[صورة مرفقة: 0F8xHA.jpg]


بما انه بالسي شارب سأضع الدالة الرئيسية لجلب الصوت وتشغيله >

PHP كود :
Private Sub DownloadAndPlay()
    Try
        
'main delecration'
        
Dim soundData As Byte()
        
Dim url As String String.Format("http://translate.google.com/translate_tts?tl={0}&q={1}"comboBox1.Text.ToLower(), textBox1.Text.Trim())

        
'create requset'
        
Dim rq As HttpWebRequest TryCast(WebRequest.Create(url), HttpWebRequest)
        
rq.UserAgent "Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0"

        'read response'
        
Dim response As HttpWebResponse TryCast(rq.GetResponse(), HttpWebResponse)
        
Using stream As New BinaryReader(response.GetResponseStream())
            
soundData stream.ReadBytes(CInt(response.ContentLength))
            
stream.Close()
            
response.Close()
        
End Using


        
'create voice file in windows-temprary folder'
        
Dim tempFilePath As String CreateTempFile(soundData)

        
'play temprary-file sound'
        
PlaySound(tempFilePath)

    Catch 
ex As Exception
        MessageBox
.Show(ex.Message)
    
End Try
End Sub

Private Function CreateTempFile(data As Byte()) As String
    
'sound format is mpeg'
    
Dim soundFileName As String System.IO.Path.GetTempPath() & Guid.NewGuid().ToString() & ".mpeg"
    
File.WriteAllBytes(soundFileNamedata)
    Return 
soundFileName
End 
Function

Private 
Sub PlaySound(file As String)
    
'initlize player'
    
Dim player As New WMPLib.WindowsMediaPlayer()
    
player.settings.volume 100
    player
.settings.autoStart True
    AddHandler player
.PlayStateChangeAddressOf player_PlayStateChange
    player
.URL file
End Sub

Private Sub player_PlayStateChange(NewState As Integer)
    
Application.DoEvents()
    If 
NewState CInt(WMPLib.WMPPlayState.wmppsMediaEndedThen
        
'release everything'
        
toolStripProgressBar1.Style ProgressBarStyle.Blocks
    End 
If
End Sub 


طبعا لاتنسوا اضافة مكتبة Windows Media Player المسؤولة عن تشغيل الاصوات (موجود في تاب COM في Add Reference)





RE: arabic text to speech - beep - 02-05-14

الشاكي لله .... الشاكي لله ..... الشاكي لله ...... الشاكي لله ........ الشاكي لله



لا استطيع كيف اشكرك اخي العزيز
https://www.vb4arb.com/vb/images/icons/heart.gif


RE: arabic text to speech - beep - 03-05-14

شكراً لك اخي العزيز على ردك الجميل وهو يفي بالغرض ....

لي سؤال اخر هل هناك طريقة او كلاس يقوم بذلك دون الاتصال بالانترنيت



RE: arabic text to speech - Sajad - 03-05-14

السلام عليكم

نعم اخي العزيز هنالك دوال وفئات تقوم بالمهمة بدون الاتصال بالانترنت وهي عن طريق مجال الاسماء Speech التي تستطيع ان تضيفها الى المشروع عن طريق Add Reference ومن ثم تكتب الكود التالي:

PHP كود :
using System.Speech.Synthesis;
var 
spk = new SpeechSynthesizer();
            
spk.Speak(textBox1.Text); 

تحياتي


RE: arabic text to speech - beep - 03-05-14

مشكور اخي Sajad على هذه الاضافة الرائعة ولكنه لا ينطق الجملة المكتوبة باللغة بالعربية