So funktioniert die Spracherkennung. Das beste russische Spracherkennungsprogramm

Der SendPulse-Dienst ist ein Marketingtool zum Erstellen einer Abonnementbasis und zum Umwandeln zufälliger Besucher Ihrer Website in regelmäßige Besucher. SendPulse vereint die wichtigsten Features zur Kundengewinnung und -bindung auf einer Plattform:
● E-Mail-Newsletter,
● Web-Push,
● SMS-Versand,
● SMTP,
● Mailings in Viber,
● Nachrichten an Facebook Messenger senden.

E-Mail-Newsletter

Für die Durchführung von E-Mail-Newslettern können Sie verschiedene Tarife nutzen, auch kostenlose. Der kostenlose Plan hat Einschränkungen: Die Abonnementbasis beträgt nicht mehr als 2500.
Das erste, womit Sie beginnen sollten, wenn Sie mit einem E-Mail-Versanddienst arbeiten, ist, Ihren eigenen zu erstellen Adressbuch. Legen Sie einen Titel fest und laden Sie eine Liste mit E-Mail-Adressen hoch.


SendPulse macht es einfach zu erstellen Anmeldeformulare in Form eines Popup-Fensters, eingebetteter Formulare, schwebend und fest in einem bestimmten Teil des Bildschirms. Mit Hilfe von Abo-Formularen bauen Sie sich einen Abonnentenstamm von Grund auf auf oder ergänzen Ihren Stamm um neue Adressen.
Im Formular-Builder können Sie genau das Anmeldeformular erstellen, das Ihren Bedürfnissen am besten entspricht, und die Service-Tipps helfen Ihnen bei der Bewältigung dieser Aufgabe. Es ist auch möglich, eines der verfügbaren vorgefertigten Formulare zu verwenden.


Bei der Erstellung von Anmeldeformularen muss zwingend eine E-Mail mit einer Firmendomain verwendet werden. Lesen Sie wie.
Nachrichtenvorlagen wird Ihnen helfen, Ihre Briefe an Abonnenten schön zu gestalten. Sie können Ihre eigene Briefvorlage in einem speziellen Konstruktor erstellen.


Automatische Mailings. Content-Manager nutzen aktiv die automatische Verteilung. Es hilft, den Prozess der Arbeit mit Kunden zu automatisieren. Es gibt mehrere Möglichkeiten, einen Automailer zu erstellen:
Fortlaufende Buchstabenfolge. Dies ist die einfachste Option, wenn unabhängig von den Bedingungen mehrere Briefe geschrieben werden, die in einer bestimmten Reihenfolge an die Empfänger gesendet werden. Hier gibt es möglicherweise Optionen - Nachrichtenserie(einfache Nachrichtenkette), besonderes Datum(Briefe sind auf bestimmte Daten terminiert), Trigger-Brief- Der Brief wird in Abhängigkeit von den Aktionen des Abonnenten gesendet (Öffnen der Nachricht usw.).
Automatisierung360– Mailing mit bestimmten Filtern und Bedingungen sowie Berücksichtigung von Conversions.
Fertige Ketten nach Vorlage. Sie können eine Reihe von Briefen basierend auf einer vorgegebenen Vorlage erstellen oder die Vorlage ändern und an Ihre Bedürfnisse anpassen.
A/B-Tests wird Ihnen helfen, mit verschiedenen Optionen zum Senden einer Reihe von E-Mails zu experimentieren und die beste Option für Öffnungen oder Übergänge zu bestimmen.

Senden von Push-Benachrichtigungen

Push-Mailings sind ein Abonnement in einem Browserfenster, es ist eine Art Ersatz für RSS-Abonnements. Web-Push-Technologien sind schnell in unser Leben eingedrungen, und es ist bereits schwierig, eine Website zu finden, die keine Push-Mailings verwendet, um Kunden zu gewinnen und zu halten. Skript anfordern für können Sie E-Mails sowohl manuell versenden als auch automatische Rundsendungen erstellen, indem Sie eine Reihe von E-Mails erstellen oder Daten aus RSS sammeln. Die zweite Option beinhaltet, dass nach dem Erscheinen eines neuen Artikels auf Ihrer Website automatisch eine Benachrichtigung mit einer kurzen Ankündigung an Ihre Abonnenten gesendet wird.


Neu von SendenImpuls– Jetzt können Sie Ihre Website mit Push-Benachrichtigungen monetarisieren, indem Sie Werbung darin einbetten. Bei Erreichen von 10 $ werden jeden Montag Zahlungen an eines der Zahlungssysteme geleistet - Visa / Mastercard, PayPal oder Webmoney.
Push-Nachrichten auf dem Dienst sind absolut kostenlos. Bezahlt werden nur White Label - Mailings ohne Nennung des SendPulse-Dienstes, aber wenn Sie das Dienstlogo nicht stört, dann können Sie Push-Benachrichtigungen ohne Einschränkungen kostenlos nutzen.

SMTP

Die SMTP-Funktion schützt Ihre Mailingliste davor, auf die schwarze Liste gesetzt zu werden, indem weiße IP-Adressen verwendet werden. Die kryptografischen Signaturtechnologien DKIM und SPF, die in SendPulse-Mailings verwendet werden, erhöhen die Glaubwürdigkeit der von Ihnen gesendeten E-Mails, sodass Ihre E-Mails weniger wahrscheinlich in Spam oder auf der schwarzen Liste landen.

Facebook-Messenger-Bots

Der Facebook-Chatbot befindet sich im Beta-Test. Sie können es mit Ihrer Seite verbinden und Nachrichten an Abonnenten senden.

SMS senden

Über den SendPulse-Dienst ist es einfach, Mailings an eine Datenbank mit Telefonnummern zu senden. Zuerst müssen Sie ein Adressbuch mit einer Liste von Telefonnummern erstellen. Wählen Sie dazu den Bereich "Adressbuch", erstellen Sie ein neues Adressbuch, laden Sie Telefonnummern hoch. Jetzt können Sie eine SMS-Verteilerliste für diese Datenbank erstellen. Der Preis für den SMS-Versand variiert je nach Telekommunikationsbetreiber der Empfänger und liegt im Durchschnitt zwischen 1,26 Rubel und 2,55 Rubel pro 1 gesendeter SMS.

Partnerprogramm

SendPulse implementiert ein Partnerprogramm, bei dem ein registrierter Benutzer, der Ihren Link verwendet und den Tarif bezahlt hat, Ihnen 4.000 Rubel einbringt. Der eingeladene Benutzer erhält für die ersten 5 Monate der Nutzung des Dienstes einen Rabatt von 4000 Rubel.

Telefonunterschrift für Gehörlose und Schwerhörige

Verwandeln Sie Ihren Bildschirm in einen fantastischen Telefon-Header. Es ist vollautomatisch, ohne dass menschliche Hörschreiber Ihre Gespräche tippen. Finden Großeltern schwer zu hören, Familie und Freunde am Telefon? Schalten Sie Speechlogger für sie ein und hören Sie auf, am Telefon zu schreien. Verbinden Sie einfach den Audioausgang Ihres Telefons mit dem Audioeingang Ihres Computers und führen Sie Speechlogger aus. Es ist auch nützlich bei persönlichen Interaktionen.

Automatische Transkription

Hast du das Interview aufgezeichnet? Sparen Sie etwas Zeit, indem Sie es von der automatischen Sprache von Google in den Text umschreiben, der von Speechlogger in Ihren Browser gebracht wird. Spielen Sie das aufgezeichnete Interview in das Mikrofon (oder die Leitung) Ihres Computers ein und lassen Sie Speechlogger die Transkription vornehmen. Speechlogger speichert die Transkription des Textes zusammen mit Datum, Uhrzeit und Ihren Kommentaren. Es erlaubt Ihnen auch, Text zu bearbeiten. Telefongespräche können mit der gleichen Methode transkribiert werden. Sie können Audiodateien auch direkt von Ihrem Computer aufnehmen, wie unten beschrieben.

