Juliusの認識結果をpythonで受信する

・Juliusサーバの起動

.\bin\windows\julius.exe -C main.jconf -C am-dnn.jconf -dnnconf julius.dnnconf -module

 

Pythonクライアントコード

import socket

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect(('127.0.0.1', 10500))

while True:
# 音声認識結果の終わりまでデータ(XML形式)を受信して溜めておく
data = ""
while data.find("</RECOGOUT>\n.") == -1:
soc = s.recv(1024)
data = data + soc.decode('utf-8')

# データから単語部分のみを抜き出して連結
recog_text = ""
for line in data.split('\n'):
idx = line.find('WORD="')
if idx != -1:
start_idx = idx + 6
end_idx = line.find('"', start_idx)
recog_text += line[start_idx:end_idx]

print("認識結果: " + recog_text)

 

参考ページ

techacademy.jp