2016-10-01 71 views
0

我有一個項目,其中用戶將從android/web發送音頻文件到服務器。 我需要在服務器上對文本進行語音處理,並在android/web上將一些文件返回給用戶。然而,服務器端要用Python來完成。 請指導我如何做到這一點?語音文字處理-python

+1

選擇這個圖書館https://pypi.python.org/pypi/SpeechRecognition/ 它可能會幫助你 –

+0

你也可以使用像Google Speach API這樣的extenal服務。 – kxxoling

+0

@HamimAlMahdiRussell我正在調查它,但我想知道使用Django的集成 –

回答

0

除了Web應用程序,還可以有一個需要運行的任務隊列和工作進程以運行和跟蹤這些任務。當Web請求需要在後臺啓動任務,檢查任務或獲取任務結果時,這是一種流行模式。該模式的介紹可以在Task Queues section of the Full Stack Python open book中找到。 CeleryRQ是兩個受歡迎的項目,它們提供任務隊列管理並可插入現有的Python Web應用程序,例如使用Django或Flask構建的應用程序。

一旦你有任務管理,你將不得不決定如何讓用戶瞭解任務的狀態。如果您只是不得不使用RPC風格的Web服務調用,那麼您可以讓客戶端(例如Android或瀏覽器)通過調用您創建的Web服務來通過調用來檢查任務您的任務隊列管理器的API。

如果您希望更快地通知用戶或希望減少來自不斷輪詢的浪費開銷,請考慮提供一個websocket。通過websocket連接,客戶可以訂閱事件通知,例如完成語音到文本的工作。 Autobahn|Python library提供用於實現websocket的服務器代碼以及支持稱爲WAMP的頂層協議,該協議可用於傳遞訂閱和消息或調用服務。如果你需要堅持使用Django,可以考慮使用類似django-websocket-redis的東西。