c#でコンソールアプリケーションの開発を行なっているのですが、ダウンロードしたファイルを音源ファイルに変換する方法についてご教示いただけますでしょうか。
【状況】
現在以下の処理を行うバッチファイルを作成しています。
- URLからファイルをダウンロード(全てではファイルサイズが大きくなりすぎるので5MB程度)
- ダウンロードした音声ファイルをGCPの「speech-to-text」を使い文字起こし
- 文字起こしした内容に該当の文字列が存在するか判定する。
1について、以下のサイトを参考にHttpWebRequestを使い、ファイルサイズを確認しながらダウンロードしています。
https://dobon.net/vb/dotnet/internet/webrequestsavefile.html
問題は2の処理でして、以下を参考にダウンロードしたファイルの文字起こしを実行しようとすると、音声ファイルから文字起こしができてない状態です。
https://cloud.google.com/speech-to-text/docs/async-recognize?hl=ja
※エラーは発生しておらず、文字起こしした結果が「""」で返却されます。
※ファイルのダウンロードは完了しており、iTunesで再生も可能です。
※他のmp3ファイルから文字起こしを実行しようとすると、文字起こしは可能です。
恐らくダウンロード時に「ファイル」としてダウンロードされており、「音声ファイル」としてダウンロードできていないことが原因なのかなと考え「mp3→wav」に変換することで変換過程で音声ファイルとして必要な情報(ヘッダー情報等)を付与できるかなと考えているのですが、Macでそれを行う方法が見つからない状況です。
もし解決策や良い方法をご存知の方がいらっしゃいましたら、ご教示いただければと思います。
よろしくお願い致します。
【環境】
OS:Big Sur 11.2.2
IDE:visual studio for mac
言語:c#
フレームワーク:.Net Core 3.1