MP3の形式で長い録音(時間+)があります。このファイル(テキストにスピーチを)転写する(スピーチAPI - - 認知サービスMicrosoftオックスフォード)Bing Speech API(音声からテキスト)を使用したMP3オーディオファイルの書き換え
[mp3 @ 000001fe666da320] Skipping 0 bytes of junk at 58650.
[mjpeg @ 000001fe666effe0] Changing bps to 8
[mp3 @ 000001fe666da320] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from '1.mp3':
Duration: 00:57:18.52, start: 0.000000, bitrate: 192 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, mono, s16p, 192 kb/s
Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1300x1370, 90k tbr, 90k tbn, 90k tbc
私はBing Speech APIを使用したい:次は私がオーディオファイルについてFFMPEGから得ることができた情報です。
私はこれが以下のコードのようなものを使用することによって達成できると信じています。
オプション1: 任意のオーディオデータを送信する前に、あなたが最初にDataRecognitionClientのsendAudioFormat()メソッドを介して、あなたの生のオーディオデータのレイアウトとフォーマットを記述するためにSpeechAudioFormatディスクリプタを送信する必要があります。 このオプションのコードサンプルを提供できますか?
オプション2:ファイルをターゲットの許容フォーマットに変換します。私はFFMPEGでそれを行っているし、これは私が得たものである:私はdocumentationから理解したよう
Duration: 00:57:23.67, bitrate: 256 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0]/0x0001), 16000 Hz, 1 channels, s16, 256 kb/s
、これは許容されるべきである:オーディオのサンプルレートで、PCM、モノ、16ビットのサンプルでなければなりません8000Hzまたは16000Hz。
私はサーバーにオーディオを送信しようとしましたが、返事がありませんでした。正しい軌道にいるのですか?最大バッファサイズとは何ですか?
私のオーディオファイルを転記するには、他にも、もっと簡単なオプションがありますか?
private void SendAudioHelper(string wavFileName)
{
using (FileStream fileStream = new FileStream(wavFileName, FileMode.Open, FileAccess.Read))
{
int bytesRead = 0;
byte[] buffer = new byte[1024];
try
{
do
{
// Get more Audio data to send into byte buffer.
bytesRead = fileStream.Read(buffer, 0, buffer.Length);
// Send of audio data to service.
this.dataClient.SendAudio(buffer, bytesRead);
}
while (bytesRead > 0);
}
finally
{
// We are done sending audio. Final recognition results will arrive in OnResponseReceived event call.
this.dataClient.EndAudio();
}
}
}
ビングスピーチチームではなく、それは長いファイルのためのはるかに優れています。それはあなたがスピーカーを分離し、句読点を割り当て、他の多くの素晴らしいことをすることができます。あなたはまた、オープンソースのパッケージを考慮することができます、彼らはWebサービスに比べて非常に効果的です。 –
@NikolayShmyrevはあなたのヒントをありがとう。私はそれを試してみるでしょう。私はまだ私の元の質問へのいくつかの洞察を期待しています。 –