C# sesli komut ile uygulama açtırma

Kruvazör

Ar-Ge Ekibi Lideri
28 Mar 2020
1,734
2,555
Wrong Side Of Heaven
Herkese merhaba arkadaşlar
bugün size
C# ile ses tanıma, sesle komut işleme konusundan bahsedip örnek bir proje paylaşacağım.
çalışma mantığı dilin metne dökülmesinden ibarettir.

Ses tanıma algoritmaları iki farklı metoda dayanıyor. Bunlar;
Automatic Speech Recognition(ASR) ve Speech ToText (STT)
olarak sıralanabilir.


Automatic Speech Recognition(ASR),
otomatik ses tanıma olarak çevrilebilir.
Alınan seslerin donanım tabanlı teknikler ve yazılımla birlikte kullanılarak işlenmesi anlamına geliyor.


Speech ToText (STT)
sesi metne dönüştürme sistemidir.
Seslerin cihaz tarafından metne dönüştürülmesini sağlar.


Algoritmalardan beslenen ses tanıma teknolojileri HiddenMarkov Model(HMM) ve Dynamic Time Warping (DTW) modelleri ile matematiksel olarak çalışır


Nedir bu markov modeli?
Saklı Markov Modeli konuşma gibi istatistiksel özellikleri zamanla değişkenlik gösteren dizilerin modellenmesinde kullanılır.
Saklı Markov modelinde durumlar doğrudan gözlenemez.
Konuşma tanımada yaygın olarak kullanılması 1980’lerden sonra başlamıştır.
Konuşma sinyali istatistiksel özellikleri zamanla değişen bir sinyaldir.
Herhangi bir anlamlı ses dizisi üretmek istediğimizde gırtlak ve dil gibi ses organlarımız hava basıncını ve hava akışını duyulabilecek ses dizileri üretecek şekilde modüle ederler.
Bazı sesler kHz’ler düzeyinde spektral bileşenler içerebilir.
Buna rağmen ses organlarımızın yapısı saniyede en fazla 10 kere değişir.
Ses modelleme, belirli seslerin kısa zaman spektral özelliklerinin analizini içerir ve bu modelleme farklı seslere karşılık gelen ses 8 organ yapısının uzun zaman değişimini tanımlamamızı sağlar.
Zamanla değişkenlik gösteren ve spektral gözlem dizileri ile temsil edilen ses dizilerini tanımlayabilmenin
bir yolu bu diziyi bir sesten diğer bir sese geçiş şeklinde Markov zincirleri ile göstermektir. aşağıda görülen birinci derece 3 durumlu Markov zincirinde, sistemin bir t anında N farklı durumdan birinde (S1, S2, S3, S4, SN) olacak şekilde tanımlanabilir.
508edt7.jpg


Nedir bu Dynamic Time Warping?
DTW Belirli bir sözcüğün seslendirilmesi, kişiden kişiye hatta aynı kişinin farklı zamanlarda seslendirmesi ile zaman içinde farklılık gösterebilmektedir.
Aynı sözcüğün seslendirilmesi, bir seslendirmede uzun, bir seslendirmede ise daha kısa zamanda gerçekleştirilebilir.
Aynı zamanda, ses sinyalinde kimi fonemler daha uzun, kimileri ise daha kısa yer almaktadır.

Dynamic Time Warping algoritması yardımıyla, bu iki seslendirme, zaman içinde yayılarak ya da daraltılarak birbirine yaklaştırılmaya çalışır.
Yani bu iki seslendirmenin, zaman olarak örtüştürülmesi işlevi gerçekleştirilir.
DTW, sözcük tabanlı ses tanıma sistemlerinde etkin ve sıkça kullanılan bir yöntemdir.
Bu yaklaşımla, çalışma anında tespit edilen sözcük kesimlemesi,
sistemde kayıtlı sözcük şablonları ile seslendirme zamanları örtüştürülerek karşılaştırılması gerçekleştirilebilir.
aşağıda iki ses sinyali arasında DTW algoritmasının zaman ekseninde uygulanması gösterilmektedir.
bnh7sk0.png


o halde artık örnek uygulamamıza geçelim
öncelikle, kendi örneğinizi yapmak isterseniz

using System.Speech.Recognition;

kütüphanesini kurmalı ve


BAŞVURU EKLE
1mna2of.png


bfbgky9.png


oyu4cko.png


şeklinde başvuru eklemelisiniz




PROGRAM EKRAN GÖRÜNTÜSÜ
50x00z1.jpg



Program sizden "RUN" sesli komutunu alınca
seçtiğiniz programı açar.
(mikrofon tavsiye edilir)


KAYNAK KOD/GİTHUB LİNKİ


PROGRAM İNDİRME LİNKİ

virustotal linki
(false positive var)

(dil paketi uyumsuzluğu ya da çeşitli problemler çıkarabilir
çözümleri için dm gelebilirsiniz ya da alta yazabilirsiniz.)







 
Son düzenleme:

Helmsys

Ar-Ge Ekibi Kıdemli
16 Mar 2022
1,492
1,652
Herkese merhaba arkadaşlar
bugün size
C# ile ses tanıma, sesle komut işleme konusundan bahsedip örnek bir proje paylaşacağım.
çalışma mantığı dilin metne dökülmesinden ibarettir.

