|  | 
        
            | 
                    
                        | MS Speech SKD 5.0 ve MS Agent |  |  
                        | 
	
    
		
            | Gönderiliyor lütfen bekleyin... | 
 |  | 
        
            | Bu makalemizde Microsoftun Windows ortamın ses bazlı programlar için hazırlamış olduğu MS Speech SDK 5.0 ve bu tür programlarda kullanabileceğimiz ve daha çok eğitim amaçlı programlarda oldukça yararlı olan MS Agent teknolojisini birlikte nasıl kullanabileceğimizi göreceğiz. 
 Günümüzde bilgisayarımızın ses ile yönetilmesi, ses bazlı programların yapılması gibi teknolojilerin daha çok yeni olmasına karşın, bir çok topluluk tarafından hayranlık toplamış durumda olduğunu görürüz. Klavye başında saatlerimizi geçirdğimiz programların , sadece ses dalgaları ile çalıştırılması muhtemelen hepimizi heyecanlandırır. Böylece hem sağlığımızı korumakla kalmayız ayrıca bu işi daha zevkli bir hale getirmiş oluruz :)
 
 MS Speech SDK + MS Agent Yazı dizimizin ilk başında bu iki teknolojiyi başlangıç düzeyde nasıl kullanabileceğimizi gösterelim.
  Uygulamamız TextBoxa girilen değerleri sesli olarak okuyan bir karakterden oluşacak. Uygulamamızın Ses kısmını MS Speech ve karakter kısmını MS Agent ile hazırlayacağız.Şimdi isterseniz uygulamamıza geçelim. 
  İlk olarak Visual Studio.Net de Visual C# Windows Application açalım ve uygulamamıza 3 tane referans ekleyelim. Bunlar Interop.AgentObjects, AxInterop.AgentObjects ve SpeechLib.
 
 
  
 Şimdi sıra geldi formumuzu tasarlamaya. Bu aşamada da iki küçük eklenti yapacağız.Bunların biri "TextBox" ve diğeri bir "Button".
 
 
  
 Şimdi sıra programımızı yazmaya geldi. Programımızda konuşan karakter hepinizin Speech programlarından tanıdığı "Merlin" olacak.
 
 
 
  Yukarıda gördüğünüz gibi uygulamamız gayet basit bir yapıdadır. Şimdi projemizi açalım ve sonuçları görelim.
    | using System; using System.Drawing;
 using System.Collections;
 using System.ComponentModel;
 using System.Windows.Forms;
 using System.Data;
 using AgentObjects;
 using SpeechLib;
namespace makale
 {
 public class Form1 : System.Windows.Forms.Form
 {
 private System.Windows.Forms.TextBox textBox1;
 private System.Windows.Forms.Button button1;
 private AxAgentObjects.AxAgent temsil = new AxAgentObjects.AxAgent(); // Ilk olarak programızda kullanacağımız AxAgent objemizi,
 private AgentObjects.IAgentCtlCharacterEx karakter; // Sonrada konuşan karakterimizi,
 private SpeechLib.SpVoice ses = new SpeechLib.SpVoice(); // Son olarakta konuşmayı yapacak, ses yaratacak (speech) objemizi tanımlıyoruz.
 
 private System.ComponentModel.Container components = null;
 
 public Form1()
 {
 InitializeComponent();
 this.Controls.Add(temsil); // AxAgent bir control olduğu için bunuda Formumuza "kesinlikle" eklemeliyiz...
 }
 
 protected override void Dispose( bool disposing )
 {
 if( disposing )
 {
 if (components != null)
 {
 components.Dispose();
 }
 }
 base.Dispose( disposing );
 }
 
 +region Windows Form Designer generated code
 
 static void Main()
 {
 Application.Run(new Form1());
 }
 
 private void Form1_Load(object sender, System.EventArgs e)
 {
 temsil.Characters.Load("Merlin", (object)"C:/Windows/MsAgent/chars/merlin.acs"); // AxAgent ile önce         karakteri belirliyoruz. Karakterimiz Merlin Windows XP içinde hazır olarak bulunmaktadır.
 karakter = temsil.Characters["Merlin"]; // AxAgent ile belirlediğimiz karakteri en üstte oluşturduğumuz         "karakter" adlı objemize atama yapıyoruz.
 karakter.Show(null); // Karakterimizi Ekranda Gösteriyoruz...
 karakter.Speak("Hello Emrah I Will read what you write on the textbox!", ""); // Karakterimizin ilk görünür     olduğunda ekrana yazacağı yazıyı belirtiyoruz.
 ses.Rate = 1; // Hemen ardından gelecek sesin hızını ayarlıyoruz.
 ses.Speak("Hello Emrah. I Will read what you write on the textbox", 0); // Speech sistemiminin okuyacağı     yazıyı yazıyoruz. Bu Merlinin kafası üzerinde çıkan yazı ile aynı olmalıdır.
 }
 
 private void button1_Click(object sender, System.EventArgs e)
 {
 if (textBox1.Text != "") // TextBox içinde yazı varsa aşağıdakileri yaptırıyoruz.
 {
 karakter.Speak(textBox1.Text,""); // TextBox içindeki yazıyı önce Merlin gösteriyor.
 ses.Speak(textBox1.Text, 0); // ve Sesli Okuma hemen ardından geliyor.
 }
 }
 }
 }
 
 
 
 |  
 
  Projemizin ilk açıldığındaki görüntüsü...
 
 
   Son olarakta TextBoxa yazdığımız bir yazının okunması.
 
 Microsoft .NET Speech SDK nin şuan da Windows Xp de sadece ingilizce destekli sürümü bulunmakta. Bu yüzden hazırladığımız uygulamamızda ingilizce dilini taban almış bir sistemin, Türkçe ifadeleri okumakta ne kadar zor duruma düşeceğine tanık olacaksınız. Bu ilerde türkçe olarak geliştireceğimiz uygulamalarımızda bize zorluk çıkartabilir. Diğer bir yandan piyasada bir çok Türkçe speech özelliği olan programlar görüyoruz ki buda bizim bu teknoloji yolunda büyük adımlar attığımızı gösteriyor.
 
 MS .NET Speech SDK + MS Agent yazı dizisinin bir dahaki makalesinde görüşmek üzere.
 
 Emrah YİĞİT
 [email protected]
 
                Makale:MS Speech SKD 5.0 ve MS Agent C#, Visual C# ve .NET Emrah Yiğit
 | 
        
            |  | 
        
            |  | 
        
            | 
                    
                        
                            
                        
                            Eklenen Son 10 
                            Bu Konuda Geçmiş 10 
                        
                            Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
                         
                            Son Eklenen 10 Makale Yükleniyor
                         
                            Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
                         | 
        
            |  |