Automatischer Dolmetscher und Übersetzer

Treffen mit ausländischen Gästen? Bringen Sie einen (oder zwei) Laptop mit Sprachlogger und Mikrofon mit. Jede Partei sieht die gesprochenen Worte der anderen in Echtzeit in ihre eigene Sprache übersetzt. Es ist auch hilfreich, ein Telefongespräch in einer Fremdsprache zu führen, um sicherzustellen, dass Sie die andere Seite vollständig verstehen. Verbinden Sie den Audioausgang Ihres Telefons mit dem Line-In Ihres Computers und starten Sie Speechlogger.

Lerne Fremdsprachen und verbessere deine Aussprachefähigkeiten

Speechlogger ist ein großartiges Tool zum Sprachenlernen und kann auf verschiedene Arten verwendet werden. Sie können damit Vokabeln lernen, indem Sie Ihre Muttersprache sprechen und sie von der Software übersetzen lassen. Sie können die richtige Aussprache lernen und üben, indem Sie eine Fremdsprache sprechen und sehen, ob Speechlogger sie versteht oder nicht. Wenn der Text in schwarzer Schrift transkribiert ist, bedeutet dies, dass Sie ihn gut ausgesprochen haben.

Generierung von Filmuntertiteln

Speechlogger kann automatisch Filme oder andere Tondateien aufzeichnen. Nehmen Sie dann die Datei und übersetzen Sie sie automatisch in eine beliebige Sprache, um internationale Untertitel zu erstellen.

Diktieren statt tippen

Einen Brief schreiben? Die Dokumente? Listen? Zusammenfassung? Was auch immer Sie eingeben müssen, versuchen Sie stattdessen, es Speechlogger zu diktieren. Speechlogger speichert es automatisch für Sie und lässt Sie es in ein Dokument exportieren.

Lustiges Spiel :)

Können Sie chinesische Sprecher imitieren? Französisch? Was ist mit Russisch? Versuchen Sie, eine Fremdsprache zu imitieren und sehen Sie, was Sie gerade mit Speechlogger gesagt haben. Verwenden Sie die Simultanübersetzung von Speechlogger, um zu verstehen, was Sie gerade gesagt haben. Erzielen Sie erstaunliche Ergebnisse - es macht viel Spaß!

Auf Facebook wurden wir gefragt:
„Um mit dem Text zu arbeiten, muss ich 3 Stunden Sprachaufnahme transkribieren. Ich habe versucht, eine Audiodatei mit einem Bild auf YouTube hochzuladen und ihren Text-Transkriptor zu verwenden, aber es stellt sich heraus, dass es sich um eine Art Abrakadabra handelt. Können Sie mir bitte sagen, wie ich das technisch lösen kann? Vielen Dank!
Alexander Konovalov»

Alexander, es gibt eine einfache technische Lösung - aber das Ergebnis hängt ausschließlich von der Qualität Ihrer Aufnahme ab. Lassen Sie mich erklären, von welcher Qualität ich spreche.

In den letzten Jahren haben sich die russischen Spracherkennungstechnologien stark weiterentwickelt. Der Prozentsatz der Erkennungsfehler ist so weit gesunken, dass es einfacher geworden ist, anderen Text in einer speziellen mobilen Anwendung oder einem Internetdienst zu „sprechen“ und einzelne „Fehler“ manuell zu korrigieren – als den gesamten Text auf der Tastatur einzugeben.

Doch damit die künstliche Intelligenz des Erkennungssystems ihre Aufgabe erfüllen kann, muss der Nutzer seine eigene Leistung erbringen. Nämlich: deutlich und maßvoll ins Mikrofon sprechen, starke Nebengeräusche vermeiden, möglichst ein Stereo-Headset oder ein externes, am Knopfloch befestigtes Mikrofon verwenden (für die Erkennungsqualität ist es wichtig, dass das Mikrofon immer den gleichen Abstand zu den Lippen hat). , und Sie selbst sprechen in gleicher Lautstärke ). Je höher die Klasse des Audiogeräts, desto besser.

Diese Bedingungen lassen sich leicht einhalten, wenn Sie anstelle des direkten Zugriffs auf den Spracherkennungs-Internetdienst ein Diktiergerät als zwischengeschaltetes Zwischengerät verwenden. Ein solches „persönliches Sekretariat“ ist übrigens gerade dann unverzichtbar, wenn man keinen Zugang zum Internet hat. Natürlich ist es besser, zumindest ein preiswertes professionelles Diktiergerät zu verwenden, als ein Aufnahmegerät, das in einen billigen MP3-Player oder ein Smartphone eingebaut ist. Dies gibt eine viel bessere Chance, die empfangenen Aufzeichnungen an den Spracherkennungsdienst zu "füttern".

Es ist schwierig, aber möglich, den Gesprächspartner davon zu überzeugen, sich an diese Regeln zu halten (noch ein Tipp: Wenn Sie kein externes Mikrofon an einer Wäscheklammer im Kit haben, halten Sie den Rekorder zumindest neben dem Gesprächspartner , und nicht mit dir).

Aber eine Konferenz oder ein Seminar im Automatikmodus auf dem erforderlichen Niveau zu „skizzieren“, ist meiner Meinung nach praktisch unrealistisch (schließlich werden Sie die Rede der Redner und die Reaktion des Publikums nicht kontrollieren können). Obwohl durchaus eine interessante Option: professionell aufgenommene Hörvorträge und Hörbücher in Text umzuwandeln (wenn diese nicht mit Hintergrundmusik und Geräuschen überlagert würden).

Hoffen wir, dass die Qualität Ihrer Diktiergerätaufnahme hoch genug ist, um sie entschlüsseln zu können automatischer Modus.

Wenn nicht, können Sie mit fast jeder Aufnahmequalität entschlüsseln Halbautomatischer Modus.

Darüber hinaus bringt Ihnen in einer Reihe von Situationen die größte Zeit- und Aufwandsersparnis paradoxerweise die Dekodierung manueller Modus. Genauer gesagt die Version, die ich selbst seit einem Dutzend Jahren verwende. 🙂

Also der Reihe nach.

1. Automatische Spracherkennung

Viele raten dazu, Sprachaufnahmen auf YouTube zu transkribieren. Aber diese Methode zwingt den Benutzer, Zeit damit zu verbringen, die Audiodatei und das Hintergrundbild herunterzuladen und dann den resultierenden Text von Zeitstempeln zu bereinigen. Inzwischen ist diese Zeit leicht zu sparen. 🙂

Sie können Audioaufnahmen direkt von Ihrem Computer erkennen, indem Sie die Funktionen eines der Internetdienste verwenden, die von der Google-Erkennungsmaschine unterstützt werden (ich empfehle Speechpad.ru oder Speechlogger.com). Alles, was Sie tun müssen, ist einen kleinen Trick zu machen: Anstatt Ihre Stimme vom Mikrofon zu spielen, leiten Sie den Audiostream, der von Ihrem Computerplayer abgespielt wird, an den Dienst um.

Dieser Trick wird als Software-Stereo-Mixer bezeichnet (normalerweise zum Aufnehmen von Musik auf einem Computer oder zum Übertragen von Musik von einem Computer ins Internet).

