Pocketsphinx ist ein Modul, das die englische Spracherkennung offline ermöglicht. Klicken Sie hier, um zu erfahren, wie Pocketsphinx installiert und verwendet wird Die Umgebungskonstruktion wird auch auf dieser Seite bestätigt, daher ist es in Ordnung, sie zu überspringen (?)
ubuntu 18.04 python3
Ich habe eine Probe in Git zusammengestellt, also klonen Sie sie bitte und verwenden Sie sie. "https://github.com/hir-osechi/pocketsphinx_sample"
python
git clone https://github.com/hir-osechi/pocketsphinx_sample.git
Dieser enthält den Code, der Pocketshinx und Svoxpico verwendet Wenn diese nicht installiert sind, gehen Sie wie folgt vor:
python
cd pocketsphinx_sample/
sh setup.sh
Wenn Sie an der Verwendung von svoxpico interessiert sind
Pocketshinx, für das nichts festgelegt werden muss, kann mit dem folgenden Code implementiert werden.
pocket_test.py
from pocketsphinx import LiveSpeech
for phrase in LiveSpeech():
print(phrase)
Von hier aus können Sie Optionen in den LiveSpeech () - Klammern hinzufügen. Wenn Sie Ihr eigenes Wörterbuch verwenden
lm = False dic = Pfad (.dict-Datei) des erstellten Originalwörterbuchs jsgf = Pfad (.gram-Datei) des erstellten Originalwörterbuchs
Hinzufügen.
Pocketsphinx hat ein Wortwörterbuch namens ".dict", das Zehntausende von Wörtern und deren Äußerungen enthält.
Beispiel weather W EH DH ER were W ER what W AH T what(2) HH W AH T where W EH R where(2) HH W EH R
Alle Wörter werden in der Diktatdatei mit dem folgenden Pfad gespeichert. /usr/local/share/pocketsphinx/model/en-us/cmudict-en-us.dict
Standardmäßig wird in diesen Zehntausenden von Wörterbüchern nach erkannten Wörtern gesucht Wenn Sie die Anzahl der Wörter eingrenzen, verbessert sich die Erkennungsgenauigkeit.
In der Grammdatei können Sie die Grammatik oder Grammatik angeben. Wenn Sie beispielsweise die folgende Grammdatei erstellen,
What food do you like ? Where do you live in ?
Nur die beiden Sätze von werden erkannt.
#JSGF V1.0;
grammar test;
public <rule> = <command>;
<command> = what food do you like | where do you live in;
Übrigens ist es mühsam, jedes Mal Diktat- und Grammdateien von Hand zu erstellen. Ich habe einen Code erstellt, der durch Eingabe von Sätzen automatisch eine Diktat- und Grammdatei erstellt. Es ist auf Git.
cd pocketsphinx_sample/tools
python3 gram_maker_by_input.py
Bitte geben Sie wie folgt ein.
Geben Sie den Namen des Wörterbuchs ein, das Sie erstellen möchten:test
Bitte geben Sie den Text ein+ Enter
(Strg zum Beenden-C)
===============================================================
do you like apple
i want to play tennis
please tell me the way to the kyoto station
let me know what i can do for you
Jetzt können Sie eine Spracherkennung durchführen, die nur auf 4 Sätze reagiert. Wenn dies jedoch unverändert bleibt, kann einem dieser vier Elemente sogar eine geringe Menge an Rauschen zugewiesen werden. Fügen Sie also Rauschen hinzu.
cd pocketsphinx_sample/tools
python3 gram_noise_changer.py
Bitte geben Sie wie folgt ein.
Geben Sie den Namen des Wörterbuchs ein, für das Sie das Rauschen ändern möchten:test
Bitte geben Sie den txt-Dateinamen des Rauschfelds 1 ein, das Sie ändern möchten(.txt nicht enthalten):noise_sample
===============================================================
Ändern Sie das Rauschen in diesem Wörterbuch.
===============================================================
Ende der Änderung
===============================================================
Wenn Sie neugierig sind, was Sie tun, schauen Sie sich test.gram an. (Lärm enthält Wörter, die leicht zu erkennen waren, wenn Sie nichts getan haben. Spielen Sie einfach mit ihnen herum.)
Damit ist die Vorbereitung abgeschlossen!
Wenn Sie bestätigen können, dass nur der zuvor angegebene Satz vom folgenden Befehl erkannt wird, ist er erfolgreich.
cd pocketsphinx_sample/
python3 dic_test.py
Als Beispiel für die Verwendung haben wir ein Programm erstellt, mit dem Sie Fragen stellen und beantworten können. Der Fragentext und die Antwort werden durch "," getrennt und sind in bagsphinx_sample / dictionary / QandA / QandA.txt enthalten.
Führen Sie gram_maker_from_txt.py aus, um aus QandA.txt ein eigenes Wörterbuch zu erstellen.
cd pocketsphinx_sample/tools
python3 gram_maker_from_txt.py
Bitte geben Sie wie folgt ein.
Geben Sie den Namen des Wörterbuchs ein, das Sie erstellen möchten:QA_sample
Geben Sie den txt-Dateinamen ein, den Sie als Wörterbuch verwenden möchten(.txt nicht enthalten):QandA
Bitte geben Sie den txt-Dateinamen der Rauschspalte 1 ein, die Sie hinzufügen möchten(.txt nicht enthalten):noise_sample
Ende des Wörterbuchs
In diesem Fall sollten Sie in der Lage sein, eine Frage-Antwort-Sitzung zu implementieren.
cd pocketsphinx_sample/
python3 QA_test.py
Ausführungsergebnis ↓
[*] START RECOGNITION
----------------------------------
are you happy ?
[*] SPEAK : yes
----------------------------------
[*] START RECOGNITION
----------------------------------
what food do you like ?
[*] SPEAK : I like apples.
----------------------------------
Bei der Verbesserung der Erkennungsgenauigkeit sollte das Rauschen genau angegeben werden. Zum Beispiel, wenn "welches Essen Sie mögen" leicht falsch erkannt wird,
what what food what food do what food do you
Durch Addieren zu Noise_sample.txt können Sie die Ausgabe verhindern, sofern keine genaue Übereinstimmung vorliegt.
Offizielle Probe von Pocketsphinx "https://pypi.org/project/pocketsphinx/"
Recommended Posts