2016-10-01 6 views
0

Ich habe ein Projekt, in dem der Benutzer eine Audio-Datei von Android/Web an den Server senden wird. Ich muss Rede zu Textverarbeitung auf dem Server durchführen und einige Dateien an den Benutzer zurück auf Android/Web zurückgeben. Die Server-Seite soll jedoch mit Python erstellt werden. Bitte führen Sie mich, wie es gemacht werden könnte?Rede zu Textverarbeitung - Python

+1

Überprüfen Sie diese Bibliothek https://pypi.python.org/pypi/SpeechRecognition/ Es könnte Ihnen helfen –

+0

Sie könnten auch externe Dienste wie Google Speech API verwenden. – kxxoling

+0

@HamimAlMahdiRussell Ich untersuche es, aber ich möchte über die Integration mit Django wissen –

Antwort

0

Neben Ihrer Webanwendung können Sie eine Warteschlange mit Aufgaben erstellen, die ausgeführt werden müssen, und Worker-Prozesse, um diese Aufgaben auszuführen und nachzuverfolgen. Dies ist ein beliebtes Muster, wenn Webanforderungen Aufgaben im Hintergrund starten, Aufgaben einchecken oder das Ergebnis einer Aufgabe abrufen müssen. Eine Einführung in dieses Muster finden Sie in der Task Queues section of the Full Stack Python open book. Celery und RQ sind zwei beliebte Projekte, die Aufgabenwarteschlangenverwaltung bereitstellen und in eine vorhandene Python-Webanwendung, beispielsweise eine mit Django oder Flask erstellte, eingefügt werden können.

Sobald Sie Aufgabenverwaltung haben, müssen Sie entscheiden, wie Sie den Benutzer über den Status einer Aufgabe auf dem Laufenden halten. Wenn Sie nur Web-Service-Aufrufe im RPC-Stil verwenden müssen, können Sie Clients (z. B. Android oder Browser) nach dem Status fragen lassen, indem Sie einen von Ihnen erstellten Web-Service aufrufen, der die Aufgabe über prüft die API Ihres Aufgabenwarteschlangenmanagers.

Wenn Sie möchten, dass der Benutzer schneller informiert wird oder unnötigen Mehraufwand durch konstantes Abrufen reduziert werden soll, sollten Sie stattdessen einen Websocket bereitstellen. Über eine Websocket-Verbindung können Clients Benachrichtigungen zu Ereignissen abonnieren, z. B. die Fertigstellung eines Sprach-zu-Text-Jobs. Die Autobahn|Python library bietet Server-Code für die Implementierung von Websockets sowie die Unterstützung für ein oben genanntes Protokoll WAMP, die verwendet werden können, um Abonnements und Nachrichten zu kommunizieren oder Dienste aufzurufen. Wenn Sie bei Django bleiben müssen, denken Sie an etwas wie django-websocket-redis.