Der Stereo-Mixer war Teil von Windows XP - wurde aber von den Entwicklern aus späteren Versionen dieses Betriebssystems entfernt (sie sagen, um Urheberrechte zu schützen: damit Spieler keine Musik aus Spielen stehlen usw.). Es ist jedoch nicht ungewöhnlich, dass ein Stereomischpult mit Treibern für Audiokarten (z. B. in das Motherboard integrierte Realtec-Karten) geliefert wird. Wenn Sie den Stereomixer anhand der folgenden Screenshots nicht auf Ihrem PC finden können, versuchen Sie, die Audiotreiber von der mit Ihrem Motherboard gelieferten CD oder von der Website des Motherboard-Herstellers neu zu installieren.

Wenn dies nicht hilft, installieren Sie ein alternatives Programm auf Ihrem Computer. Zum Beispiel - kostenloses VB-CABLE Virtual Audio Device : Der Besitzer des oben genannten Speechpad.ru-Dienstes empfiehlt, es zu verwenden.

erster Schritt Sie müssen das Mikrofon für die Verwendung im Aufnahmemodus deaktivieren und stattdessen den Stereomixer (oder das virtuelle VB-CABLE) aktivieren.

Klicken Sie dazu auf das Lautsprechersymbol in der unteren rechten Ecke (neben der Uhr) - oder wählen Sie in der "Systemsteuerung" den Abschnitt "Ton". Klicken Sie im sich öffnenden Fenster auf der Registerkarte "Aufzeichnen" mit der rechten Maustaste und aktivieren Sie die Kontrollkästchen neben den Elementen "Getrennte Geräte anzeigen" und "Getrennte Geräte anzeigen". Klicken Sie mit der rechten Maustaste auf das Mikrofonsymbol und wählen Sie "Stumm" (im Allgemeinen alle mit einem grünen Symbol gekennzeichneten Geräte ausschalten).

Klicken Sie mit der rechten Maustaste auf das Stereo-Mixer-Symbol und wählen Sie „Aktivieren“. Auf dem Symbol erscheint ein grünes Symbol, das anzeigt, dass der Stereomixer zum Standardgerät geworden ist.

Wenn Sie sich für die Verwendung von VB-CABLE entscheiden, aktivieren Sie es auf die gleiche Weise auf der Registerkarte "Aufnahme".

Und auch - auf der Registerkarte "Wiedergabe".

Zweiter Schritt. Schalten Sie die Audioaufnahme in einem beliebigen Player ein (wenn Sie die Audiospur des Videos entschlüsseln müssen, können Sie auch den Videoplayer starten). Laden Sie gleichzeitig den Speechpad.ru-Dienst in den Chrome-Browser und klicken Sie darin auf die Schaltfläche "Aufzeichnung aktivieren". Wenn die Aufnahmequalität hoch genug ist, werden Sie sehen, wie der Dienst vor Ihren Augen Sprache in aussagekräftige und originalgetreue Texte umwandelt. Richtig, ohne Satzzeichen, die Sie selbst arrangieren müssen.

Als Audio-Player rate ich Ihnen, AIMP zu verwenden, auf das im dritten Unterkapitel näher eingegangen wird. Jetzt werde ich nur bemerken, dass Sie mit diesem Player die Aufnahme ohne Sprachverzerrung verlangsamen und einige andere Fehler korrigieren können. Dies kann die Erkennung von nicht sehr hochwertigen Aufnahmen etwas verbessern. (Manchmal empfiehlt es sich sogar, schlechte Aufnahmen in professionellen Tonbearbeitungsprogrammen vorzubearbeiten. Dies ist meiner Meinung nach jedoch für die meisten Benutzer zu mühsam, da sie Text viel schneller von Hand eingeben. :))

2. Halbautomatische Spracherkennung

Hier ist alles einfach. Wenn die Aufnahme von schlechter Qualität ist und die Erkennung „verstopft“ oder der Dienst zu viele Fehler produziert, helfen Sie der Ursache selbst, indem Sie in die Kette „Audioplayer – Sprecher – Erkennungssystem“ „einbetten“.

Ihre Aufgabe ist es, die aufgezeichnete Sprache über Kopfhörer anzuhören und gleichzeitig über das Mikrofon an den Interneterkennungsdienst zu diktieren. (Natürlich müssen Sie nicht wie im vorigen Abschnitt in der Liste der Aufnahmegeräte von Mikrofon auf Stereomischpult oder virtuelles Kabel umschalten). Und alternativ zu den oben genannten Internetdiensten können Sie Smartphone-Applikationen wie das kostenlose Yandex.Dictation oder die Diktierfunktion auf einem iPhone ab iOS 8 nutzen.

Ich stelle fest, dass Sie im halbautomatischen Modus die Möglichkeit haben, Satzzeichen sofort zu diktieren, die Dienste im automatischen Modus noch nicht platzieren können.

Wenn Sie es schaffen, synchron zur Wiedergabe der Aufnahme auf dem Player zu diktieren, dauert die Vortranskription fast so lange wie die Aufnahme selbst (ohne die anschließende Zeit für die Korrektur von Rechtschreib- und Grammatikfehlern). Aber auch das Arbeiten nach dem Schema: „Satz anhören – diktieren – Satz anhören – diktieren“ kann Ihnen gegenüber dem herkömmlichen Tippen eine gute Zeitersparnis bringen.

Als Audioplayer empfehle ich die Verwendung des gleichen AIMP. Erstens können Sie damit die Wiedergabe auf eine Geschwindigkeit verlangsamen, mit der Sie sich beim synchronen Diktieren wohlfühlen. Zweitens kann dieser Player die Aufnahme für eine bestimmte Anzahl von Sekunden zurückgeben: Dies ist manchmal notwendig, um einen unverständlichen Satz besser zu hören.

3. Manuelle Transkription eines Diktiergeräts

Sie können in der Praxis feststellen, dass Sie vom halbautomatischen Diktieren zu schnell müde werden. Oder Sie machen zu viele Fehler beim Service. Oder dank Ihrer Schnellschreibfähigkeiten ist es viel einfacher, vorgefertigten korrigierten Text auf der Tastatur zu erstellen, als das Diktat zu verwenden. Oder Ihr Diktiergerät, das Mikrofon des Stereokopfhörers oder die Audiokarte bieten keine akzeptable Tonqualität für den Dienst. Oder vielleicht haben Sie einfach nicht die Möglichkeit, in Ihrer Arbeit oder im Home Office laut zu diktieren.

In all diesen Fällen hilft Ihnen meine proprietäre manuelle Dekodierungsmethode (hören Sie sich die Aufnahme in AIMP an - geben Sie Word ein). Damit können Sie eine Notiz schneller in Text umwandeln als viele professionelle Journalisten, deren Schreibgeschwindigkeit mit Ihrer vergleichbar ist! Gleichzeitig werden Sie viel weniger Energie und Nerven aufwenden als sie. 🙂

Was ist der Hauptgrund für die Energie- und Zeitverschwendung bei der traditionellen Transkription von Audioaufnahmen? Aufgrund der Tatsache, dass der Benutzer viele unnötige Bewegungen macht.

Der Benutzer streckt seine Hand ständig nach dem Diktiergerät, dann nach der Computertastatur aus. Ich habe die Wiedergabe gestoppt - Ich habe die gehörte Passage in einen Texteditor getippt - Ich habe die Wiedergabe wieder eingeschaltet - Ich habe die unleserliche Aufnahme zurückgespult - usw. usw.

Die Verwendung eines normalen Software-Players auf einem Computer macht den Vorgang etwas einfacher: Der Benutzer muss Word ständig minimieren / erweitern, den Player stoppen / starten und sogar mit dem Schieberegler des Players hin und her kriechen, um ein unlesbares Fragment zu finden, und dann zurückkehren bis zur zuletzt gehörten Stelle in der Aufnahme.

