Componente de gravação de áudio Wave — sgcAI | eSeGeCe

Gravação de áudio (Wave)

O TsgcAudioRecorderWave captura o microfone pela API Wave do Windows e entrega o áudio como um stream ao vivo, em vez de um arquivo. Você controla a taxa de amostragem, o número de canais e a profundidade de bits, que é o que os cenários de streaming e de tempo real exigem.

TsgcAudioRecorderWave

Captura de microfone em streaming. Um worker prepara e enfileira buffers continuamente, mede o nível de cada bloco e encerra um trecho após um período de silêncio configurável.

Classe do componente

TsgcAudioRecorderWave

Finalidade

Captura de microfone em streaming

Plataformas

Win32 e Win64

O sgcAI é autossuficiente. Este componente vem dentro do sgcAI junto com o runtime sgcWebSockets Core sobre o qual foi construído, então não há licença base para comprar.

Capture o áudio como um stream

Escolha o formato de amostragem, defina os limiares de silêncio e inicie. O áudio chega como um stream, não como um arquivo em disco.

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();

Principais propriedades & métodos

Os membros que você usa com mais frequência.

Formato em WaveOptions

SampleRate, Channels e BitsPerSample definem o formato de captura com exatidão, então você pode atender ao que o modelo ou o codec seguinte espera.

Controle de silêncio em WaveOptions

LevelMin é o nível RMS abaixo do qual um bloco conta como silêncio, StopAfter é quanto tempo esse silêncio precisa durar para encerrar o trecho, e WaitForAudio é quanto tempo cada buffer tem para ser preenchido.

Saída em stream

O áudio é entregue como um stream enquanto a captura acontece, então dá para encaminhá-lo a um endpoint de tempo real ou codificá-lo na hora, em vez de esperar um arquivo ser fechado.

Sessão

Start inicia a captura e Stop a encerra. O laço de captura roda no seu próprio worker, então a thread da interface nunca fica bloqueada.

Comparado ao gravador MCI

Use este quando precisar de um formato de amostragem específico ou de um stream ao vivo. Use TsgcAudioRecorderMCI quando um arquivo WAV por fala for tudo o que você precisa.

Medição de nível

O nível RMS é calculado por bloco a partir das amostras de 16 bits, que é também o que você usaria para alimentar um medidor de nível na interface.

Continue explorando

Ajuda onlineReferência completa da API e guia de uso dos componentes sgcAI.
Todos os componentes sgcAIExplore a matriz de recursos completa dos 15 componentes.
Baixar avaliação gratuitaCapture áudio exatamente no formato que o seu pipeline espera.
PreçosLicenças Single, Team e Site, código-fonte completo, sem necessidade de produto base.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Pronto para começar?

Baixe a avaliação gratuita e transmita o áudio do microfone a partir da sua aplicação.