Ses ile Kontrol Edilen Hesap Makinası

                 Program tek formdan oluşmaktadır. Rakamlar ve kullanılacak işlemler programa tanıtılmıştır. Program da ön tanımlı işlemler üzerinde program çalışmaktadır. Sayılar ve işlemler ses aracılığı ile yönlendirilebilmektedir. Ses tanıma işlemi programda formun açılış olayına bağlanmıştır dolayısıyla form açılır açılmaz program sizden sesli komut beklemektedir. Sesli komut alındıktan sonra ses sinyalleri islenerek sesin algılanması ve gramerde algılanan sesin olup olmadığı kontrol edilmektedir. Gramer de varsa tanınan kelimeye karşılık gelen işlemler gerçekleştirilmektedir.
Program gramerinde yer alan komutlar şunlardır:

Bir Altı Artı Eşittir
İki Yedi Eksi Karekök
Üç Sekiz Böl Yüzde
Dört Dokuz Çarp
Beş Sıfır Temizle

Gramerde tanımlı değerler rakamlar olması nedeni ile iki ve üzerinde haneye sahip sayılar  ile çalışılacağında, sayı rakamlarına ayrıştırılarak programa söylenmelidir.

Kullanıcı Arayüzü ve Programın Çalışma Mantığı

              Arayüz hazırlanırken Windows hesap makinesinin arayüz tasarımı dikkate alınmıştır. Formun üst kısmında bulunan ses akış filtresi ile ses sinyalleri görülebilmektedir. Ses komutları eşleştirildiğinde sinyal kümesi bütünü bir araya alınmaktadır. Program ses komutları  ile kullanılabildiği gibi klavye yardımı ile de kullanabilmektedir. Konuşmacı tarafından mikrofona söylenen ses, program tarafından algılanarak  yazı alanında görüntülenmektedir. Eğer ki bu sesin karşılığı olduğu komut daha önceden yazılıma tanıtılmış, yani komut ile ses eşleşmesi olmuş ise ilişkili komut aktif hale gelerek istenilen işlemi gerçekleştirmektedir. Örneğin kullanıcı 128 ile 47 sayısını toplamak isterse öncelikle 128 sayısı ve 47 sayısını rakamlarına ayrıştırmalıdır. Yani 128 sayısını “1”,”2,”8”, 47 sayısını “4”,”7”şeklinde rakamlarla ifadesini programa  söylemelidir. 128+47 işlemi hesaplanmak istenildiğinde programa verilecek ilk komut “bir” komutudur.

Hemen arkasından “iki” komutu verilerek 12 sayısı elde edilmektedir.

Daha sonra 128 sayısını elde etmek için mikrofona “sekiz” komutu verilmektedir.

Toplama işlemi için sisteme tanıtılan komut “artı” dır. Kullanıcı tarafından “artı” komutu verildiğinde programın ekran görüntüsü aşağıdaki şekilde verilmiştir.

Toplamada kullanılacak diğer sayı olan 47 için sisteme verilmesi gereken ilk komut “dört” dür.


Ardından 47 sayısını elde etmek için “yedi”komutu sisteme ses ile verilir.

Sayılar sisteme girildikten sonra işlem sonucunu öğrenebilmek için “eşittir” komutu verilmelidir.

       Yukarıdaki şekilde görüldüğü gibi elde edilen sonuç 128 +47 işleminin sonucu olan 175 sayısıdır. Yazılımda görme engelli kullanıcılar düşünülerek sonucun sesli olarak söylenmesi de sağlanmıştır.  Buna yönelik olarak ses kayıt cihazı ile 21 adet sayı seslendirilerek kaydedilmiş ve bunları kullanarak 7 basamaklı sayılara kadar sonucun ses ile dışarı aktarılması sağlanmıştır. Yani hazırlanan bu hesap makinesi milyon mertebesine kadar çıkan sonuçları sesli olarak dışarıya aktarmaktadır.  Böylelikle yukarıda verilen örneğin sonucu olan 175 sayısı, sesli olarak kullanıcılara aktarılmaktadır.

 

, , , , , , ,

Bu yazı için 12 yorum var

  1. Hocam Maşallah..Ben Normalini yeni bitirdim..Siz İşi baya ileri götürmüşünüz..Hangi dilde yaptınız hocam..

  2. merhaba benim üniversite projem var ses ile komut işlemini gerçekleştirmek istiyorum.yaptığınız programın kodlarını rica etsem bana yardımcı olurmusunuz?

  3. Teşekkür ederim, Dikte firmasının konuşma tanıma için ürettiği dikte.api eklentisini kullanarak geliştirdim.

  4. gerçekten güzel projeleriniz var sitenizin daha çok insan tarafından bilinmemesine üzüldüm gerçekten

    1. dikte api demo versiyon indiriniz, kendi içerisinde visual basic örnek çalıştırma kodu var zaten

  5. Sa hocam. Ben Yaptığım projede Hesaplama kısmında böyle birşey düşünüyordum. uzun zamandır arıyorum nasıl yapacağım hakkında en ufak bir fikrim yok. Kodları yada projeni Paylabilirmisiniz hocam. Kesinlikle Emeğine Sonsuz Saygım var ve bunu projemde belirteceğim. Şimdiden Çok Tşkler Allah Razı Olsun.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir