Voice Translator

TsgcAIVoiceTranslator traduce la voz mientras el usuario habla. Envía el micrófono a OpenAI gpt-realtime-translate por WebSocket, reproduce la voz traducida según va llegando e informa de transcripciones en vivo de lo que se ha dicho y de la traducción.

TsgcAIVoiceTranslator

Un traductor de voz a voz en tiempo real. Indica la clave de API y el idioma de destino, llama a Start y habla. El modelo detecta el idioma de origen, así que no hay nada más que configurar.

Clase del componente

TsgcAIVoiceTranslator

Propósito

Traducción de voz a voz en directo

Familia

Chat y agentes

Plataformas

Windows con micrófono y altavoces. Linux y macOS con tu propio audio.

Ediciones. TsgcAIVoiceTranslator se incluye en sgcAI y en sgcWebSockets Enterprise, las mismas ediciones que el agente de voz en tiempo real TsgcAIVoiceAgent. sgcAI es autónomo: incluye el runtime sgcWebSockets Core sobre el que está construido el componente. Disponible para Delphi 7 a Delphi 13 y C++ Builder.

Habla en cualquier idioma, escucha español

Indica la clave de API y el idioma de destino, asigna los eventos de transcripción y llama a Start.

uses
  sgcWebSocket_Types, sgcAI_VoiceTranslator;

procedure TForm1.StartTranslator;
begin
  oTranslator := TsgcAIVoiceTranslator.Create(Self);
  oTranslator.ApiKey := 'sk-...';
  oTranslator.Language := 'es';   // speak any language, hear Spanish
  oTranslator.NotifyEvents := neAsynchronous;
  oTranslator.OnInputTranscript := DoInputTranscript;
  oTranslator.OnOutputTranscript := DoOutputTranscript;
  oTranslator.OnError := DoError;
  oTranslator.Start;   // microphone in, translated speech out
end;

procedure TForm1.DoInputTranscript(Sender: TObject; const aDelta: string);
begin
  memoSource.Text := memoSource.Text + aDelta;   // what was said
end;

procedure TForm1.DoOutputTranscript(Sender: TObject; const aDelta: string);
begin
  memoTarget.Text := memoTarget.Text + aDelta;   // the translation
end;

procedure TForm1.DoError(Sender: TObject; const aError: string);
begin
  ShowMessage(aError);
end;

procedure TForm1.SwitchLanguage;
begin
  oTranslator.Language := 'fr';   // applied to the running session
end;
// includes: sgcWebSocket_Types.hpp, sgcAI_VoiceTranslator.hpp

void TForm1::StartVoiceTranslator()
{
  oTranslator = new TsgcAIVoiceTranslator(this);
  oTranslator->ApiKey = "sk-...";
  oTranslator->Language = "es";
  oTranslator->NotifyEvents = neAsynchronous;
  oTranslator->OnInputTranscript = DoInputTranscript;
  oTranslator->OnOutputTranscript = DoOutputTranscript;
  oTranslator->OnError = DoError;
  oTranslator->Start();
}

void __fastcall TForm1::DoInputTranscript(TObject *Sender, const String aDelta)
{
  memoSource->Text = memoSource->Text + aDelta;
}

void __fastcall TForm1::DoOutputTranscript(TObject *Sender, const String aDelta)
{
  memoTarget->Text = memoTarget->Text + aDelta;
}

void __fastcall TForm1::DoError(TObject *Sender, const String aError)
{
  ShowMessage(aError);
}

Trae tu propia fuente de audio

Desactiva los dispositivos para traducir audio de un archivo, una línea telefónica o un flujo de red. Envía PCM16 a 24 kHz mono con SendAudio y toma la voz traducida de OnOutputAudio.

procedure TForm1.StartCustomAudio(const aPCM16: TBytes);
begin
  oTranslator.AudioCapture := False;   // no microphone
  oTranslator.AudioPlayback := False;  // no speakers
  oTranslator.OnOutputAudio := DoOutputAudio;
  oTranslator.Start;
  oTranslator.SendAudio(aPCM16);   // PCM16, 24 kHz, mono
end;

procedure TForm1.DoOutputAudio(Sender: TObject; const aPCM16: TBytes);
begin
  // translated speech, PCM16 24 kHz mono, in order
end;

Propiedades y métodos principales

Los miembros que usarás más a menudo.

Sesión

Start conecta, espera a la sesión, envía el idioma de destino y abre los dispositivos. Stop vacía el audio pendiente y cierra la sesión. Active hace lo mismo desde el Object Inspector.

Idioma

El código del idioma de destino, en por defecto. Asigna un valor nuevo mientras la sesión está en marcha y el cambio se envía al modelo al instante, sin reconectar.

Conexión

ApiKey, Model (gpt-realtime-translate) y BaseURL. SafetyIdentifier envía un identificador de usuario con hash en la cabecera OpenAI-Safety-Identifier.

Audio

AudioCapture y AudioPlayback usan el micrófono y los altavoces. Ponlos a False y alimenta SendAudio con PCM16 a 24 kHz mono.

Transcripciones

OnInputTranscript transmite el texto de lo que se ha dicho y OnOutputTranscript el texto de la traducción, ambos en deltas.

Eventos

OnSessionCreated, OnOutputAudio con cada fragmento de audio traducido, OnSessionClosed y OnError. NotifyEvents elige eventos asíncronos para aplicaciones con interfaz o ninguna sincronización para servicios.

Plataformas. La ruta de micrófono y altavoces usa la API de audio de Windows. En Linux y macOS pon AudioCapture y AudioPlayback a False y gestiona tú el audio con SendAudio y OnOutputAudio. Con los dispositivos activados, Start informa por OnError de que no hay ningún dispositivo de audio disponible en esa plataforma.

Especificaciones y referencias

Fuentes oficiales del servicio que utiliza este componente.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso de los componentes sgcAI.
OpenAI TranslatorGraba, traduce y pronuncia un segmento cada vez con TsgcAIOpenAITranslator.
Todos los componentes sgcAIConsulta la matriz completa de características de los componentes sgcAI.
Descargar prueba gratuitaIncluye la demo de Voice Translator. Usa tu propia clave de OpenAI.
PreciosLicencias Single, Team y Site, código fuente completo.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y añade traducción de voz a voz en directo a tu aplicación.