Ich habe eine iOS-App in XCode / Ziel C entwickelt.
Es verwendet die iOS-Sprach-API zur Verarbeitung der kontinuierlichen Spracherkennung.
Es funktioniert, aber ich möchte das Mikrofon-Symbol rot drehen, wenn Sprache beginnt, ich möchte auch erkennen, wenn Sprache endet.
Ich implementiere die Schnittstelle SFSpeechRecognitionTaskDelegate, die den Callback onDetectedSpeechStart und speechRecognitionTask liefert: didHypothesizeTranscription: aber diese treten erst auf, wenn das Ende des ersten Wortes verarbeitet wird, nicht am Anfang der Rede.
Ich möchte den Anfang der Rede (oder jedes Geräusch) erkennen. Ich denke, dass es vom InstallTapOnBus möglich sein sollte: vom AVAudioPCMBuffer aber bin ich mir nicht sicher, wie man erkennen kann, ob das Schweigen gegen Rauschen ist, das könnte Sprache sein.
Auch die Sprach-API gibt kein Ereignis, wenn die Person aufhört zu sprechen, d. h. Stilleerkennung, sie zeichnet nur auf, bis sie abgelaufen ist. Ich habe einen Hack, um Stille zu erkennen, indem ich die Zeit zwischen dem letzten gefeuerten Ereignis überprüfe, nicht sicher, ob dies ein besserer Weg ist.
Code ist hier,
%Vor%