Ich habe versucht, das Offline-Spracherkennungssystem Julius mit Python in der virtuellen Docker-Umgebung auszuführen

Ich werde meinen ersten Artikel veröffentlichen.

Julius

Julius ist ein Spracherkennungssystem, das von der Universität Kyoto entwickelt wurde. Obwohl seine Genauigkeit schlecht ist, hat es den Vorteil, dass es kostenlos ist und offline betrieben werden kann.

Im aktuellen Artikel war ich verärgert, weil ich es nicht tun konnte, ohne Socket-Kommunikation zu verwenden, um Julius mit Python zu analysieren. Deshalb habe ich den Befehl gedrückt, Julius direkt aus Python zu verschieben, und den Code, um das Ergebnis zu analysieren Ich habe es als Klasse zusammengefasst.

Unterhalb des Github-Quellcodes https://github.com/rirma/JuliusVoiceAnalyzer.git

Bitte beachten Sie, dass auch unnötige Bibliotheken installiert werden. Wenn Sie es nicht benötigen, löschen Sie die pip3-Installation unten.

Flow um Julius zu bewegen

① Erstellen Sie einen Docker-Container, indem Sie im heruntergeladenen Ordner den folgenden Befehl ausführen.

$ docker-compose up -d --build

② Geben Sie den erstellten Container ein.

$ docker-compose exec python bash

③ Wechseln Sie in den Ordner, in dem sich VoiceAnalyzer.py befindet, und führen Sie das Programm aus.

# cd opt/public/src
# python3 VoiceAnalyzer.py

④ Wenn Sie etwas sagen und das folgende Ausführungsergebnis erhalten, sind Sie erfolgreich.

start record
Saved.
20201005220733.wav
enter filename->...........................................................................................................................................................................................................enter filename->1 files processed
Guten Morgen.

Programm zur Sprachanalyse

In VoiceAnalyzer.py ist eine Klasse definiert, um die Sprachanalyse mit Julius zu erleichtern.

Initialisieren

def __init__(self, chunk = 1024, format = pyaudio.paInt16, channels = 1, rate = 44100, record_seconds = 2, threshold = 0.1)

Parameter, die nach Bedarf geändert werden müssen

Chunk: Audiodatei Chunk Kanäle: Audiodateikanäle Rate: Abtastrate record_seconds: Länge der Aufnahme (Sekunden) Schwelle: Die Lautstärke des Tons zum Starten der Aufnahme (0 bis 1), um zu verhindern, dass die Aufnahme aufgrund von Rauschen gestartet wird

Starte die Aufnahme

def start_record(self, dir_name = '../sound/')

dir_name: Verzeichnisname, in dem die Audiodatei gespeichert wird Rückgabewert: Gespeicherter Dateiname (Verzeichnisname weggelassen)

Sprachanalyse

def analyze_voice(self, file_path)

Dateipfad: Zu analysierende Datei (z. B. '../ sound / 20201005220733.wav') Rückgabewert: Ergebniszeichenfolge für die Spracherkennung der Datei

Schließlich

Julius ist nicht sehr genau, aber ich denke, es ist nützlich, wenn Sie Ihren eigenen Startup-Sound wie "Hey Siri" erstellen möchten. Ich sprach die Startgeräusche aus, die Julius viele Male erkennen sollte, und absorbierte den Fehler, indem ich sie auflistete. Wir hoffen, Sie finden es nützlich für interaktive Apps.

Recommended Posts

Ich habe versucht, das Offline-Spracherkennungssystem Julius mit Python in der virtuellen Docker-Umgebung auszuführen
Ich habe Umgebungsvariablen in Docker festgelegt und in Python angezeigt.
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Ich habe die Bewegung Python3 ausprobiert, die die Richtung im Koordinatensystem ändert
Mit Docker durchgeführte Umgebungswartung (Ich möchte GrADS in Python nachbearbeiten
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe die Methode der kleinsten Quadrate in Python ausprobiert
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Installieren Sie das Python-Paket in einer Offline-Umgebung
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Ich habe versucht, mit Python Faiss zu laufen, Go, Rust
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Ich habe versucht, Deep Floor Plan mit Python 3.6.10 auszuführen.
Ich habe Pygame mit Python 3.5.1 in der Umgebung von pyenv unter OS X installiert
Als ich versuchte, mit Python eine virtuelle Umgebung zu erstellen, funktionierte dies nicht
Spracherkennung mit Python
virtuelle Umgebung in Python
Virtuelle Umgebung mit Python 3.6
Aufbau einer virtuellen Umgebung mit Docker + Flask (Python) + Jupyter-Notebook
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Um Japanisch mit Python in der Docker-Umgebung verwenden zu können
Ich habe versucht, TradeWave zu verwenden (BitCoin-Systemhandel in Python)
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, TensorFlow in der AWS Lambda-Umgebung auszuführen: Vorbereitung
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen
[New Corona] Ist der nächste Höhepunkt im Dezember? Ich habe die Trendanalyse mit Python versucht!
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
Ich habe den Super-Resolution-Algorithmus "PULSE" in einer Windows-Umgebung ausprobiert
Ich habe versucht, das Problem von F02 zu lösen, wie man mit Python offline in Echtzeit schreibt
Ich habe versucht, Movidius NCS mit Python von Raspberry Pi3 auszuführen
Ich habe die Strategie des Aktiensystemhandels mit Python evaluiert.
Reflektieren Sie die von Miniconda erstellte virtuelle Umgebung im Jupyter-Notizbuch
Bereiten Sie die Python3-Umgebung mit Docker vor
Ich habe versucht, das Gesicht aus dem Video zu erkennen (OpenCV: Python-Version)
Ich habe versucht, den Chi-Quadrat-Test in Python und Java zu programmieren.
Führen Sie die Python-Datei aus, nachdem Sie die virtuelle Python-Umgebung mit der Batch-Datei aktiviert haben
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Ich habe auch versucht, die Funktionsmonade und die Zustandsmonade mit dem Generator in Python nachzuahmen
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".
Ist die Umgebung ohne Server mehr als 600 Mal langsamer? ~ Ich habe Benchmarking mit Go, Node.js und Python versucht! ~
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
Ich habe versucht, den Datenverkehr mit WebSocket in Echtzeit zu beschreiben
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
Ich habe versucht, das Python Package Repository (Warehouse) auszuführen, das PyPI unterstützt
[In der Abbildung verstanden] Verwaltung der virtuellen Python-Umgebung durch Pipenv
[Systemhandel] Ich habe versucht, mit dem zerlegten stochastischen Oszillator mit Python ♬ zu spielen
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten