Ich werde meinen ersten Artikel veröffentlichen.
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.
① 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.
In VoiceAnalyzer.py ist eine Klasse definiert, um die Sprachanalyse mit Julius zu erleichtern.
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
def start_record(self, dir_name = '../sound/')
dir_name: Verzeichnisname, in dem die Audiodatei gespeichert wird Rückgabewert: Gespeicherter Dateiname (Verzeichnisname weggelassen)
def analyze_voice(self, file_path)
Dateipfad: Zu analysierende Datei (z. B. '../ sound / 20201005220733.wav') Rückgabewert: Ergebniszeichenfolge für die Spracherkennung der Datei
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