본문 바로가기

반응형

CMU sphinx

(9)
[CMU Sphinx]SAX Parse를 이용한 gram 파일 자동작성 ## SettingContentHandler.java## import javax.xml.parsers.*; import org.xml.sax.*; public class SettingContentHandler { public static void main(String args[]) throws Exception{ SAXParserFactory factory = SAXParserFactory.newInstance();//initialize SAXparse SAXParser parser = factory.newSAXParser(); XMLReader reader = parser.getXMLReader(); ContentHandler contentHandler = new MyContentHandler(); r..
[CMU Sphinx]언어모델(Language Model : LM)파일 생성법 Typical UsageGiven a large corpus of text in a file a.text, but no specified vocabulary Compute the word unigram counts cat a.text | text2wfreq > a.wfreq Convert the word unigram counts into a vocabulary consisting of the 20,000 most common words cat a.wfreq | wfreq2vocab -top 20000 > a.vocab Generate a binary id 3-gram of the training text, based on this vocabulary cat a.text | text2idngram -vo..
CMU SPHINX - JAVA 음성인식 JAVA API 로 예제데모로 제공된 JSGF 파일을 이용하여 음성인식을 작성하였다. 패키지 경로를 재설정해주고 API 와 Sphinx4 발음사전이 들어있는 jar 파일들을 라이브러리 참조를 해준후에 grammar 파일을 새로 작성하여 소스를 수정한 결과 인식률이 그럭저럭 80~90% 정도로 올라갔다. 우리가 인식하여야 하는것은 발음사전에 없는 단어도 있기 때문에 jar 파일의 압축을 풀어 사전파일에 단어들을 추가 및 발음 기호를 참고 하여 발음도 적어준후 이클립스로 다시 컴파일 & 런 결과 인식성공 => 이론적으로 발음을 참조하여 새로운 단어 인식이 가능하다는 것이 증명됨 내가 해야 할것 - JSGF 소스분석 (line by line) - 참조된 class 파일들의 분석 초기버전이 인식이 낮았던이유 -..
[Cmu sphinx]발음 rule light off : no term channel up : speed Tv volume : term channel up : careful pronouncing or announce always keep in mind accent about sentence
[CMU Sphinx]변경사항 여지껏 단어들을 grammar 파일에 한번에 불러오던 방식을 변경 기기별로 구분하여 xml 파일을 받은후 각각의 gram 파일을 생성 JSGF부분에서 최고 기본 gram파일로부터는 기기를 구별하는 단어만 받아와서 기기인식 기기를 인식하면 해당 기기를 작동시키는 gram파일을 재로드해온다. -> jsfg 의 loadAndReconize 와 RecognizeAndReport 함수가 두개씩 존재해야함 작동을 멈추면 다시 기기를 선택하는 초기파일을 재로드하여 초기화. - gram 파일은 socket을 이용하여 전송한다. - 인식된 문구역시 gram파일을 이용하여 전송한다. - 각각의 gram파일은 JSGF의 bestResult 함수에 오는 값에 따라 로드된다. - 전송이 끝나고 파일로 출력및 저장후, Vecto..
[CMU Sphinx]음성인식 발음사전 확인 사이트 http://www.speech.cs.cmu.edu/cgi-bin/cmudict 검색창에 적어놓은 단어에 알맞은 발음 기호들을 생성해준다 cmudict.0.6 버전과 cmudict.0.7 두가지 버전의 발음사전들을 다운받을수도 있고 새로운 단어를 만들때 각 단어들의 발음기호를 확인하여보고 그것을 조합하는데 참조 할 수도 있다.
[CMU Sphinx]음성인식 단어사전 변경사항 - 기존 문장단위의 사전 파일 내용들을 BNF 표기로 변경 - 그에 따른 기존 소스의 파일출력부 변경요망 - 기타 발음 기호 및 발음 데이터 추가 - 에코서버를 이용한 클라이언트----------->서버--------------->클라이언트 의 작동 구성 상기 클라이언트는 별개임 서버의 역할은 파싱및 파싱데이터 디바이스 전송 - 파싱데이터 문장단위가 아닌 음절 단위로 전송(XML 로 재변환을 위해)
[CMU Sphinx]7월 16일 결과 Language Model 을 만들어서 인식을 시키는 것에는 문장에 한계가 있다(N-gram 옵션에 대한 이해가 부족함) 두문장 정도는 무난함. 변경사항 JSGF 데모를 참고하여 직접적인 dict 파일의 수정이 아닌 gram파일을 작성하여 인식시킬것 JSGFDemo.java 파일 검색결과 gram 파일들의 호출부분 존재 loadAnRecognize(" "); 부분 double quote 안에 확장자명을 생략한 gram 파일을 호출해온다.

반응형