【解決方法】C#で音声ファイルをテキストに変換


親愛なる友人、

すべてがうまくいっていることを願っています。 C# で音声ファイルをテキストに変換する方法を教えてください。

解決策 1

解決策 2

解決策 3

C#
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); 

StringBuilder sb = new StringBuilder();
while (true)
{
    try
    {
        var recText = sre.Recognize();
        if (recText == null)
        {               
            break;
        }

        sb.Append(recText.Text);
    }
    catch (Exception ex)
    {   
        //handle exception      
        //...

        break;
    }
}
return sb.ToString();

解決策 5

//mp3 を wav に変換する必要がある場合は、Nuget NAudio が必要です。

public async Task ConvertSpeech()
{
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
文法 gr = new DictationGrammar();
sre.LoadGrammar(gr);

string InputAudioFilePath = “”; // @”c:\logs\views3files.mp3″;
string OutputAudioFilePath = @”C:\Logs\views3Files.wav”;
if (InputAudioFilePath != String.Empty)
{
使用 (Mp3FileReader リーダー = 新しい Mp3FileReader(InputAudioFilePath))
{
WaveFileWriter.CreateWaveFile(OutputAudioFilePath, リーダー);
}
}
sre.SetInputToWaveFile(@”C:\Logs\views3files.wav”);
sre.BabbleTimeout = 新しい TimeSpan(Int32.MaxValue);
sre.InitialSilenceTimeout = 新しい TimeSpan(Int32.MaxValue);
sre.EndSilenceTimeout = 新しい TimeSpan(100000000);
sre.EndSilenceTimeoutAmbiguous = 新しい TimeSpan(100000000);
StringBuilder sb = new StringBuilder();
while (真)
{
試す
{
var recText = sre.Recognize();
if (recText == null)
{
壊す;
}
sb.Append(recText.Text);
}
キャッチ(例外例)
{
//例外処理
//…

壊す;
}
}
System.IO.File.WriteAllText(@”c:\logs\audio.txt”, sb.ToString());
return sb.ToString();
}

コメント

タイトルとURLをコピーしました