Um diese und andere Zeitverluste zu reduzieren, entwickeln spezialisierte IT-Unternehmen Soft- und Hardware-Transkriptoren. Dies sind ziemlich teure Lösungen für Fachleute - dieselben Journalisten, Gerichtsstenographen, Ermittler usw. Tatsächlich sind für unsere Zwecke jedoch nur zwei Funktionen erforderlich:

  • die Fähigkeit, die Wiedergabe einer Sprachaufnahme zu verlangsamen, ohne sie zu verzerren und den Ton zu senken (viele Player ermöglichen es Ihnen, die Wiedergabegeschwindigkeit zu verlangsamen - aber leider verwandelt sich die menschliche Stimme gleichzeitig in eine monströse Roboterstimme lange schwer zu hören);
  • die Möglichkeit, die Aufzeichnung zu stoppen oder für eine bestimmte Anzahl von Sekunden zurückzusetzen und zurückzugeben, ohne die Eingabe zu stoppen und ohne das Texteditorfenster zu minimieren.

Ich habe in meiner Zeit Dutzende von Audioprogrammen getestet – und nur zwei erschwingliche kostenpflichtige Anwendungen gefunden, die diese Anforderungen erfüllen. Habe einen davon. Ich habe für meine lieben Leser noch ein bisschen gesucht 🙂 - und eine wunderbare kostenlose Lösung gefunden - den AIMP-Player, den ich selbst immer noch benutze.

„Suchen Sie nach Eingabe der AIMP-Einstellungen den Abschnitt Global Keys und konfigurieren Sie Stop/Start neu auf die Escape-Taste (Esc). Glauben Sie mir, das ist am bequemsten, weil Sie nicht darüber nachdenken müssen und Ihr Finger nicht versehentlich auf andere Tasten fällt. Stellen Sie die Elemente „Ein wenig zurück“ und „Ein wenig vorwärts“ auf die Tasten „Strg“ + „Zurück“ bzw. „Vor“ ein (Sie haben vier Pfeiltasten auf Ihrer Tastatur – wählen Sie zwei davon aus). Diese Funktion wird benötigt, um das letzte Fragment noch einmal anzuhören oder ein wenig vorzuspringen.

Anschließend können Sie durch Aufrufen des EQ die Velocity- und Tempo-Werte verringern – und den Pitch-Wert erhöhen. In diesem Fall werden Sie feststellen, dass sich die Wiedergabegeschwindigkeit verlangsamt, aber die Tonhöhe der Stimme (wenn Sie den „Pitch“-Wert gut wählen) sich nicht ändert. Wählen Sie diese beiden Parameter so, dass Sie Zeit zum fast gleichzeitigen Tippen haben und nur gelegentlich anhalten.

Wenn alles eingerichtet ist, nimmt das Tippen weniger Zeit in Anspruch und Ihre Hände ermüden weniger. Sie können die Audioaufnahme ruhig und bequem transkribieren, praktisch ohne die Finger vom Tippen auf der Tastatur zu lösen.“

Ich kann dem Gesagten nur hinzufügen, dass Sie versuchen können, die Wiedergabe zu verbessern, wenn die Aufnahme nicht von sehr hoher Qualität ist, indem Sie mit anderen Einstellungen im Sound Effects Manager von AIMP experimentieren.

Und die Anzahl der Sekunden, für die Sie sich am bequemsten mit Hotkeys durch die Aufnahme vorwärts oder rückwärts bewegen können - legen Sie im Abschnitt "Player" des Fensters "Settings" fest (das durch Drücken der Hotkeys aufgerufen werden kann „Strg + P“).

Ich wünsche Ihnen, dass Sie mehr Zeit für Routineaufgaben sparen – und diese fruchtbar für die wesentlichen Dinge nutzen! 🙂 Und vergessen Sie nicht, das Mikrofon in der Liste der Aufnahmegeräte einzuschalten, wenn Sie über Skype sprechen! 😉

3 Möglichkeiten, eine Sprachaufnahme zu transkribieren: Spracherkennung, Diktat, manueller Modus

Aktualisiert: Montag, 31. Juli 2017

Was hat die halbwegs fantastische Idee, mit einem Computer zu sprechen, mit professioneller Fotografie zu tun? Fast keine, wenn Sie kein Fan der Idee der endlosen Entwicklung des gesamten technischen Umfelds des Menschen sind. Stellen Sie sich für einen Moment vor, Sie geben Ihrer Kamera Sprachbefehle, die Brennweite zu ändern und die Belichtungskorrektur um einen halben Schritt plus zu machen. Die Fernbedienung der Kamera wurde bereits implementiert, aber dort müssen Sie lautlos die Tasten drücken, und hier ist eine Hörfotik!

Es ist zu einer Tradition geworden, einen fantastischen Film als Beispiel für die menschliche Sprachkommunikation mit einem Computer zu zitieren, zumindest „Space Odyssey 2001“ unter der Regie von Stanley Kubrick. Dort führt der Bordcomputer nicht nur einen sinnvollen Dialog mit den Astronauten, sondern kann Lippen lesen wie ein Gehörloser. Mit anderen Worten, die Maschine lernte, menschliche Sprache fehlerfrei zu erkennen. Vielleicht findet jemand die Sprachfernbedienung der Kamera überflüssig, aber viele würden diesen Satz mögen "Nimm uns weg Baby" und fertig ist ein Bild der ganzen Familie vor dem Hintergrund einer Palme.

Nun, hier habe ich der Tradition Tribut gezollt, ein wenig fantasiert. Aber aus tiefstem Herzen gesprochen, war dieser Artikel schwer zu schreiben, und alles begann mit einem Geschenk in Form eines Smartphones mit Android 4 OS. Dieses Modell HUAWEI U8815 verfügt über einen kleinen 4-Zoll-Touchscreen und eine Bildschirmtastatur. Es ist etwas ungewöhnlich, darauf zu tippen, aber es stellte sich heraus, dass es nicht unbedingt notwendig war. (Bild01)

1. Spracherkennung in einem Smartphone unter Android OS

Beim Ausprobieren eines neuen Spielzeugs ist mir eine Mikrofongrafik in der Suchleiste aufgefallen. Google und auf der Tastatur in Notizen. Früher hat mich nicht interessiert, wofür dieses Symbol steht. Ich hatte Gespräche in Skypen und tippte Buchstaben auf der Tastatur. So machen es die meisten Internetnutzer. Aber wie sie mir später erklärten, in einer Suchmaschine Google Eine Sprachsuche auf Russisch wurde hinzugefügt und Programme erschienen, mit denen Sie kurze Nachrichten diktieren können, wenn Sie einen Browser verwenden Chrom.

Ich sagte einen Satz aus drei Wörtern, das Programm identifizierte sie und zeigte sie in einer Zelle mit blauem Hintergrund. Es gab etwas zu überraschen, denn alle Wörter waren richtig geschrieben. Wenn Sie auf diese Zelle klicken, erscheint der Satz im Textfeld des Android-Notizblocks. Also sagte er ein paar Sätze und schickte dem Assistenten eine Nachricht per SMS.


2. Kurze Geschichte der Spracherkennungsprogramme.

