[Can Sıkıntısı] Papağan Python scripti

Başlatan furkankalkan, 04 Temmuz 2013 - 21:23:43

« önceki - sonraki »

0 Üyeler ve 4 Ziyaretçi konuyu incelemekte.

furkankalkan

Can sıkıntısından ilginç ilginç şeyler yaptırmaya başladım bilgisayara  hadi hayırlısı :D Bu küçük python scripti mikrofondan söylenen (Türkçe) kelimeleri ve cümleleri Google speech serverlarına göndererek yazıya çeviriyor, ses sentezleyicisi de yazıyı okuyarak tekrar ediyor :D Umarım canınız sıkıldığında kavga edebileceğiniz bu küçük dostu seversiniz. İyi Forumlar :D

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import shlex,subprocess,os,time
os.system("espeak -v tr+m2 "+chr(34)+" - "+"3 saniye sonra Konuşmaya başlayın"+chr(34))
time.sleep (3)
os.system('sox -r 8000 -t alsa default recording.flac silence 1 0.1 1% 1 1.5 1%')
os.system('sox recording.flac -r 16000 rec.flac')
cmd='wget -q -U "Mozilla/5.0" --post-file rec.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=tr-tr&client=chromium"'
args = shlex.split(cmd)
output,hata = subprocess.Popen(args,stdout = subprocess.PIPE, stderr=
subprocess.PIPE).communicate()
if not hata:
    if output != '':
       a = eval(output)
       confidence= a['hypotheses'][0]['confidence']
       speech=a['hypotheses'][0]['utterance']
       print "Dediğin: ", speech, " Güvenilirlik oranı: ",confidence
       os.system("espeak -v tr+m2 "+chr(34)+" - "+speech+chr(34)) 
    else:
os.system("espeak -v tr+m2 "+chr(34)+" - "+"Üzgünüm Konuşma tanınmadı tekrar deneyin."+chr(34))


Lover
twitter.com/furkan_kalkan1

Felâsife

Canın sıkılmasın  :)
Yaptığın işten çok güzel şeyler çıkabilir, gerçi BSD kullandığım ve aktif bir mikrofon olmadığı için betiği deneyemedim ama anladığım okunan cümleyi google speechi bize tekrar okuyor.

Peki şöyle bir şey olabilir mi?

Okunan cümleyi Google'nin serveri ekrana yazı olarak basabilir mi ya da ekrana bastırabilir miyiz?

Bunun ne faydası olacak dersen, telaffuz sorunları için çok etkili bir yöntem aslında, işitme engelliler bunun sıkıntısını çok çekerler, Androit ler için yazılmış sesi yazıya çeviren uygulamalar var ama bilgisayar için ben bulamadım bulduklarımı da çözemedim gitti.

Neyse betikle olursa kolay olur herhalde, eline sağlık kolay gelsin. :)
Maceraya hazır mısın!  Bir BSD almaz mısın?

furkankalkan

Yeni fikirler verdiğiniz için teşekkürler Felâsife, Bu speech recognize (konuşma tanıma) motorunu zaten görme engelliler için yapmaya çalıştığım bir işletim sistemi için yazdım. Amacım bunu TTY lerden birinde herhangi bir tuş kombinasyonuyla çalışıp çıktıyı terminale basan (klavyeden basılmış gibi) bir daemon olarak düzenlemek. Ayrıca bu dediğiniz fikir de hoşuma gitti, işe yarayabilir. 

Bu arada; 
Else den önceki iki satırı silip print speech eklerseniz yazıyı ekrana basar. Ya da else den önceki ilk satırı silip güvenilirlik oranıyla birlikte de yazdırabilirsiniz.

bir de BSD kullanmanız sorun değil çünkü espeak geçen kodları sildikten sonra sadece wget ve sox bağımlılıkları kalıyor :) Mikrofon da bulunur bir yerlerden :D
Lover
twitter.com/furkan_kalkan1

Felâsife

Umarım yapmaya çalıştığın işletim sisteminde başarılı olur ve nihayete erdirirsin, bilenlerin böyle şeyler yapıp bilmeyenlere vermesinden daha güzel bir şey olamaz.  ;)

Tamam, ben bi mikrofon bulup denemelere başlayayım, gerçi bugün yarın Almanyadan misafirlerim gelecek pek bilgisayar karşısına da geçemeyeceğim ama ilk boşlukta deneyeceğim.
Benim için önemli bir şey çünkü, kızım işitme sorunu var ve bazı harfleri basamıyor yanlış telaffuz ediyor, işin ilginci de bazen bu telaffuzunun doğru olduğunu da sanabiliyor, o yüzden böyle bir şey olursa hatalarını düzeltmeye çalışır.
Google yalan söylemez  ;D
Android te ki uygulamada bu genelde de insanlar kolayca mesaj yazmak için filan kullanıyorlar ama telaffuzu düzeltmek hataları görmek için cuk oturuyor bu yöntem.
Maceraya hazır mısın!  Bir BSD almaz mısın?

krwlng

@dewilman, eline sağlık ilginç bir çalışma olmuş birazdan deneyeceğim. Ayrıca denemek isteyenlerin öncelikle sudo apt-get install espeak sox

komutu ile gerekli paketleri kurması iyi olur.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

heartsmagic

Umarım üzerinde çalıştığın şeyi hayata geçirebilirsin @dewilman. Kolaylıklar diliyorum.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

furkankalkan

