Componente Audio Recorder Wave — sgcAI | eSeGeCe

Audio Recorder (Wave)

TsgcAudioRecorderWave acquisisce il microfono attraverso l'API Wave di Windows e consegna l'audio come flusso dal vivo invece che come file. Controlli tu la frequenza di campionamento, il numero di canali e la profondità di bit, che è ciò di cui hanno bisogno gli scenari di streaming e in tempo reale.

TsgcAudioRecorderWave

Acquisizione dal microfono in streaming. Un worker prepara e accoda i buffer di continuo, misura il livello di ogni blocco e chiude un segmento dopo un periodo di silenzio configurabile.

Classe del componente

TsgcAudioRecorderWave

Scopo

Acquisizione dal microfono in streaming

Piattaforme

Win32 e Win64

sgcAI è autonomo. Questo componente è distribuito dentro sgcAI insieme al runtime sgcWebSockets Core su cui è costruito, quindi non c'è nessuna licenza base da acquistare.

Acquisisci l'audio come flusso

Scegli il formato dei campioni, imposta le soglie di silenzio, avvia. L'audio arriva come flusso, non come file su 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();

Proprietà e metodi principali

I membri che userai più spesso.

Formato in WaveOptions

SampleRate, Channels e BitsPerSample impostano il formato di acquisizione con precisione, così puoi allinearti a quello che il modello o il codec a valle si aspetta.

Soglie in WaveOptions

LevelMin è il livello RMS sotto il quale un blocco conta come silenzio, StopAfter è la durata di quel silenzio che chiude il segmento e WaitForAudio è il tempo concesso a ogni buffer per riempirsi.

Output in streaming

L'audio viene consegnato come flusso mentre l'acquisizione è in corso, quindi può essere inoltrato a un endpoint in tempo reale o codificato al volo invece di attendere la chiusura di un file.

Sessione

Start avvia l'acquisizione e Stop la termina. Il ciclo di acquisizione gira su un worker dedicato, quindi il thread della UI non viene mai bloccato.

Rispetto al registratore MCI

Usa questo quando ti serve un formato di campionamento specifico o un flusso dal vivo. Usa TsgcAudioRecorderMCI quando ti basta un file WAV per ogni frase pronunciata.

Misurazione del livello

Il livello RMS viene calcolato per blocco a partire dai campioni a 16 bit, ed è anche il valore con cui pilotare un misuratore di livello nella UI.

Continua a esplorare

Guida onlineRiferimento API completo e guida all'utilizzo dei componenti sgcAI.
Tutti i componenti sgcAIEsplora la matrice completa delle funzionalità di tutti e 15 i componenti.
Scarica la versione di prova gratuitaAcquisisci l'audio esattamente nel formato che la tua pipeline si aspetta.
PrezziLicenze Single, Team e Site, codice sorgente completo, nessun prodotto base richiesto.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto per iniziare?

Scarica la versione di prova gratuita e trasmetti in streaming l'audio del microfono dalla tua applicazione.