Es war für mich keine Entdeckung, dass moderne Errungenschaften im Bereich der Sprachsteuerung es Ihnen ermöglichen, Haushaltsgeräten, einem Auto, einem Roboter Befehle zu erteilen. Der Befehlsmodus wurde in früheren Versionen von Windows, OS/2 und Mac OS eingeführt. Ich habe Talker-Programme gesehen, aber was nützen sie? Vielleicht ist es meine Besonderheit, dass mir das Sprechen leichter fällt als das Tippen auf der Tastatur, und auf dem Handy kann ich überhaupt nichts tippen. Sie müssen Kontakte auf einem Laptop mit einer normalen Tastatur aufnehmen und per USB-Kabel übertragen. Aber einfach ins Mikrofon zu sprechen und der Computer selbst tippt den Text fehlerfrei – das war ein Traum für mich. Die Atmosphäre der Hoffnungslosigkeit wurde durch Diskussionen in den Foren unterstützt. Überall hatten sie so einen traurigen Gedanken:

„In der Praxis gibt es jedoch bis jetzt praktisch keine Programme zur echten Spracherkennung (und sogar auf Russisch), und sie werden offensichtlich nicht bald erstellt. Darüber hinaus wurde sogar die umgekehrte Aufgabe der Erkennung - Sprachsynthese, die anscheinend viel einfacher als die Erkennung ist - nicht vollständig gelöst. (ComputerPress Nr. 12, 2004)

„Normale Spracherkennungsprogramme (nicht nur Russisch) gibt es bis heute nicht, da die Aufgabe für einen Computer ziemlich schwierig ist. Und das Schlimmste ist, dass der Mechanismus der Worterkennung durch eine Person nicht realisiert wurde, sodass beim Erstellen von Erkennungsprogrammen nichts aufgebaut werden kann. (Noch eine Diskussion im Forum).

Gleichzeitig zeigten Reviews englischsprachiger Texteingabeprogramme deutliche Erfolge. Zum Beispiel, IBM ViaVoice 98 Executive Edition hatte ein Basiswörterbuch mit 64.000 Wörtern und die Möglichkeit, die gleiche Anzahl eigener Wörter hinzuzufügen. Der Prozentsatz der Worterkennung ohne Training des Programms lag bei etwa 80 % und bei anschließender Arbeit mit einem bestimmten Benutzer bei 95 %.

Von den Programmen zur Erkennung der russischen Sprache ist "Gorynych" erwähnenswert - eine Ergänzung zum englischsprachigen Dragon Dictate 2.5. Über die Suche und dann den "Kampf mit fünf Gorynychs" werde ich im zweiten Teil der Rezension erzählen. Ich fand den "English Dragon" zuerst.

3. Das Programm zur Erkennung kontinuierlicher Sprache „Dragon Naturally Speaking“

Die moderne Version des Firmenprogramms Nuance Es stellte sich heraus, dass ich bei meinem alten Freund vom Minsker Institut für Fremdsprachen war. Sie brachte es von einer Auslandsreise mit und kaufte es, weil sie dachte, sie könnte eine "Computersekretärin" sein. Aber etwas funktionierte nicht, und das Programm blieb fast vergessen auf dem Laptop. Mangels nachvollziehbarer Erfahrung musste ich selbst zu meinem Freund gehen. All diese lange Einführung ist notwendig, um die von mir gezogenen Schlussfolgerungen richtig zu verstehen.

Der vollständige Name meines ersten Drachens war: . Das Programm ist in Englisch und alles darin ist auch ohne Handbuch verständlich. Der erste Schritt besteht darin, ein Profil eines bestimmten Benutzers zu erstellen, um die Merkmale des Wortklangs in seiner Darbietung zu bestimmen. Was ich getan habe - das Alter des Sprechers, das Land, die Besonderheiten der Aussprache sind wichtig. Meine Wahl ist: Alter 22-54, Englisch UK, Standardaussprache. Als nächstes kommen ein paar Fenster, in denen Sie Ihr Mikrofon einrichten. (Bild04)

Die nächste Stufe in seriösen Spracherkennungsprogrammen ist das Training für die besondere Aussprache einer bestimmten Person. Sie sind eingeladen, die Art des Textes zu wählen: Meine Wahl ist eine kurze Anleitung zum Diktieren, aber Sie können auch eine humorvolle Geschichte „bestellen“.

Das Wesentliche dieser Phase der Arbeit mit dem Programm ist äußerst einfach - der Text wird im Fenster angezeigt, darüber befindet sich ein gelber Pfeil. Bei korrekter Aussprache bewegt sich der Pfeil durch die Phrasen, und unten befindet sich ein Trainingsfortschrittsbalken. Die englische Konversation war bei mir ziemlich vergessen, also bewegte ich mich nur mit Mühe. Auch die Zeit war begrenzt – schließlich gehörte der Computer nicht mir und ich musste das Training unterbrechen. Aber eine Freundin sagte, sie habe den Test in weniger als einer halben Stunde gemacht. (Bild05)

Da ich mich weigerte, das Programm an meine Aussprache anzupassen, ging ich zum Hauptfenster und startete den integrierten Texteditor. Er sprach einzelne Wörter aus einigen Texten, die er auf dem Computer gefunden hatte. Die Wörter, die er richtig sagte, druckte das Programm, die, die er schlecht sagte, ersetzte sie durch etwas „Englisch“. Nachdem der Befehl „Linie löschen“ auf Englisch klar ausgesprochen wurde, erfüllte das Programm ihn. Das bedeutet, dass ich die Befehle richtig lese und das Programm sie ohne vorheriges Training erkennt.

Aber es war mir wichtig, wie dieser "Drache" auf Russisch schreibt. Wie Sie aus der vorherigen Beschreibung verstanden haben, können Sie beim Trainieren des Programms nur englischen Text auswählen, es gibt dort einfach keinen russischen Text. Es ist klar, dass es nicht funktionieren wird, das Erkennen der russischen Sprache zu trainieren. Auf dem nächsten Foto sehen Sie, welchen Satz das Programm beim Aussprechen des russischen Wortes "Hallo" eingegeben hat. (Bild06)

Das Ergebnis der Kommunikation mit dem ersten Drachen erwies sich als etwas komisch. Wenn Sie den Text auf der offiziellen Website sorgfältig lesen, können Sie die englische "Spezialisierung" dieses Softwareprodukts erkennen. Außerdem lesen wir beim Laden im Programmfenster "Englisch". Warum war das alles nötig? Es ist klar, dass Foren und Gerüchte schuld sind ...

Aber es gibt auch eine nützliche Erfahrung. Meine Freundin wollte den Zustand ihres Laptops sehen. Irgendwie langsam fing er an zu arbeiten. Das ist nicht verwunderlich – die Systempartition hatte nur 5 % freien Speicherplatz. Beim Löschen unnötiger Programme habe ich gesehen, dass die offizielle Version mehr als 2,3 GB belegt. Diese Nummer benötigen wir später. (Bild.07)



Wie sich herausstellte, war die Anerkennung der russischen Sprache keine triviale Aufgabe. In Minsk gelang es mir, "Gorynych" von einem Freund zu finden. Er hat lange in seinen alten Trümmern nach der Scheibe gesucht und nach seinen Angaben handelt es sich um eine offizielle Veröffentlichung. Das Programm wurde sofort installiert und ich fand heraus, dass sein Wörterbuch 5000 russische Wörter plus 100 Befehle und 600 englische Wörter plus 31 Befehle enthält.

Zuerst müssen Sie das Mikrofon einrichten, was ich getan habe. Dann öffnete ich das Wörterbuch und fügte das Wort hinzu "Untersuchung" weil es nicht im Wörterbuch des Programms war. Ich versuchte, klar und monoton zu sprechen. Schließlich öffnete ich das Programm Gorynych Pro 3.0, schaltete den Diktiermodus ein und erhielt diese Liste mit „Wörtern, die ähnlich klingen“. (Bild.09)

Das Ergebnis hat mich verwirrt, denn es unterschied sich deutlich von der Arbeit eines Android-Smartphones, und ich beschloss, andere Programme von " Google Chrome Webstore". Und den Umgang mit den „Gorynych-Schlangen“ verschob er auf später. Ich dachte das Verschiebung Action im original russischen Geist