Geri dönüşleriniz için teşekkür ederim :) @Felâsife bu arada kızınıza yardımcı olabildiysem ne mutlu bana :D
Lover
twitter.com/furkan_kalkan1

Felâsife

Bende teşekkür ederim @dewilman bu olay dediğim gibi işimize yarar bizim.

Şu an senin betik benim kullandığım makinede sorunsuz çalışıyor, dahili mikrofonu ben çalışmıyor biliyordum meğersem çalışıyormuş, kmix'i biraz kurcalayınca problem kalmadı.  :)
Ama diğer makineye mikrofon gerekecek sanırım onda olmayacak, gerçi o da problem değil nasıl olsa çalışan bir numune var elimde ötekinide hallederim.

Bu arada ben nette başka bir uygulama buldum tesadüfen o daha basitmiş, ona bir iki ekleme yaptım altaki gibi oldu.

Bizde alsa yerine ossdsp /dev/dsp de denilebiliyormuş öyle yaptım, gerçi sox'u alsa ya göre derleyince alsa default ta oluyor, fark etmiyor yani.
Birde os.system('clear') ekleyince ekranı temizliyor iyi oldu.

Kaydı CTRL+C ile durdurmak yerine bunu 5sn. 10sn. gibi otomatik durdurabilir miyiz?

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import shlex,subprocess,os

print " Bir şeyler söyle"
os.system('sox -r 16000 -t ossdsp /dev/dsp recording.flac silence 1 0.1 1% 1 1.5 1%')
cmd='wget -q -U "Mozilla/5.0" --post-file recording.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=tr-tr&client=chromium"'

args = shlex.split(cmd)
output,hata = subprocess.Popen(args,stdout = subprocess.PIPE, stderr= subprocess.PIPE).communicate()

if not hata:
    a = eval(output)
    confidence= a['hypotheses'][0]['confidence']
    speech=a['hypotheses'][0]['utterance']
    os.system('clear')
    print "Dediğin: ", speech


Maceraya hazır mısın!  Bir BSD almaz mısın?

furkankalkan

@Felâsife, taban olarak bu kodu kullandım zaten, bu arada 10 sn sessizlikten sonra durması için kodu
sox -r 16000 -t ossdsp /dev/dsp recording.flac silence 0 1 0:00:10 1 1.5 1% bununla değiştirebilirsiniz.
Lover
twitter.com/furkan_kalkan1

Felâsife

Galiba bende olmadı gibi, bilemiyorum belkide terminalden dolayıdır csh terminali kullanıyorumda, neyse geniş bir zamanda buna tekrar bakayım. :)

Alıntı yapılan: Felâsife - 10 Temmuz 2013 - 23:16:07
... gerçi o da problem değil nasıl olsa çalışan bir numune var elimde ötekinide hallederim.
Ötekide halloldu. ;D
Maceraya hazır mısın!  Bir BSD almaz mısın?

furkankalkan

Lover
twitter.com/furkan_kalkan1

Felâsife

Şöyle çözdüm, olayda kmix'te bitiyormuş.
Linux'larda da bu olay böyle midir onu bilemiyorum ama.
Maceraya hazır mısın!  Bir BSD almaz mısın?

furkankalkan

İçsel mikrofonlar genelde çalıştırması sorunlu aletler FreeBSD ve Linuxta. Neyse ben şanslıymışım ki alsamixerle çözdüm olayı uzun zaman önce.   
Lover
twitter.com/furkan_kalkan1

betseg


furkankalkan

Lover
twitter.com/furkan_kalkan1

betseg


furkankalkan

Kodları not defteriyle kod.py olarak kaydettikten sonra uçbirimi açıp python2 /nerede/bu/kod.py şeklinde çalıştırabilirsiniz.
Lover
twitter.com/furkan_kalkan1

betseg

3 kere papağan dedim bana sabah dedi :D
Düzenleme: Yaklaştı babam dedi 4. seferde :D
Düzenleme 2: 5. seferde oldu :D

emrebahis

Alıntı yapılan: dewilman - 06 Temmuz 2013 - 11:02:43
Felâsife, Bu speech recognize (konuşma tanıma) motorunu zaten görme engelliler için yapmaya çalıştığım bir işletim sistemi için yazdım. Amacım bunu TTY lerden birinde herhangi bir tuş kombinasyonuyla çalışıp çıktıyı terminale basan (klavyeden basılmış gibi) bir daemon olarak düzenlemek.

Sizin yazdığınız kodu deneyemedim fakat yukarıda belirttiğiniz niyetiniz için sizi tebrik etmek istedim.

Ayrıca Knoppix açılırken boot yerine adriane yazınca görme engelliler için bir işletim sistemi açılıyor. Kendi deyimiyle "blind-friendly, talking desktop". Belki göz atmak istersiniz. http://knoppix.net/

furkankalkan

Alıntı yapılan: emrebahis - 13 Temmuz 2013 - 15:52:48
Sizin yazdığınız kodu deneyemedim fakat yukarıda belirttiğiniz niyetiniz için sizi tebrik etmek istedim.
Ayrıca Knoppix açılırken boot yerine adriane yazınca görme engelliler için bir işletim sistemi açılıyor. Kendi deyimiyle "blind-friendly, talking desktop". Belki göz atmak istersiniz. http://knoppix.net/

Tekrar hatırlattığınız için teşekkür ederim :D Daha önce kullanmışlığım var ama ses çıkmıyordu bende nedense. Yeni sürümünü indireyim bir belki düzelmiştir.
Lover
twitter.com/furkan_kalkan1