2016-03-29 7 views
0

私はTouchDesignerのパッチを作成しており、SpeechRecognitionを使用して、記録された単語/フレーズをテーブルにインストールしたいと考えています。これを行うために、私はそれがテキストファイルに印刷するものを保存できるようにしたいと思います。私は貧しいプログラマーであり、今のところスクリプトを完全に動作させることはできません。音声認識出力をテキストファイルに保存する方法

明確にするために、音声認識部分が機能しています。これはスリムなオリジナルのスクリプトであり、Google APIのみが残っています。私が必要とするのは、後で使用するために結果を(コンソールに送信される)テキストファイルに書き出すことだけです。

これは、認識された単語/句を送信する部分です。

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

(スクリプトが連続して実行されている間は)毎回追加される単語が必要です。

ご協力いただきありがとうございます。

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

申し訳ありませんが、私は 'speech_recognition'についてはわかりませんが、これについて助けが必要な場合は、コードの書式を修正する必要があります。字下げはPythonでは_vital_です。そして、おそらくそれらの空白行のいくつかをクリーンアップする必要があります。 –

+0

明確にするために、音声認識部分が動作しています。悪い字下げの大半は、ここにコードを入れるのが難しいことが原因です。結果をテキストファイルに出力するだけです。この情報をコンソールに出力する部分は、上のコードボックスで強調表示されています。とにかく、私はそれを修理し、清掃するつもりです。 – xmrazak

答えて

3

ファイルへの出力にそれをするあなたは私のほかwith open ...んが、ファイルに追加され何

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 

ような何かをしたいです。 with x as y:は、をyとして作成するというpythonの方法であり、そのスクリプトでしか使用できません。 open("all_outputs.txt","a")は出力ファイルとしてall_outputs.txtファイルを開きます(存在しない場合はそれを作成します)。そして、 "a"は追加ファイルとして設定します。 f.write(result)は結果をその出力ファイルに書き込みます。

+0

お返事ありがとうございました!私はスクリプトのためのその部分を追加しようとすると(開いていると...)それは常にすぐにクラッシュします。 cmdウィンドウが開いて閉じて、入力する時間がありません。私はウェブから他の例を試しましたが、いつも同じように終わります。書き込みスクリプトは、もちろんスタンドアロンで動作します。 – xmrazak

+0

ああ、ウィンドウが点滅するミリ秒単位の「矛盾した書式設定」と言います。何とかコードの書式設定はいつもそれを混乱させますが、私がそれを修正しようとするものは何も助けません。 – xmrazak

+0

IDEをダウンロードして少し遊んで、奇跡的に修正しました。 – xmrazak