5. Sprachfunktionen von Google

Um mit Sprache auf einem normalen Computer mit dem Betriebssystem Windows zu arbeiten, müssen Sie einen Browser installieren Google Chrome. Wenn Sie darin im Internet arbeiten, können Sie unten rechts auf den Link für den Software Store klicken. Dort habe ich kostenlos zwei Programme und zwei Erweiterungen zur Sprachtexteingabe gefunden. Die Programme werden aufgerufen "Sprachnotizbuch" und "Voysnot - Sprache zu Text". Nach der Installation sind sie auf der Registerkarte zu finden "Bewerbungen" dein Browser "Chrom". (Bild.10)

Die Nebenstellen werden aufgerufen "Hotword für die Google-Sprachsuche (Beta) 0.1.0.5" und "Spracheingabetext - Speechpad.ru 5.4". Nach der Installation können sie auf der Registerkarte deaktiviert oder gelöscht werden "Erweiterungen".(Bild.11)

Sprachnotiz. Doppelklicken Sie auf der Anwendungsregisterkarte im Chrome-Browser auf das Programmsymbol. Ein Dialogfeld wird geöffnet, wie im Bild unten gezeigt. Durch Klicken auf das Mikrofonsymbol sprechen Sie kurze Sätze in das Mikrofon. Das Programm sendet Ihre Worte an den Spracherkennungsserver und gibt den Text in das Fenster ein. Alle in der Abbildung gezeigten Wörter und Sätze wurden beim ersten Versuch getippt. Offensichtlich funktioniert diese Methode nur mit einer aktiven Internetverbindung. (Bild.12)

Voice-Notizblock. Wenn Sie das Programm auf der Registerkarte Anwendungen ausführen, wird eine neue Registerkarte der Internetseite geöffnet Speechpad.ru. Es gibt eine ausführliche Anleitung zur Nutzung dieses Dienstes und ein kompaktes Formular. Letzteres ist in der Abbildung unten dargestellt. (Bild.13)

Spracheingabe text ermöglicht es Ihnen, die Textfelder von Internetseiten mit Ihrer Stimme auszufüllen. Zum Beispiel ging ich auf meine Seite Google+. Klicken Sie im Eingabefeld für neue Nachrichten mit der rechten Maustaste und wählen Sie aus "Speechpad". Das rosafarbene Eingabefeld sagt, dass Sie Ihren Text diktieren können. (Bild.14)

Google Sprachsuche ermöglicht Ihnen die Sprachsuche. Wenn Sie diese Erweiterung installieren und aktivieren, erscheint ein Mikrofonsymbol in der Suchleiste. Wenn Sie darauf drücken, erscheint ein Symbol in einem großen roten Kreis. Sagen Sie einfach den Suchbegriff und er erscheint in den Suchergebnissen. (Bild.15)

Wichtiger Hinweis: Damit das Mikrofon mit Chrome-Erweiterungen funktioniert, müssen Sie den Zugriff auf das Mikrofon in den Browsereinstellungen zulassen. Sie ist aus Sicherheitsgründen standardmäßig deaktiviert. Pass rein Einstellungen→Persönliche Daten→Inhaltseinstellungen. (Um auf alle Einstellungen am Ende der Liste zuzugreifen, klicken Sie auf Erweiterte Einstellungen anzeigen). Ein Dialogfeld wird geöffnet Seiteninhaltseinstellungen. Wählen Sie ein Element in der Liste aus Multimedia→Mikrofon.

6. Ergebnisse der Arbeit mit russischen Spracherkennungsprogrammen

Ein wenig Erfahrung in der Verwendung von Texteingabeprogrammen per Sprache zeigte eine hervorragende Implementierung dieser Funktion auf den Servern eines Internetunternehmens Google. Ohne vorheriges Training werden Wörter richtig erkannt. Dies deutet darauf hin, dass das Problem der russischen Spracherkennung gelöst wurde.

Jetzt können wir sagen, dass das Ergebnis der Entwicklung Google wird ein neues Kriterium für die Bewertung von Produkten anderer Hersteller sein. Ich möchte, dass das Erkennungssystem offline funktioniert, ohne die Server des Unternehmens zu kontaktieren - es ist bequemer und schneller. Es ist jedoch nicht bekannt, wann ein unabhängiges Programm für die Arbeit mit einem kontinuierlichen Strom russischer Sprache veröffentlicht wird. Es ist jedoch davon auszugehen, dass mit der Möglichkeit, diese "Kreation" zu trainieren, ein echter Durchbruch erzielt wird.

Programme russischer Entwickler "Gorynych", "Diktograph" und "Kampf" Ich werde im zweiten Teil dieser Rezension ausführlich darauf eingehen. Dieser Artikel wurde sehr langsam geschrieben, da die Suche nach Original-Discs jetzt schwierig ist. Im Moment habe ich bereits alle Versionen der russischen Voice-to-Text-Erkennungssoftware, außer Combat 2.52. Keiner meiner Freunde oder Kollegen hat dieses Programm, und ich selbst habe nur wenige lobende Kritiken in den Foren. Es stimmt, es gab so eine seltsame Option - lade "Combat" per SMS herunter, aber ich mag es nicht. (Bild 16)


Ein kurzer Videoclip zeigt Ihnen, wie die Spracherkennung in einem Smartphone mit Android OS funktioniert. Ein Merkmal der Sprachanwahl ist die Notwendigkeit, eine Verbindung zu Google-Servern herzustellen. Somit sollte das Internet für Sie funktionieren

) an einem echten Hallo-Welt-Beispiel für die Steuerung von Haushaltsgeräten.
Warum Haushaltsgeräte? Ja, denn dank eines solchen Beispiels kann man das nachvollziehen Geschwindigkeit und Genauigkeit, was durch Verwendung erreicht werden kann komplett lokal Spracherkennung ohne Typserver Google ASR oder Yandex SpeechKit.
Ich füge dem Artikel auch alle Quellcodes des Programms und die Assembly selbst für Android bei.

Warum so plötzlich?

Kürzlich darüber gestolpert, fragte ich den Autor, warum er die serverseitige Spracherkennung für sein Programm verwenden wolle (das war meiner Meinung nach überflüssig und führte zu einigen Problemen). Darauf erhielt ich eine Gegenfrage, ob ich die Verwendung alternativer Methoden für Projekte, bei denen keine Notwendigkeit besteht, etwas zu erkennen, und das Wörterbuch aus einer endlichen Menge von Wörtern besteht, näher beschreiben könnte. Außerdem mit einem praktischen Anwendungsbeispiel ...

Warum brauchen wir neben Yandex und Google noch etwas anderes?

Als eben diese „praktische Anwendung“ habe ich das Thema gewählt Smart-Home-Sprachsteuerung.
Warum so ein Beispiel? Denn darauf sieht man die wenigen Vorteile einer komplett lokalen Spracherkennung gegenüber einer Erkennung mit Cloud-Lösungen. Nämlich:
  • Geschwindigkeit- wir sind nicht abhängig von Servern und somit nicht von deren Verfügbarkeit, Bandbreite etc. Faktoren
  • Genauigkeit- Unsere Engine arbeitet nur mit dem Wörterbuch, an dem unsere Anwendung interessiert ist, wodurch die Erkennungsqualität erhöht wird
  • Preis- wir müssen nicht für jede Anfrage an den Server bezahlen
  • Sprachaktivierung- als zusätzlichen Bonus zu den ersten Punkten - können wir ständig "in die Luft lauschen", ohne unseren Traffic zu verschwenden und ohne den Server zu belasten

