2016-03-29 18 views
0

TouchDesigner bir yama üzerinde çalışıyorum ve SpeechRecognition kullanmak ve bir tabloda kaydedilmiş sözcüklerden/sözcük öbeklerinden bir yükleme oluşturmak istiyorum. Bunu yapmak için, bir metin dosyasına ne yazdırabileceğimi kaydetmek istiyorum, kötü bir programcıyım ve şu ana kadar senaryoyu tam olarak çalıştıramaz.Bir metin dosyasında konuşma tanıma çıktısı nasıl kaydedilir

Netleştirmek için, konuşma tanıma bölümü çalışıyor ve bu yalnızca Google API'sini bırakarak zayıflatılmış orijinal bir komut dosyasıdır. İhtiyacım olan şey sadece sonuçları (konsola gönderildiği gibi) daha sonra kullanmak üzere bir metin dosyasına yazmaktır.

Tanınan kelimeleri/cümleleri gönderen kısım budur.

print(u"{}".format(value).encode("utf-8")) 
else: 
print("{}".format(value)) 

Her seferinde eklenen sözcüklere (komut dosyası sürekli olarak çalışırken) ihtiyacım var.

Yardımlarınız için çok teşekkürler.

import speech_recognition as sr 
r = sr.Recognizer() 
m = sr.Microphone() 


try: 


    with m as source: r.adjust_for_ambient_noise(source) 

     while True: 

    with m as source: audio = r.listen(source) 
    print("") 

    try: 

     value = r.recognize_google(audio) 

     if str is bytes: 
      print(u"{}".format(value).encode("utf-8")) 

     else: 
      print("{}".format(value)) 

    except sr.UnknownValueError: 
     print("") 
    except sr.RequestError as e: 
     print("{0}".format(e)) 
    except KeyboardInterrupt: 
    pass 
+2

Üzgünüz, ben 'speech_recognition' hakkında hiçbir şey bilmiyorum, ancak bu konuda yardım istiyorsanız kodunuzun biçimlendirmesini düzeltmeniz gerekiyor. Doğru girinti, Python'da _vital_. Ve muhtemelen bu boş satırlardan bazılarını temizlemelisiniz. –

+0

Netleştirmek için konuşma tanıma bölümü çalışıyor. Kötü girintilerin çoğu, kodu buraya koymakta zorlanır. Sonuçları sadece metin dosyasına yazdırmam gerekiyor - bu bilgiyi konsola yazdıran parçalar yukarıdaki kod kutusunda vurgulanır. Her neyse, düzeltmek ve temizlemek için çalışacağım. – xmrazak

cevap

3

bir dosyaya çıktı bunu için benim ilave with open ... yapan bir dosyaya eklenecek nedir

import speech_recognition as sr 
r = sr.Recognizer() 
m = sr.Microphone() 


try: 
    with m as source: r.adjust_for_ambient_noise(source) 

     while True: 

    with m as source: audio = r.listen(source) 
    print("") 

    try: 

     value = r.recognize_google(audio) 

     if str is bytes: 
      result = u"{}".format(value).encode("utf-8") 

     else: 
      result = "{}".format(value) 

     with open("outputs.txt","a") as f: 
      f.write(result) 
     print(result) 

    except sr.UnknownValueError: 
     print("") 
    except sr.RequestError as e: 
     print("{0}".format(e)) 
    except KeyboardInterrupt: 
     pass 

gibi bir şey yapardım. with x as y:, x'u y olarak oluşturmanın pythons yoludur, yalnızca bu komut dosyasında kullanacaksınız. open("all_outputs.txt","a"), çıktı dosyası olarak all_outputs.txt dosyasını açar (eğer mevcut değilse oluşturur) ve “a” onu bir ek olarak ayarlar, bu yüzden sonunda yazdığınız her şeyi ekler. f.write(result), sonucunuzu bu çıktı dosyasına yazar.

+0

Cevabınız için çok teşekkürler! Bu parçayı senaryo için eklemeye çalıştığımda (açık ...) Her zaman hemen çöker. Cmd penceresi açılır ve kapanır ve hatta herhangi bir giriş yapmak için zaman yoktur. Web'den başka örnekler denedim, ama her zaman aynı oluyor. Yazma betiği elbette bağımsız çalışır. – xmrazak

+0

Aha, pencerenin yanıp söndüğü milisaniyede 'tutarsız biçimlendirme' yazıyor. Her nasılsa, kod parçasının biçimlendirilmesi her zaman karmaşıktır, ama ne düzeltmeye çalışırsam yaparım, yardımcı olmaz. – xmrazak

+0

Bir IDE indirdim ve biraz oynadım ve mucizevi bir şekilde düzeltdim. – xmrazak

İlgili konular