CMUSphinx realizuje plamienie kluczowego w PocketSphinx silnika, patrz uzyskać szczegółowe FAQ entry.
Aby rozpoznać jeden keyphrase można uruchomić dekoder w trybie „keyphrase wyszukiwania”.
z linii poleceń try:
pocketsphinx_continuous -infile file.wav -keyphrase “oh mighty computer” -kws_threshold 1e-20
Z kodu:
ps_set_keyphrase(ps, "keyphrase_search", "oh mighty computer");
ps_set_search(ps, "keyphrase_search);
ps_start_utt();
/* process data */
Można również znaleźć przykłady Python i Android/Java w naszych źródeł. Python kod wygląda tak, pełna przykładów 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()
Próg musi być dostosowana do każdego keyphrase na danych testowych, aby uzyskać właściwą równowagę brakowało detekcji i fałszywych alarmów. Możesz spróbować wartości takich jak 1e-5 do 1e-50.
Aby uzyskać najlepszą dokładność, lepiej mieć frazę z 3-4 sylabami. Zbyt krótkie zwroty są łatwo mylone.
Można również wyszukać wiele keyphrase utwórz keyphrase.list plik tak:
oh mighty computer /1e-40/
hello world /1e-30/
other_phrase /other_phrase_threshold/
i używać go w dekoderze z -kws opcji konfiguracji.
pocketsphinx_continuous -inmic yes -kws keyphrase_list
Ta funkcja nie została jeszcze zaimplementowana w dekoderze sphinx4.
Czy istnieje wyjaśnienie algorytmów lub biblioteka do wykrywania słów kluczowych w strumieniu audio bez użycia CMUSphinx? –
Oczywiście, możesz google "szukanie słów kluczowych" –
Tak wiele dokumentów badawczych, ale nie martwe proste wdrożenie –