Notiz

Ich werde sofort reservieren, dass diese Vorteile als Vorteile angesehen werden können nur für eine bestimmte Klasse von Projekten, Wo sind wir wir wissen es genau, mit welchem ​​Wörterbuch und mit welcher Grammatik der Benutzer arbeiten wird. Das heißt, wenn wir keinen beliebigen Text erkennen müssen (z. B. eine SMS-Nachricht oder eine Suchanfrage). Ansonsten ist eine Cloud-Erkennung unabdingbar.

So kann Android Sprache ohne Internet erkennen!
Ja, ja ... Nur bei JellyBean. Und das erst ab einem halben Meter, mehr nicht. Und diese Erkennung ist das gleiche Diktat, nur mit einem viel kleineren Modell. Wir können es also auch nicht verwalten und konfigurieren. Und was sie uns das nächste Mal zurückgeben wird, ist unbekannt. Obwohl für SMS-ok genau richtig!

Was machen wir?

Wir werden eine Sprachfernbedienung für Haushaltsgeräte implementieren, die präzise und schnell funktioniert, aus wenigen Metern Entfernung und sogar auf billigem Bremsschrott auf sehr günstigen Android-Smartphones, -Tablets und -Uhren.
Die Logik wird einfach, aber sehr praktisch sein. Wir aktivieren das Mikrofon und sagen einen oder mehrere Gerätenamen. Die Anwendung erkennt sie und schaltet sie je nach aktuellem Zustand ein oder aus. Entweder erhält er von ihnen einen Zustand und spricht ihn mit angenehmer Frauenstimme aus. Zum Beispiel die aktuelle Temperatur im Raum.

Viele praktische Anwendungen

Morgens schlugen sie, ohne die Augen zu öffnen, den Smartphone-Bildschirm auf den Nachttisch und befahlen „Guten Morgen!“. - Das Drehbuch startet, die Kaffeemaschine schaltet sich ein und brummt, angenehme Musik ist zu hören, die Vorhänge bewegen sich auseinander.
Hängen Sie ein billiges (2 Tausend, nicht mehr) Smartphone in jedem Zimmer an die Wand. Wir gehen nach der Arbeit nach Hause und kommandieren ins Leere „Smart Home! Licht, Fernseher! - Was als nächstes passiert, denke ich, ist es nicht nötig zu sagen.

Transkriptionen



Grammatik beschreibt was was der Benutzer sagen kann. Damit Pocketsphinx es weiß wie Er wird es aussprechen, es ist notwendig, für jedes Wort aus der Grammatik zu schreiben, wie es in dem entsprechenden Sprachmodell klingt. Also Transkription jedes Wort. Das heißt Wörterbuch.

Transkriptionen werden mit einer speziellen Syntax beschrieben. Zum Beispiel:
smart uu m n ay j house d oo m

Im Prinzip nichts Kompliziertes. Der Doppelvokal in der Transkription bezeichnet Stress. Ein Doppelkonsonant ist ein weicher Konsonant gefolgt von einem Vokal. Alle möglichen Kombinationen für alle Laute der russischen Sprache.

Es ist klar, dass wir nicht alle Transkriptionen in unserer Anwendung im Voraus beschreiben können, da wir die Namen, die der Benutzer seinen Geräten geben wird, nicht im Voraus kennen. Daher werden wir solche Transkriptionen nach einigen Regeln der russischen Phonetik im Handumdrehen erstellen. Dazu können Sie eine solche PhonMapper-Klasse implementieren, die einen String als Eingabe erhalten und die korrekte Transkription dafür erzeugen kann.

Sprachaktivierung

Dies ist die Fähigkeit der Spracherkennungs-Engine, die ganze Zeit „auf die Luft zu hören“, um auf einen vordefinierten Satz (oder Sätze) zu reagieren. Alle anderen Geräusche und Sprache werden verworfen. Es ist nicht dasselbe wie Grammatik zu beschreiben und einfach das Mikrofon einzuschalten. Ich werde hier nicht die Theorie dieser Aufgabe und die Mechanik, wie sie funktioniert, wiedergeben. Lassen Sie mich nur sagen, dass die Programmierer, die an Pocketsphinx arbeiten, kürzlich eine solche Funktion implementiert haben, und jetzt ist sie sofort in der API verfügbar.

Eines ist auf jeden Fall erwähnenswert. Für die Aktivierungsphrase müssen Sie nicht nur die Transkription angeben, sondern auch die passende auswählen Empfindlichkeitsschwellenwert. Ein zu kleiner Wert führt zu vielen Fehlalarmen (in diesem Fall haben Sie den Aktivierungssatz nicht gesagt, aber das System erkennt ihn). Und zu hoch - zur Immunität. Daher ist diese Einstellung von besonderer Bedeutung. Ungefährer Wertebereich - von 1e-1 bis 1e-40 je nach Aktivierungsphrase.

Näherungsaktivierung

Diese Aufgabe ist spezifisch für unser Projekt und hat keinen direkten Bezug zur Anerkennung. Der Code ist direkt in der Hauptaktivität zu sehen.
Sie realisiert SensorEventListener und im Moment der Annäherung (der Sensorwert ist kleiner als der Maximalwert) startet er den Timer und prüft nach einer gewissen Verzögerung, ob der Sensor noch blockiert ist. Dies geschieht, um Fehlalarme zu vermeiden.
Wenn der Sensor nicht wieder blockiert wird, stoppen wir die Erkennung und erhalten das Ergebnis (siehe Beschreibung unten).

Wir beginnen mit der Anerkennung

Pocketsphinx bietet eine praktische API zum Konfigurieren und Ausführen des Erkennungsprozesses. Das sind die Klassen SpechRecognizer und SpeechRecognizerSetup.
So sieht die Konfiguration und der Start der Erkennung aus:

PhonMapper phonMapper = new PhonMapper(getAssets().open("dict/ru/hotwords")); Grammatik grammatik = neue Grammatik(namen, phonMapper); grammatik.addWords(Hotword); DataFiles dataFiles = new DataFiles(getPackageName(), "ru"); Datei hmmDir = new File(dataFiles.getHmm()); Datei dict = neue Datei (dataFiles.getDict()); Datei jsgf = neue Datei (dataFiles.getJsgf()); copyAssets(hmmDir); saveFile(jsgf, grammatik.getJsgf()); saveFile(dict, grammatik.getDict()); mRecognizer = SpeechRecognizerSetup.defaultSetup() .setAcousticModel(hmmDir) .setDictionary(dict) .setBoolean("-remove_noise", false) .setKeywordThreshold(1e-7f) .getRecognizer(); mRecognizer.addKeyphraseSearch(KWS_SEARCH, Hotword); mRecognizer.addGrammarSearch (COMMAND_SEARCH, jsgf);

Hier kopieren wir zunächst alle notwendigen Dateien auf die Festplatte (Pocketpshinx benötigt ein akustisches Modell, Grammatik- und Transkriptionswörterbuch auf der Festplatte). Dann wird die Erkennungsmaschine selbst konfiguriert. Die Pfade zu den Modell- und Wörterbuchdateien sowie einige Parameter (Sensitivitätsschwelle für die Aktivierungsphrase) werden angegeben. Als nächstes wird der Pfad zur Grammatikdatei sowie der Aktivierungssatz konfiguriert.

Wie Sie diesem Code entnehmen können, ist eine Engine sowohl für die Grammatik- als auch für die Erkennung von Aktivierungsphrasen gleichzeitig konfiguriert. Warum wird das gemacht? Damit wir schnell zwischen dem wechseln können, was wir gerade erkennen müssen. So sieht der Start des Erkennungsprozesses der Aktivierungsphrase aus:

