Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private async void AzureActionAsync(object obj)
- {
- var str = obj as string;
- if (!string.IsNullOrEmpty(str))
- {
- switch (str)
- {
- case "1":
- const string ext = ".wav";
- var dlg = new OpenFileDialog
- {
- DefaultExt = ".mp3",
- Filter = "Audio files (.mp3)|*.mp3"
- };
- var res = dlg.ShowDialog();
- if (res! == true)
- {
- var AudioName = Path.GetFileNameWithoutExtension(dlg.SafeFileName);
- var projectPath = Directory.GetParent(Directory.GetCurrentDirectory())?.Parent?.Parent?.FullName;
- var FoderName = Path.Combine(projectPath!, "Audios");
- var filePath = Path.Combine(FoderName, $"{AudioName}{ext}");
- using var mp3 = new Mp3FileReader(dlg.FileName);
- using var ws = WaveFormatConversionStream.CreatePcmStream(mp3);
- WaveFileWriter.CreateWaveFile(filePath, ws);
- await ConvertToTextAsync(filePath);
- }
- break;
- }
- }
- }
- private async Task ConvertToTextAsync(string FilePath)
- {
- // Configure speech service
- var config = SpeechConfig.FromSubscription(Config.Constants.AZURE_KEY, Config.Constants.AZURE_REGION);
- // Configure speech recognition
- var taskCompleteionSource = new TaskCompletionSource<int>();
- using var audioConfig = AudioConfig.FromWavFileInput(FilePath);
- using var speechRecognizer = new SpeechRecognizer(config, audioConfig);
- speechRecognizer.Recognizing += SpeechRecognizer_Recognizing;
- speechRecognizer.Recognized += SpeechRecognizer_Recognized;
- speechRecognizer.SessionStarted += SpeechRecognizer_SessionStarted;
- speechRecognizer.SessionStopped += SpeechRecognizer_SessionStopped;
- await speechRecognizer.StartContinuousRecognitionAsync().ConfigureAwait(false);
- Task.WaitAny(new[] { taskCompleteionSource.Task });
- await speechRecognizer.StopContinuousRecognitionAsync().ConfigureAwait(false);
- }
- private void SpeechRecognizer_SessionStopped(object? sender, SessionEventArgs e)
- {
- var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
- var folder = Path.Combine(path, "Transcribed");
- var filename = Path.Combine(folder, "Hello.docx");
- Directory.CreateDirectory(folder);
- var sb = new StringBuilder();
- foreach (var item in Words)
- {
- sb.Append(item);
- }
- using var document = new WordDocument();
- document.EnsureMinimal();
- document.LastParagraph.AppendText(sb.ToString());
- document.Save(filename);
- MessageBox.Show("Created");
- }
- private void SpeechRecognizer_SessionStarted(object? sender, SessionEventArgs e)
- {
- Debug.WriteLine("Started");
- }
- private void SpeechRecognizer_Recognized(object? sender, SpeechRecognitionEventArgs e)
- {
- if (e.Result.Reason == ResultReason.RecognizedSpeech)
- {
- foreach (var item in e.Result.Text)
- {
- Words.Add(item);
- }
- }
- }
- private void SpeechRecognizer_Recognizing(object? sender, SpeechRecognitionEventArgs e)
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement