|
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.
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.
}
}
}
}
|
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.
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
|
|