Frage

Ich schreibe eine Anwendung, die ähnlich wie die bestehenden Spracherkennung verhalten wird, aber die Tondaten zu einem proprietären Web-Service des Senden des Spracherkennungsteil auszuführen. Ich bin mit dem Standard MediaRecord (die AMR-NB codiert), die Spracherkennung, perfekt zu sein scheint. Die nur durch diese zur Verfügung gestellten Daten ist die Amplitude über die getMaxAmplitude () Methode.

Ich versuche zu erkennen, wenn die Person zu sprechen beginnt, so dass, wenn die Person für ca. 2 Sekunden zu sprechen aufhört kann ich damit fortfahren, die Tondaten an den Webdienst zu senden. Im Moment ist ich mit einem Schwellenwert für die Amplitude, dass, wenn sein Wert übergeht (das heißt 1500), dann gehe ich davon die Person spricht. Meine Sorge ist, dass die Amplitudenpegel durch das Gerät (das heißt Nexus One v Droid) können variieren, so dass ich für einen Standardansatz für diese Suche, die aus den Amplitudenwerten abgeleitet werden können.

P. S. Ich schaute auf Grafik-Amplitude aber es bietet keine Möglichkeit, es nur mit der Amplitude zu tun.

War es hilfreich?

Lösung

Nun, das ist vielleicht nicht viel helfen, aber wie wäre es ausgehend von durch die Anwendung durch das Mikrofon des Geräts der Offset Rauschen erfasst Messung und gelten die Schwelle dynamisch basierend auf das? Auf diese Weise können sie anpassbar an die verschiedenen Geräte Mikrofone und auch für die Umwelt machen würde, wird der Benutzer es an, zu einem bestimmten Zeitpunkt verwendet wird.

Andere Tipps

1500 ist zu niedrig eine Zahl. die Änderung der Amplitude Messung wird besser funktionieren. Allerdings wird es noch in Fehldetektionen führen.

ich die einzige Möglichkeit fürchten, dieses Problem zu lösen, ist es, herauszufinden, wie ein einfaches Wort oder Ton zu erkennen und nicht nur Rauschen erkennen.

Die meisten der Smartphones kommen mit einem Näherungssensor. Android hat API für diese Sensoren. Dies würde für den Job, den Sie beschrieben ausreichend sein. Wenn der Benutzer das Telefon in der Nähe zu seinem Ohr bewegt, können Sie die App-Code der Aufnahme zu starten. Es sollte einfach genug sein.

Sensor-Klasse für Android

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top