2017-04-24 1 views
-1

Ich versuche, ein Spiel mit Einheit zu bauen, die arabische Spracherkennung auf Android-Geräten verwendet werden. Ich bin am Spracherkennungstool fest. Welches ist besser geeignet für die Einheit? Kann ich Google API direkt verwenden? Wenn ja, kann ich die Daten kontrollieren?Einheit Spiel-Engine, Sphinx und Google Rede API auf Android

oder sphinx ist besser geeignet für spiel auf android-gerät? Ich habe über Sphinx gelesen, aber das akustische Modell der arabischen Sprache war nicht dafür aber dafür verfügbar.

Ich habe versucht, es mit MATLAB zu machen, aber es kostet mich viel, es auf dem Handy mit MATLAB-Coder zu bauen und es hat auch nicht alle erforderlichen Bibliotheken.

irgendwelche Hilfe zu diesem Thema?

Antwort

0

Offizielle Einheit Plugin für pocket ist hier:

https://github.com/cmusphinx/pocketsphinx-unity-demo

Arabisch Modell trainiert werden muss, ja. Am Ende könnte man ein gutes System haben, aber man muss genug investieren.

+0

der angegebene Link ist für OSX nicht für Android. –

0

Wenn es um Sprache und Android geht, ist Google-Plattform der beste Weg. Problem ist, dass es einen Aufruf an die Plattform erfordert. Es gibt eine Offline-Version, die ich nicht versucht habe: Offline Speech Recognition In Android (JellyBean) Wie für Google-Plattform gibt es einige billige Plugins für $ 20 in Asset Store.

Hauptproblem, sie bieten keine kontinuierliche Erkennung, müssten Sie die Aufzeichnung auslösen und stoppen Sie es gesendet werden. Vielleicht ist es für dich geeignet. Problem ist, dass, wenn Sie viele Benutzer bekommen, nur 1h pro Monat frei ist und Sie am Ende die Server-Nutzung bezahlen. Ich denke, es ist ungefähr $ 0.015/Minuten. Auf der anderen Seite hat es mehr als 80 Arbeitssprachen, einschließlich lokaler Akzente.

CMUSphynx ist eine andere Lösung. Opensource und Offline-Funktionen machen es zu einer guten Wahl. Wir mussten unser eigenes Android-Plugin für Unity entwickeln, aber wir hatten schlechte Ergebnisse, die uns dazu brachten, die Nutzung einzustellen (bevor Sie fragen, nein, wir können das Plugin leider nicht zur Verfügung stellen ... NDA beteiligt). Außerdem sind die Sprachen begrenzt.

Es gibt andere Lösungen wie Nuance, viel besser aber auch viel teurer (am ehesten für ein Demo-Spiel). Ihre API ist viel fortgeschrittener und wird regelmäßig in professionellen Situationen wie Voice-over-Telefon für die automatische Weiterleitung verwendet. Es wird auch auf Vuzix-Geräten verwendet.

In Anbetracht Sie würden Google Speech versuchen, ja Sie können Daten steuern. Im Grunde nehmen Sie eine Audiodatei auf, senden sie an den Server und der Server antwortet mit einem json-Objekt, das eine Liste von erkannten Wörtern mit Erfolgswahrscheinlichkeit enthält.

Sie würden die erste greifen und den Inhalt analysieren. Erwägen Sie bekommen würde eine Bewegungsaktion und das Ergebnis sein:

// This is the result from GSP 
    string str = "Move player one unit"; 

    if(str.Length == 4) 
    { 
     // Parse 
     string action = str[0]; 
     string actor = str[1]; 
     string amountStr = str[2]; 
     string unit = str[3]; 
     // Convert 
     float amoutFl = ParseAmount(amountStr); 

     // Check 
     if(hashSetActor.Contains(actor) == false){ // error } 
     if(hashSetUnit.Contains(unit) == false){ // error } 
     if(actionDictionary.Contains(action)) 
     { 
      // Act 
      actionDictionary[action](actor, amountFl,unit); 
     } 
    }