Ses tanıma algoritmaları iki farklı metoda dayanıyor. Bunlar;
Automatic Speech Recognition(ASR) ve Speech ToText (STT)
olarak sıralanabilir.


Automatic Speech Recognition(ASR),
otomatik ses tanıma olarak çevrilebilir.
Alınan seslerin donanım tabanlı teknikler ve yazılımla birlikte kullanılarak işlenmesi anlamına geliyor.


Speech ToText (STT)
sesi metne dönüştürme sistemidir.
Seslerin cihaz tarafından metne dönüştürülmesini sağlar.


Algoritmalardan beslenen ses tanıma teknolojileri HiddenMarkov Model(HMM) ve Dynamic Time Warping (DTW) modelleri ile matematiksel olarak çalışır


Nedir bu markov modeli?
Saklı Markov Modeli konuşma gibi istatistiksel özellikleri zamanla değişkenlik gösteren dizilerin modellenmesinde kullanılır.
Saklı Markov modelinde durumlar doğrudan gözlenemez.
Konuşma tanımada yaygın olarak kullanılması 1980’lerden sonra başlamıştır.
Konuşma sinyali istatistiksel özellikleri zamanla değişen bir sinyaldir.
Herhangi bir anlamlı ses dizisi üretmek istediğimizde gırtlak ve dil gibi ses organlarımız hava basıncını ve hava akışını duyulabilecek ses dizileri üretecek şekilde modüle ederler.
Bazı sesler kHz’ler düzeyinde spektral bileşenler içerebilir.
Buna rağmen ses organlarımızın yapısı saniyede en fazla 10 kere değişir.
Ses modelleme, belirli seslerin kısa zaman spektral özelliklerinin analizini içerir ve bu modelleme farklı seslere karşılık gelen ses 8 organ yapısının uzun zaman değişimini tanımlamamızı sağlar.
Zamanla değişkenlik gösteren ve spektral gözlem dizileri ile temsil edilen ses dizilerini tanımlayabilmenin
bir yolu bu diziyi bir sesten diğer bir sese geçiş şeklinde Markov zincirleri ile göstermektir. aşağıda görülen birinci derece 3 durumlu Markov zincirinde, sistemin bir t anında N farklı durumdan birinde (S1, S2, S3, S4, SN) olacak şekilde tanımlanabilir.
508edt7.jpg


Nedir bu Dynamic Time Warping?
DTW Belirli bir sözcüğün seslendirilmesi, kişiden kişiye hatta aynı kişinin farklı zamanlarda seslendirmesi ile zaman içinde farklılık gösterebilmektedir.
Aynı sözcüğün seslendirilmesi, bir seslendirmede uzun, bir seslendirmede ise daha kısa zamanda gerçekleştirilebilir.
Aynı zamanda, ses sinyalinde kimi fonemler daha uzun, kimileri ise daha kısa yer almaktadır.

Dynamic Time Warping algoritması yardımıyla, bu iki seslendirme, zaman içinde yayılarak ya da daraltılarak birbirine yaklaştırılmaya çalışır.
Yani bu iki seslendirmenin, zaman olarak örtüştürülmesi işlevi gerçekleştirilir.
DTW, sözcük tabanlı ses tanıma sistemlerinde etkin ve sıkça kullanılan bir yöntemdir.
Bu yaklaşımla, çalışma anında tespit edilen sözcük kesimlemesi,
sistemde kayıtlı sözcük şablonları ile seslendirme zamanları örtüştürülerek karşılaştırılması gerçekleştirilebilir.
aşağıda iki ses sinyali arasında DTW algoritmasının zaman ekseninde uygulanması gösterilmektedir.
bnh7sk0.png


o halde artık örnek uygulamamıza geçelim
öncelikle, kendi örneğinizi yapmak isterseniz

using System.Speech.Recognition;

kütüphanesini kurmalı ve


BAŞVURU EKLE
1mna2of.png


bfbgky9.png


oyu4cko.png


şeklinde başvuru eklemelisiniz




PROGRAM EKRAN GÖRÜNTÜSÜ
50x00z1.jpg



Program sizden "RUN" sesli komutunu alınca
seçtiğiniz programı açar.
(mikrofon tavsiye edilir)


KAYNAK KOD/GİTHUB LİNKİ

PROGRAM İNDİRME LİNKİ

virustotal linki
(false positive var)

(dil paketi uyumsuzluğu ya da çeşitli problemler çıkarabilir
çözümleri için dm gelebilirsiniz ya da alta yazabilirsiniz.)







Eline sağlık çok güzel anlatım olmuş. Ezberden kaçınıp resimlerle de somutluk katılmış.
 

Kruvazör

Ar-Ge Ekibi Lideri
28 Mar 2020
1,734
2,555
Wrong Side Of Heaven
Faydalı bir paylaşım olmuş elinize sağlık.


Eline sağlık çok güzel anlatım olmuş. Ezberden kaçınıp resimlerle de somutluk katılmış.

Eline Emeğine Sağlık

Eline sağlık faydalı konu olmuş 👏

sağolun :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.