Wave オーディオレコーダーコンポーネント — sgcAI | eSeGeCe

オーディオレコーダー(Wave)

TsgcAudioRecorderWave は、Windows の Wave API を通じてマイク音声を取得し、ファイルではなくライブストリームとして配信します。サンプルレート、チャネル数、ビット深度を自分で指定できるため、ストリーミングやリアルタイムの用途に適しています。

TsgcAudioRecorderWave

ストリーミング方式のマイク録音です。ワーカーがバッファを継続的に準備してキューに積み、ブロックごとのレベルを測定し、設定した時間の無音が続くと区切りを閉じます。

コンポーネントクラス

TsgcAudioRecorderWave

用途

ストリーミング方式のマイク録音

プラットフォーム

Win32 および Win64

sgcAI は単体で完結しています。このコンポーネントは、土台となる sgcWebSockets Core ランタイムとともに sgcAI に同梱されているため、基本ライセンスを購入する必要はありません。

音声をストリームとして取得する

サンプル形式を選び、無音のしきい値を設定して開始します。音声はディスク上のファイルではなくストリームとして届きます。

uses
  sgcAI, sgcAI_AudioRecorder_Wave;

var
  oRecorder: TsgcAudioRecorderWave;
begin
  oRecorder := TsgcAudioRecorderWave.Create(nil);
  oRecorder.WaveOptions.SampleRate    := 16000;
  oRecorder.WaveOptions.Channels      := 1;
  oRecorder.WaveOptions.BitsPerSample := 16;

  // Silence detection on the measured block level.
  oRecorder.WaveOptions.LevelMin     := 300;
  oRecorder.WaveOptions.StopAfter    := 1200;
  oRecorder.WaveOptions.WaitForAudio := 100;

  oRecorder.Start;   // Stop ends capture
end;
// includes: sgcAI.hpp, sgcAI_AudioRecorder_Wave.hpp

TsgcAudioRecorderWave *oRecorder = new TsgcAudioRecorderWave(NULL);
oRecorder->WaveOptions->SampleRate    = 16000;
oRecorder->WaveOptions->Channels      = 1;
oRecorder->WaveOptions->BitsPerSample = 16;

oRecorder->WaveOptions->LevelMin  = 300;
oRecorder->WaveOptions->StopAfter = 1200;

oRecorder->Start();

主なプロパティとメソッド

最もよく使うメンバーです。

WaveOptions の形式

SampleRateChannelsBitsPerSample で録音形式を厳密に指定できるため、後段のモデルやコーデックが求める形式にそのまま合わせられます。

WaveOptions の制御

LevelMin は、この値を下回るとブロックを無音とみなす RMS レベルです。StopAfter は区切りを閉じるまでの無音の継続時間、WaitForAudio は各バッファを満たすために与える時間です。

ストリーム出力

録音中も音声がストリームとして配信されるため、ファイルが閉じるのを待たずに、リアルタイムのエンドポイントへ転送したり、その場でエンコードしたりできます。

セッション

Start で録音を開始し、Stop で終了します。録音ループは専用のワーカー上で動くため、UI スレッドがブロックされることはありません。

MCI レコーダーとの違い

特定のサンプル形式やライブストリームが必要な場合はこちらを使います。発話ごとに WAV ファイルがあれば十分な場合は TsgcAudioRecorderMCI を使ってください。

レベル計測

RMS レベルは 16 ビットサンプルからブロックごとに計算されます。UI 上のレベルメーターを動かすのにもそのまま使える値です。

さらに詳しく

オンラインヘルプsgcAI コンポーネントの完全な API リファレンスと利用ガイドです。
sgcAI の全コンポーネント15 コンポーネントすべての機能一覧を確認できます。
無料体験版をダウンロードパイプラインが必要とする形式そのままで音声を取得できます。
価格Single、Team、Site の各ライセンス。完全なソースコード付き、基本製品は不要です。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

はじめてみませんか

無料体験版をダウンロードして、アプリケーションからマイク音声をストリーミングしましょう。