MCI 音频录制器组件 — sgcAI | eSeGeCe

Audio Recorder (MCI)

TsgcAudioRecorderMCI 通过 Windows MCI API 把麦克风音频录制为 WAV 文件。它会监视输入电平,并在一段静音之后自动结束该片段,免提语音交互正是由此成为可能。

TsgcAudioRecorderMCI

基于文件的麦克风采集,带静音检测。它是聊天机器人、翻译器和助手组件默认使用的录制器。

组件类

TsgcAudioRecorderMCI

用途

麦克风采集并保存为文件

平台

Win32 和 Win64

sgcAI 是自包含的。该组件随 sgcAI 一同交付,并附带它所基于的 sgcWebSockets Core 运行时,因此无需购买基础授权。

一直录到说话人停下为止

设置一个电平阈值和一个静音时长窗口,然后开始。何时算一句话结束由组件判断。

uses
  sgcAI, sgcAI_AudioRecorder_MCI;

var
  oRecorder: TsgcAudioRecorderMCI;
begin
  oRecorder := TsgcAudioRecorderMCI.Create(nil);
  oRecorder.RecorderOptions.Filename := 'question.wav';
  oRecorder.RecorderOptions.Mode     := camoAuto;

  // Stop after 1500 ms below the level threshold.
  oRecorder.MCIOptions.LevelMin  := 100;
  oRecorder.MCIOptions.StopAfter := 1500;

  oRecorder.Start;   // Stop ends capture immediately

  // Usually you just hand it to a voice component:
  sgcAIOpenAIChatBot1.AudioRecorder := oRecorder;
end;
// includes: sgcAI.hpp, sgcAI_AudioRecorder_MCI.hpp

TsgcAudioRecorderMCI *oRecorder = new TsgcAudioRecorderMCI(NULL);
oRecorder->RecorderOptions->Filename = "question.wav";
oRecorder->RecorderOptions->Mode     = camoAuto;

oRecorder->MCIOptions->LevelMin  = 100;
oRecorder->MCIOptions->StopAfter = 1500;

oRecorder->Start();

sgcAIOpenAIChatBot1->AudioRecorder = oRecorder;

关键属性与方法

您最常使用的成员。

RecorderOptions

Filename 指定 WAV 的写入位置。Mode 可选 camoManual(由您自己调用 Start 和 Stop)或 camoAuto(每次答案朗读完毕后自动重新开始采集)。

MCIOptions

LevelMin 是低于该值即视为静音的输入电平,StopAfter 是该静音需要持续多久才会结束当前片段。

会话

Start 开始采集,Stop 立即结束采集。在自动模式下,静音检测器会替您调用 Stop。

录制格式

音频按 16 位单声道 22050 Hz 采集,这既是语音转文本端点所期望的格式,也能让上传的文件保持较小。

并发实例

每个录制器都会分配一个唯一的 MCI 别名,因此两个录制器可以在同一进程中运行而互不干扰。

连接方式

把它赋给聊天机器人、翻译器或助手组件上的 AudioRecorder,采集、转写和作答的整条回路就会自动为您处理好。

继续探索

在线帮助sgcAI 组件的完整 API 参考和使用指南。
所有 sgcAI 组件浏览全部 15 个组件的完整功能矩阵。
下载免费试用版采集麦克风输入,并把它送入语音转文本模型。
价格Single、Team 和 Site 授权,均含完整源代码,无需基础产品。
超值之选:All-AccesseSeGeCe 全部产品,含高级支持,每年 €1,059 起。
查看 All-Access 价格

准备好开始了吗?

下载免费试用版,为您的应用程序加上免提语音输入。