2016-05-06 11 views
1

würde mir meine iOS App gefällt Text-to-Speech zu verwenden, um den Benutzer einiger Informationen zu lesen, dass es von einem Server empfängt, und ich würde auch es dem Benutzer erlauben, solche Sprache durch einen Sprachbefehl zu stoppen. Ich habe versucht, Spracherkennung Frameworks für iOS wie OpenEars und ich finde das Problem, dass es hört und erkennt die Informationen die App selbst "sagt" und es interferes in der Erkennung der Sprachbefehle des Benutzers.Managing Text-to-Speech und Spracherkennung zur gleichen Zeit in iOS

Hat sich jemand mit diesem Szenario in iOS beschäftigt und eine Lösung dafür gefunden? Vielen Dank im Voraus

+0

Sie können 'verwenden AVSpeechSynthesizer' für Text-to-Speech: https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVSpeechSynthesizer_Ref/ –

+0

@RichardG als Sie, ich verwende es schon, ich bin die Drittanbieter-Rahmen nur für die Spracherkennungsteil verwendet wird, und ich Gesicht ohnehin das Problem, das ich beschrieben ... – AppsDev

+0

@AppsDev - Wenn Sie eine Lösung, die es betrachten teilen gefunden haben bitte –

Antwort

1

Es ist keine triviale Sache zu implementieren. Leider nehmen iOS und andere den Sound auf, der über Lautsprecher wiedergegeben wird. Sie müssen nur das Headset verwenden. In diesem Fall kann die Spracherkennung weiter auf die Eingabe warten. In Openears wird Erkennung bei TTS deaktiviert, es sei denn Headset angesteckt wird

Wenn Sie noch diese Funktion implementieren wollen, die „Barge-in“ Sie tun müssen, die folgenden genannt:.

  1. Speichern Sie die Audio-Sie play their microphone
  2. Implementieren Sie den Rauschunterdrückungsalgorithmus, der das Audio effektiv aus der Aufnahme entfernt. Sie können die Kreuzkorrelation verwenden, um bei der Aufzeichnung und spektralen Subtraktion einen geeigneten Offset zu finden, um den Ton zu entfernen.
  3. Erkennen Sie die Sprache im verbleibenden Signal.

Es ist nicht möglich, das ohne wesentliche Änderung von Openears-Quellen zu tun.

Verwandte Frage ist Android Speech Recognition while music is playing