2016-09-28 8 views
0

私はパーソナル音声アシスタントのアプリケーションをpythonで使っていますが、Webインターフェイスを追加して、どのデバイスからでもリモートで使用できるようにします。私はすでにPython側を持っています。私はそれをWebインターフェイスと混在させたいのです。たぶん、スレッド内のソケットをリッスンすることによって。私はPythonに慣れていますが、JSではあまりよくありません。実行中のpythonプロセスとjavascriptの間でデータを渡す方法

私が理想的に必要なのは、実行中のPythonプロセスを持つことです。その後、HTML JSクライアントはユーザーの声を記録し、それをテキストに変換してPythonサーバーに送信します。 Pythonのサーバーは、コマンドを受信して​​、機能を実行し、同様にJSONデータを返します。

{ 
'reply':'All done, here is your result', 
'data':someBigHTMLoutput, 
'audio':path to generated mp3 audio file of speech using customized voice 
} 

HTMLが見つかった書籍や映画、例えば、または他のいくつかの報告に大きなテーブルすることができます。コマンドがライトを消していた場合は空白にすることもできます。

JSはこのデータを受信し、 'content' divをhtmlデータに置き換え、AI回答テキストを表示し、サーバーによって生成されたttsオーディオファイルを再生する必要があります。次のコマンドを待つ。

このように、私はページリフレッシュなしでjsクライアントとPythonサーバーのデータ交換にどのようにアプローチしたいのですか?

Pythonでソケットを受信するだけで十分ですか?しかし、私はどのようにJSにデータを返すのですか?

その他の質問は次のとおりです。関数の実行前と実行中にいくつかのデータをプッシュできますか?現在、私のPythonの音声アシスタントは、関数の実行前、実行中、実行後に時には「何か」と言うことがあります。このサウンドをhtmlページにも送る方法はありますか?もしそうでなければ、私はAIの論理が「仕事が終わった後」に返信するように答えていると再考するでしょう。

私は多くの時間を費やしてこれを検索しましたが、フレームワークの巨大な選択肢と混乱しましたが、私はこの比較的単純な作業に必要なものがあるかどうかもわかりません。

ありがとうございます! Python 3.4

+1

シンプルなフレームワークが必要な場合は、ボトルまたはフラスコを見てください。しかし、そうです、たとえそれが単なる「マイクロフレームワーク」であっても、フレームワークが必要です。ソケットレベルで作業すると、痛みだけが発生します。 – BrenBarn

答えて

0

私は、Flask、Flask-SocketIO、JavaScript with socketioを使用してしまいました。

魅力的な作品です。ありがとう。これにより、いつでもイベントを発行することができ、リアルタイムでPythonサーバーと対話するHTML + JSベースのフロントエンドUIを構築することが本当に簡単になります。

関連する問題