MIC Sapi jak wprowadzic sygnał

0

Witam
Jakis czas temu ruszyłem z rozpoznawaniem i synteza mowy z wykorzystaniem SAPI 5.1 wg.

(http://www.blong.com/Conferences/DCon2002/Speech/SAPI51/SAPI51.htm).

Program działa stabilnie jednak główny silnik wykorzystuje windowsowskie narzędzie "speech recognition" co stwarza pewne problemy tzn. po zadeklarowaniu w programie np. słowa start oprócz naszej reakcji uruchomi się również "menu start". Wiec przepisałem główny kod silnika pod inny TSpInprocRecognizer który zatrzymuje analizę wewnątrz kodu, jednak nie wiem jak wprowadzić sygnał mikrofonu do komponentu. Niestety "standardowe" rozwiązania np. Bass odpada ponieważ Sapi i bass działają na dwóch rożnych strumieniach. Wiem ze Sapi już kilka razy był poruszany na 4p wiec czy możne ktoś z was ma sprawdzony patent na wybór urządzeń IN w Comboboxie to będę niezmiernie wdzięczny. Od ponad dwóch dni szperam w necie za jakim rozwiazaniem bezskutecznie.

0

Rozumiem ze nikt nie bawił się SAPI w kontekście analizy strumienia wewnątrz kodu.

0

Ok po tygodniu walki, się udało możne komuś się przyda wiec wrzucam.

c:integer;
SOToken: ISpeechObjectToken;
 SOTokens: ISpeechObjectTokens;
RecoEngine:SpInProcRecoContext1;
//////////////////////////////////////////////////

 SOTokens := RecoEngine.Recognizer.GetAudioInputs('', '');
   for c := 0 to SOTokens.Count - 1 do
  begin
    SOToken := SOTokens.Item(c);
    ComboBox3.Items.AddObject(SOToken.GetDescription(0), TObject(SOToken));
    SOToken._AddRef;
  end;
  if ComboBox3.Items.Count > 0 then
  begin
    ComboBox3.itemIndex := 0;
    ComboBox3.OnChange(ComboBox3);
  end;

procedure TAnalizaOtoczenia.ComboBox3Change(Sender: TObject);
var
  SOToken: ISpeechObjectToken;
  begin
    SRGrammar.CmdSetRuleIdState(0, SGDSinActive);
    Sleep(1000);
    SOToken := ISpeechObjectToken(Pointer(
    ComboBox3.Items.Objects[ComboBox3.ItemIndex]));

    RecoEngine.Recognizer.AudioInput := SOToken;
    SRGrammar.CmdSetRuleIdState(0, SGDSActive);
 end
end;

W ten sposób można wyciągnąć wszystkie informacje nt. rozpoznawania i syntezy mowy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1