MRecognizer.startListening(KWS_SEARCH);
Und so - Spracherkennung nach einer bestimmten Grammatik:

MRecognizer.startListening (COMMAND_SEARCH, 3000);
Das zweite Argument (optional) ist die Anzahl der Millisekunden, nach der die Erkennung automatisch beendet wird, wenn niemand etwas sagt.
Wie Sie sehen können, können Sie beide Probleme mit nur einer Engine lösen.

So erhalten Sie ein Erkennungsergebnis

Um das Erkennungsergebnis zu erhalten, müssen Sie auch einen Ereignis-Listener angeben, der die Schnittstelle implementiert RecognitionListener.
Es hat mehrere Methoden, die von pocketphinx aufgerufen werden, wenn eines der Ereignisse eintritt:
  • onBeginningOfSpeech- Der Motor hat ein Geräusch gehört, vielleicht ist es eine Rede (oder vielleicht auch nicht)
  • onEndOfSpeech- Ton beendet
  • onPartialResult- Zwischenerkennungsergebnisse vorliegen. Für eine Aktivierungsphrase bedeutet dies, dass es funktioniert hat. Streit Hypothese
  • onErgebnis- Endergebnis der Anerkennung. Diese Methode wird aufgerufen, nachdem die Methode aufgerufen wurde Pause bei SpeechRecognizer. Streit Hypothese enthält Erkennungsdaten (String und Score)

Indem Sie die Methoden onPartialResult und onResult auf die eine oder andere Weise implementieren, können Sie die Erkennungslogik ändern und das Endergebnis erhalten. So wird es für unsere Anwendung gemacht:

@Override public void onEndOfSpeech() ( Log.d(TAG, "onEndOfSpeech"); if (mRecognizer.getSearchName().equals(COMMAND_SEARCH)) ( mRecognizer.stop(); ) ) @Override public void onPartialResult(Hypothesenhypothese) ( if (hypothesis == null) return; String text = hypothesis.getHypstr(); if (KWS_SEARCH.equals(mRecognizer.getSearchName())) ( startRecognition(); ) else ( Log.d(TAG, text); ) ) @Override public void onResult(Hypothesis hypothesis) (mMicView.setBackgroundResource(R.drawable.background_big_mic); mHandler.removeCallbacks(mStopRecognitionCallback); String text = hypothesis != null ? hypothesis.getHypstr() : null; Log.d(TAG , "onResult " + text); if (COMMAND_SEARCH.equals(mRecognizer.getSearchName())) ( if (text != null) ( Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); process(text ); ) mRecognizer.startListening(KWS_SEARCH); ) )

Wenn wir das Ereignis onEndOfSpeech erhalten und gleichzeitig einen auszuführenden Befehl erkennen, müssen wir die Erkennung stoppen, woraufhin onResult sofort aufgerufen wird.
In onResult müssen Sie überprüfen, was gerade erkannt wurde. Wenn dies ein Befehl ist, müssen Sie ihn zur Ausführung ausführen und die Engine umschalten, um den Aktivierungssatz zu erkennen.
Bei onPartialResult interessiert uns nur die Erkennung der Aktivierungsphrase. Wenn wir es erkennen, starten wir sofort den Prozess der Erkennung des Befehls. So sieht es aus:

Privat synchronisiert void startRecognition() ( if (mRecognizer == null || COMMAND_SEARCH.equals(mRecognizer.getSearchName())) return; mRecognizer.cancel(); new ToneGenerator(AudioManager.STREAM_MUSIC, ToneGenerator.MAX_VOLUME).startTone(ToneGenerator. TONE_CDMA_PIP, 200); post(400, new Runnable() ( @Override public void run() ( mMicView.setBackgroundResource(R.drawable.background_big_mic_green); mRecognizer.startListening(COMMAND_SEARCH, 3000); Log.d(TAG, "Listen Befehle"); post(4000, mStopRecognitionCallback); ) )); )
Hier spielen wir zunächst ein kleines Signal, um dem Benutzer mitzuteilen, dass wir ihn gehört haben und bereit für sein Kommando sind. Während dieser Zeit muss das Mikrofon ausgeschaltet sein. Daher starten wir die Erkennung nach einem kleinen Timeout (etwas länger als die Dauer des Signals, um sein Echo nicht zu hören). Es startet auch einen Thread, der die Erkennung erzwingt, zu stoppen, wenn der Benutzer zu lange spricht. In diesem Fall sind es 3 Sekunden.

So wandeln Sie eine erkannte Zeichenfolge in Befehle um

Nun, alles ist bereits spezifisch für eine bestimmte Anwendung. Beim nackten Beispiel ziehen wir einfach die Gerätenamen aus der Zeile, suchen das gewünschte Gerät und ändern entweder seinen Zustand per HTTP-Request an den Smart Home Controller oder melden seinen aktuellen Zustand (wie im Fall von ein Raumthermostat). Diese Logik ist in der Controller-Klasse zu sehen.

Wie man Sprache synthetisiert

Sprachsynthese ist die umgekehrte Operation der Erkennung. Hier hingegen müssen Sie eine Textzeile in Sprache umwandeln, damit der Benutzer sie hören kann.
Im Fall des Thermostats müssen wir unser Android-Gerät dazu bringen, die aktuelle Temperatur zu sagen. Verwenden der API Text zu Sprache das ist ganz einfach (danke an Google für die schöne weibliche TTS für die russische Sprache):

Private void speak(String text) (synced (mSpeechQueue) ( ​​mRecognizer.stop(); mSpeechQueue.add(text); HashMap params = neue HashMap (2); params.put (TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, UUID.randomUUID().toString()); params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_MUSIC)); params.put (TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS, "true"); mTextToSpeech.speak (Text, TextToSpeech.QUEUE_ADD, Parameter); ) )

Ich werde wahrscheinlich sagen, es ist banal, aber Vor dem Synthesevorgang muss die Erkennung deaktiviert werden. Auf einigen Geräten (z. B. allen Samsungs) ist es im Allgemeinen unmöglich, in ein Mikrofon zu hören und gleichzeitig etwas zu synthetisieren.
Das Ende der Sprachsynthese (d. h. das Ende des Prozesses des Sprechens des Textes durch den Synthesizer) kann im Listener verfolgt werden:

Private final TextToSpeech.OnUtteranceCompletedListener mUtteranceCompletedListener = new TextToSpeech.OnUtteranceCompletedListener() ( @Override public void onUtteranceCompleted(String utteranceId) ( synchronisiert (mSpeechQueue) ( ​​​​mSpeechQueue.poll(); if (mSpeechQueue.isEmpty()) ( mRecognizer.startListening( KWS_SEARCH) ; ) ) ) );

Darin prüfen wir einfach, ob sich noch etwas anderes in der Synthesewarteschlange befindet, und schalten die Erkennung von Aktivierungsphrasen ein, wenn nichts anderes vorhanden ist.

Und das ist alles?

Ja! Wie Sie sehen können, ist es dank so wunderbarer Projekte wie Pocketsphinx nicht schwierig, Sprache direkt auf dem Gerät schnell und genau zu erkennen. Es bietet eine sehr praktische API, mit der Probleme im Zusammenhang mit der Sprachbefehlserkennung gelöst werden können.

In diesem Beispiel haben wir die Erkennung an eine völlig korrekte Aufgabe geschraubt - Sprachsteuerung von Smart-Home-Geräten. Durch die lokale Erkennung haben wir eine sehr hohe Geschwindigkeit erreicht und Fehler minimiert.
Es ist klar, dass derselbe Code für andere sprachbezogene Aufgaben verwendet werden kann. Es muss kein Smart Home sein. Tags hinzufügen