Próbuję użyć rozpoznawania mowy w .net, aby rozpoznać mowę podcastu w pliku mp3 i uzyskać wynik jako ciąg. Wszystkie przykłady, które widziałem, są związane z używaniem mikrofonu, ale nie chcę używać mikrofonu i dostarczać przykładowy plik mp3 jako moje źródło dźwięku. Czy ktoś może wskazać mi dowolny zasób lub opublikować przykład.Używanie System.Speech do konwersji pliku mp3 na tekst
EDIT -
I przekształcony plik audio do wav
pliku i próbował ten kod na nim. Ale wyodrębnia tylko pierwszych 68 słów.
public class MyRecognizer {
public string ReadAudio() {
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
Grammar gr = new DictationGrammar();
sre.LoadGrammar(gr);
sre.SetInputToWaveFile("C:\\Users\\Soham Dasgupta\\Downloads\\Podcasts\\Engadget_Podcast_353.wav");
sre.BabbleTimeout = new TimeSpan(Int32.MaxValue);
sre.InitialSilenceTimeout = new TimeSpan(Int32.MaxValue);
sre.EndSilenceTimeout = new TimeSpan(100000000);
sre.EndSilenceTimeoutAmbiguous = new TimeSpan(100000000);
RecognitionResult result = sre.Recognize(new TimeSpan(Int32.MaxValue));
return result.Text;
}
}
Tak, to działa. Zmieniłem również twoją odpowiedź i dodałem, że jeśli OP używa WinForm/WPF, powinien uruchomić kod w oddzielnym wątku, ponieważ w przeciwnym razie blokuje wątek UI. – ProgramFOX
+1 - Dobry dodatek. – keyboardP
Otrzymuję ten błąd, gdy używam twojego kodu powyżej: 'MyProgram.vshost.exe Informacja: 0: SAPI nie implementuje wyboru alfabetu fonetycznego. – Micro