2011-03-03 2 views
6

무료로 제공되는 API를 제공하는 키워드 스폿 팅 시스템에 대해 알고 계신 분이 있습니까?키워드 스포팅 (Spotting in Speech)

CMU 스핑크스 4와 MS Speech API는 음성 인식 엔진이므로 KWS에 사용할 수 없습니다.

SRI에는 키워드 스포팅 시스템이 있지만 평가를위한 다운로드 링크가 없습니다. (나는 심지어 그들의 소프트웨어를 위해 그들에게 연락하기 위해 어디에서든지 연결할 수있는 링크를 찾을 수 없었다)

나는 하나를 발견했다. 그러나 그것은 데모이고 제한적이다.

답변

3

는 CMUSphinx은 자세한 내용을 참조 pocketsphinx 엔진에서 키워드 안보를 구현하는 FAQ entry.

는 "keyphrase를 검색"모드에서 디코더를 실행할 수있는 하나의 keyphrase를 인식합니다. 명령 행 시도에서

:

pocketsphinx_continuous -infile file.wav -keyphrase “oh mighty computer” -kws_threshold 1e-20 

코드에서 :

ps_set_keyphrase(ps, "keyphrase_search", "oh mighty computer"); 
ps_set_search(ps, "keyphrase_search); 
ps_start_utt(); 
/* process data */ 

당신은 또한 우리의 소스에서 파이썬과 안드로이드/자바에 대한 예를 찾을 수 있습니다. 코드는 다음과 같습니다 파이썬, 전체 예제 here :

# Process audio chunk by chunk. On keyphrase detected perform action and restart search 
decoder = Decoder(config) 
decoder.start_utt() 
while True: 
    buf = stream.read(1024) 
    if buf: 
     decoder.process_raw(buf, False, False) 
    else: 
     break 
    if decoder.hyp() != None: 
     print ([(seg.word, seg.prob, seg.start_frame, seg.end_frame) for seg in decoder.seg()]) 
     print ("Detected keyphrase, restarting search") 
     decoder.end_utt() 
     decoder.start_utt() 

임계 값이 적절한 균형을 얻을 수있는 테스트 데이터의 모든 keyphrase를 위해 조정해야는 탐지과 거짓 경보를 놓쳤다. 1e-5에서 1e-50과 같은 값을 시도 할 수 있습니다.

최상의 정확도를 위해서는 3 ~ 4 음절로 keyphrase를 사용하는 것이 좋습니다. 너무 짧은 문구는 쉽게 혼란 스럽습니다.

또한, 여러 keyphrase를 검색과 같은 파일 keyphrase.list 만들 수 있습니다

oh mighty computer /1e-40/ 
    hello world /1e-30/ 
    other_phrase /other_phrase_threshold/ 

을 그리고 -kws 구성 옵션 디코더를 사용합니다.

pocketsphinx_continuous -inmic yes -kws keyphrase_list 

이 기능은 아직 sphinx4 디코더에서 구현되지 않았습니다.

+0

CMUSphinx를 사용하지 않고 오디오 스트림에서 키워드 스포팅을 수행하는 알고리즘 설명 또는 라이브러리가 있습니까? –

+0

물론, 당신은 "키워드 스포팅"에 대한 구글 수 있습니다 –

+0

많은 연구 논문하지만 죽은 간단한 구현 –