Node-RED에서 Julius를 사용하여 음성 인식
4434 단어 ubuntu16.04node-red음성 인식Julius
개요
Julius은 교토 대학과 IPA가 개발한 음성 인식 엔진입니다. 여기에서는 Node.js상에서 움직이는 API나 IoT 제휴 등 실시하는 툴의 Node-RED에 Julius를 짜넣어 사용하는 순서를 소개하고 있습니다.
중요한 Julius는, 쉘 스크립트에 정리해 버려 아래의 순서로, exec 노드등을 사용해 처리해 갑니다.
1. 마이크로 녹음
2. 쉘 스크립트에 녹음 결과를 전달하고 인식 결과를 로그 파일에 출력
3. 로그 파일의 출력 결과를 debug 노드로 표시
Node-RED 설치
로컬 PC에 Linux를 넣습니다. 이번에는 우분투 16.04를 사용했습니다. 외형이 Windows와 같은 환경에서 작업하고 싶다면 Ubuntu 기반의 Zorin OS Lite를 사용하는 것이 좋습니다. 매우 똑같습니다.
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ sudo npm install -g --unsafe-perm node-red
PCを再起動
$ node-red &
node-red をバックグラウンド起動。その後Enterキーを押す。
http://localhost:1880 에 액세스하여 Node-RED 편집기를 사용 가능한 사용자 설정과 같은 Node-RED 초기화를 수행합니다.
우분투를 사용하여 Julius 설치
아직 정리하지 않으면 안됩니다만, 일단 움직인다고 하는 것으로 자쿠트.
/home/username 다음에서 실시하고 있습니다.
여기서는/home/user1 이라고 합시다. 사용 환경에 따라 다시 작성하십시오.
다음 명령을 모두 실행하면 Julius가/home/user1/recognition/julius에 설치됩니다. 여기서는 우분투를 사용하기 때문에 ./configure시 mictype을 alsa로 지정해야합니다. (Zorin 등 Ubuntu 기반 OS의 경우도 마찬가지로 필요합니다.)
$ sudo apt-get install libasound2-dev libesd0-dev libsndfile1-dev
$ mkdir recognition
$ cd recognition/
$ wget https://github.com/julius-speech/julius/archive/v4.4.2.1.tar.gz
$ tar zxvf v4.4.2.1.tar.gz
$ mv julius-4.4.2.1 julius
$ cd julius/
$ wget https://github.com/julius-speech/dictation-kit/archive/dictation-kit-v4.3.1.tar.gz
$ tar zxvf dictation-kit-v4.3.1.tar.gz
$ mv dictation-kit-dictation-kit-v4.3.1 julius-kits
$ rm dictation-kit-v4.3.1.tar.gz
$ wget https://github.com/julius-speech/grammar-kit/archive/v4.3.1.zip
$ unzip v4.3.1.zip
$ mv grammar-kit-4.3.1 julius-kits
$ rm v4.3.1.zip
$ ./configure --enable-words-int --with-mictype=alsa
$ make
$ sudo make install
$ sudo apt-get install sox
Julius를 일괄 처리적으로 실행하는 파일 목록 만들기
마이크로 녹음 한 wav 형식의 파일을 julius에 전달하여 음성 인식됩니다. 할 오디오 데이터 목록 파일을 만듭니다.
$ nano list.txt
/home/user1/mono.wav
Ctrl +x を押し、yキーで保存
Node-RED에서 사용할 쉘 스크립트 (voice-recog.sh) 만들기
여기서 작성하는 쉘 스크립트는, 마이크로 녹음한 음성 데이터를, Julius에서 처리해 음성 인식 결과를 로그 파일에 출력하기 위한 것입니다.
$ nano voice-recog.sh
#!/bin/bash
sox /home/user1/out.wav -c 1 -r 16000 /home/user1/mono.wav
julius -C /home/user1/recognition/julius/julius-kits/main.jconf -C /home/user1/recognition/julius/julius-kits/am-gmm.jconf -input file -filelist /home/user1/list.txt > /home/user1/log.txt
grep sentence1: /home/user1/log.txt | cut -c 13- > /home/user1/log_cut.txt
Ctrl +x を押し、yキーで保存
실행 권한 추가
$ chmod a+x voice-recog.sh
./voice-recog.sh가 실행되면/home/user1/log_cut.txt에 Julius의 음성 인식 결과가 출력됩니다.
Node-RED에 내장
로컬 환경에 설치한 Node-RED에 액세스하여 아래 그림과 같이 내장해 갑니다.
처음에는 timestamp 노드와 inject node입니다. 일단 동작 확인을 마치면 정기 실행하도록 설정하는 것이 좋습니다.
Record wav 노드는 exec 노드로 만들어집니다. 마이크로 음성을 녹음하는 역할이 있습니다.
voice-recognition-julius 노드도 exec 노드로 만들어집니다. 녹음한 음성 데이터를 이용하여 방금전의 쉘 스크립트를 실행하는 역할이 있습니다.
get-output 노드는 file in 노드로 만들어집니다. 쉘 스크립트 실행 결과의 로그 파일을 호출하는 역할이 있습니다.
에서 마지막으로 debug 노드를 연결하고 화면 오른쪽 상단의 "배포"를 클릭하고 inject node를 실행하여 한 번에 움직이는지 확인하십시오. 디버그 결과에 음성 인식 결과가 표시되어야 합니다.
요약
음성 인식용의 독자적인 사전 없이 실행하면, 의도한 대로 인식되지 않는 것이 많기 때문에, 실제로 Julius를 사용하는 경우는, 독자적인 사전을 작성해, 쉘 스크립트(voice-recog.sh)내의 julius -C 의 때에 독자 사전을 읽어들이도록(듯이) 설정할 필요가 있습니다.
어쨌든, Node-RED상에서 Julius를 이용한 음성 인식에 의한 음성의 텍스트 변환에 대해서는 동작 확인할 수 있었습니다.
Reference
이 문제에 관하여(Node-RED에서 Julius를 사용하여 음성 인식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kolinz/items/ee132ec7bae229e37ac6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
로컬 PC에 Linux를 넣습니다. 이번에는 우분투 16.04를 사용했습니다. 외형이 Windows와 같은 환경에서 작업하고 싶다면 Ubuntu 기반의 Zorin OS Lite를 사용하는 것이 좋습니다. 매우 똑같습니다.
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ sudo npm install -g --unsafe-perm node-red
PCを再起動
$ node-red &
node-red をバックグラウンド起動。その後Enterキーを押す。
http://localhost:1880 에 액세스하여 Node-RED 편집기를 사용 가능한 사용자 설정과 같은 Node-RED 초기화를 수행합니다.
우분투를 사용하여 Julius 설치
아직 정리하지 않으면 안됩니다만, 일단 움직인다고 하는 것으로 자쿠트.
/home/username 다음에서 실시하고 있습니다.
여기서는/home/user1 이라고 합시다. 사용 환경에 따라 다시 작성하십시오.
다음 명령을 모두 실행하면 Julius가/home/user1/recognition/julius에 설치됩니다. 여기서는 우분투를 사용하기 때문에 ./configure시 mictype을 alsa로 지정해야합니다. (Zorin 등 Ubuntu 기반 OS의 경우도 마찬가지로 필요합니다.)
$ sudo apt-get install libasound2-dev libesd0-dev libsndfile1-dev
$ mkdir recognition
$ cd recognition/
$ wget https://github.com/julius-speech/julius/archive/v4.4.2.1.tar.gz
$ tar zxvf v4.4.2.1.tar.gz
$ mv julius-4.4.2.1 julius
$ cd julius/
$ wget https://github.com/julius-speech/dictation-kit/archive/dictation-kit-v4.3.1.tar.gz
$ tar zxvf dictation-kit-v4.3.1.tar.gz
$ mv dictation-kit-dictation-kit-v4.3.1 julius-kits
$ rm dictation-kit-v4.3.1.tar.gz
$ wget https://github.com/julius-speech/grammar-kit/archive/v4.3.1.zip
$ unzip v4.3.1.zip
$ mv grammar-kit-4.3.1 julius-kits
$ rm v4.3.1.zip
$ ./configure --enable-words-int --with-mictype=alsa
$ make
$ sudo make install
$ sudo apt-get install sox
Julius를 일괄 처리적으로 실행하는 파일 목록 만들기
마이크로 녹음 한 wav 형식의 파일을 julius에 전달하여 음성 인식됩니다. 할 오디오 데이터 목록 파일을 만듭니다.
$ nano list.txt
/home/user1/mono.wav
Ctrl +x を押し、yキーで保存
Node-RED에서 사용할 쉘 스크립트 (voice-recog.sh) 만들기
여기서 작성하는 쉘 스크립트는, 마이크로 녹음한 음성 데이터를, Julius에서 처리해 음성 인식 결과를 로그 파일에 출력하기 위한 것입니다.
$ nano voice-recog.sh
#!/bin/bash
sox /home/user1/out.wav -c 1 -r 16000 /home/user1/mono.wav
julius -C /home/user1/recognition/julius/julius-kits/main.jconf -C /home/user1/recognition/julius/julius-kits/am-gmm.jconf -input file -filelist /home/user1/list.txt > /home/user1/log.txt
grep sentence1: /home/user1/log.txt | cut -c 13- > /home/user1/log_cut.txt
Ctrl +x を押し、yキーで保存
실행 권한 추가
$ chmod a+x voice-recog.sh
./voice-recog.sh가 실행되면/home/user1/log_cut.txt에 Julius의 음성 인식 결과가 출력됩니다.
Node-RED에 내장
로컬 환경에 설치한 Node-RED에 액세스하여 아래 그림과 같이 내장해 갑니다.
처음에는 timestamp 노드와 inject node입니다. 일단 동작 확인을 마치면 정기 실행하도록 설정하는 것이 좋습니다.
Record wav 노드는 exec 노드로 만들어집니다. 마이크로 음성을 녹음하는 역할이 있습니다.
voice-recognition-julius 노드도 exec 노드로 만들어집니다. 녹음한 음성 데이터를 이용하여 방금전의 쉘 스크립트를 실행하는 역할이 있습니다.
get-output 노드는 file in 노드로 만들어집니다. 쉘 스크립트 실행 결과의 로그 파일을 호출하는 역할이 있습니다.
에서 마지막으로 debug 노드를 연결하고 화면 오른쪽 상단의 "배포"를 클릭하고 inject node를 실행하여 한 번에 움직이는지 확인하십시오. 디버그 결과에 음성 인식 결과가 표시되어야 합니다.
요약
음성 인식용의 독자적인 사전 없이 실행하면, 의도한 대로 인식되지 않는 것이 많기 때문에, 실제로 Julius를 사용하는 경우는, 독자적인 사전을 작성해, 쉘 스크립트(voice-recog.sh)내의 julius -C 의 때에 독자 사전을 읽어들이도록(듯이) 설정할 필요가 있습니다.
어쨌든, Node-RED상에서 Julius를 이용한 음성 인식에 의한 음성의 텍스트 변환에 대해서는 동작 확인할 수 있었습니다.
Reference
이 문제에 관하여(Node-RED에서 Julius를 사용하여 음성 인식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kolinz/items/ee132ec7bae229e37ac6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo apt-get install libasound2-dev libesd0-dev libsndfile1-dev
$ mkdir recognition
$ cd recognition/
$ wget https://github.com/julius-speech/julius/archive/v4.4.2.1.tar.gz
$ tar zxvf v4.4.2.1.tar.gz
$ mv julius-4.4.2.1 julius
$ cd julius/
$ wget https://github.com/julius-speech/dictation-kit/archive/dictation-kit-v4.3.1.tar.gz
$ tar zxvf dictation-kit-v4.3.1.tar.gz
$ mv dictation-kit-dictation-kit-v4.3.1 julius-kits
$ rm dictation-kit-v4.3.1.tar.gz
$ wget https://github.com/julius-speech/grammar-kit/archive/v4.3.1.zip
$ unzip v4.3.1.zip
$ mv grammar-kit-4.3.1 julius-kits
$ rm v4.3.1.zip
$ ./configure --enable-words-int --with-mictype=alsa
$ make
$ sudo make install
$ sudo apt-get install sox
마이크로 녹음 한 wav 형식의 파일을 julius에 전달하여 음성 인식됩니다. 할 오디오 데이터 목록 파일을 만듭니다.
$ nano list.txt
/home/user1/mono.wav
Ctrl +x を押し、yキーで保存
Node-RED에서 사용할 쉘 스크립트 (voice-recog.sh) 만들기
여기서 작성하는 쉘 스크립트는, 마이크로 녹음한 음성 데이터를, Julius에서 처리해 음성 인식 결과를 로그 파일에 출력하기 위한 것입니다.
$ nano voice-recog.sh
#!/bin/bash
sox /home/user1/out.wav -c 1 -r 16000 /home/user1/mono.wav
julius -C /home/user1/recognition/julius/julius-kits/main.jconf -C /home/user1/recognition/julius/julius-kits/am-gmm.jconf -input file -filelist /home/user1/list.txt > /home/user1/log.txt
grep sentence1: /home/user1/log.txt | cut -c 13- > /home/user1/log_cut.txt
Ctrl +x を押し、yキーで保存
실행 권한 추가
$ chmod a+x voice-recog.sh
./voice-recog.sh가 실행되면/home/user1/log_cut.txt에 Julius의 음성 인식 결과가 출력됩니다.
Node-RED에 내장
로컬 환경에 설치한 Node-RED에 액세스하여 아래 그림과 같이 내장해 갑니다.
처음에는 timestamp 노드와 inject node입니다. 일단 동작 확인을 마치면 정기 실행하도록 설정하는 것이 좋습니다.
Record wav 노드는 exec 노드로 만들어집니다. 마이크로 음성을 녹음하는 역할이 있습니다.
voice-recognition-julius 노드도 exec 노드로 만들어집니다. 녹음한 음성 데이터를 이용하여 방금전의 쉘 스크립트를 실행하는 역할이 있습니다.
get-output 노드는 file in 노드로 만들어집니다. 쉘 스크립트 실행 결과의 로그 파일을 호출하는 역할이 있습니다.
에서 마지막으로 debug 노드를 연결하고 화면 오른쪽 상단의 "배포"를 클릭하고 inject node를 실행하여 한 번에 움직이는지 확인하십시오. 디버그 결과에 음성 인식 결과가 표시되어야 합니다.
요약
음성 인식용의 독자적인 사전 없이 실행하면, 의도한 대로 인식되지 않는 것이 많기 때문에, 실제로 Julius를 사용하는 경우는, 독자적인 사전을 작성해, 쉘 스크립트(voice-recog.sh)내의 julius -C 의 때에 독자 사전을 읽어들이도록(듯이) 설정할 필요가 있습니다.
어쨌든, Node-RED상에서 Julius를 이용한 음성 인식에 의한 음성의 텍스트 변환에 대해서는 동작 확인할 수 있었습니다.
Reference
이 문제에 관하여(Node-RED에서 Julius를 사용하여 음성 인식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kolinz/items/ee132ec7bae229e37ac6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ nano voice-recog.sh
#!/bin/bash
sox /home/user1/out.wav -c 1 -r 16000 /home/user1/mono.wav
julius -C /home/user1/recognition/julius/julius-kits/main.jconf -C /home/user1/recognition/julius/julius-kits/am-gmm.jconf -input file -filelist /home/user1/list.txt > /home/user1/log.txt
grep sentence1: /home/user1/log.txt | cut -c 13- > /home/user1/log_cut.txt
Ctrl +x を押し、yキーで保存
$ chmod a+x voice-recog.sh
로컬 환경에 설치한 Node-RED에 액세스하여 아래 그림과 같이 내장해 갑니다.
처음에는 timestamp 노드와 inject node입니다. 일단 동작 확인을 마치면 정기 실행하도록 설정하는 것이 좋습니다.
Record wav 노드는 exec 노드로 만들어집니다. 마이크로 음성을 녹음하는 역할이 있습니다.
voice-recognition-julius 노드도 exec 노드로 만들어집니다. 녹음한 음성 데이터를 이용하여 방금전의 쉘 스크립트를 실행하는 역할이 있습니다.
get-output 노드는 file in 노드로 만들어집니다. 쉘 스크립트 실행 결과의 로그 파일을 호출하는 역할이 있습니다.
에서 마지막으로 debug 노드를 연결하고 화면 오른쪽 상단의 "배포"를 클릭하고 inject node를 실행하여 한 번에 움직이는지 확인하십시오. 디버그 결과에 음성 인식 결과가 표시되어야 합니다.
요약
음성 인식용의 독자적인 사전 없이 실행하면, 의도한 대로 인식되지 않는 것이 많기 때문에, 실제로 Julius를 사용하는 경우는, 독자적인 사전을 작성해, 쉘 스크립트(voice-recog.sh)내의 julius -C 의 때에 독자 사전을 읽어들이도록(듯이) 설정할 필요가 있습니다.
어쨌든, Node-RED상에서 Julius를 이용한 음성 인식에 의한 음성의 텍스트 변환에 대해서는 동작 확인할 수 있었습니다.
Reference
이 문제에 관하여(Node-RED에서 Julius를 사용하여 음성 인식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kolinz/items/ee132ec7bae229e37ac6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Node-RED에서 Julius를 사용하여 음성 인식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kolinz/items/ee132ec7bae229e37ac6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)