Voice Translator

TsgcAIVoiceTranslator übersetzt Sprache, während der Benutzer spricht. Die Komponente streamt das Mikrofon über WebSocket an OpenAI gpt-realtime-translate, gibt die übersetzte Sprache wieder, sobald sie eintrifft, und meldet Live-Transkripte des Gesagten und der Übersetzung.

TsgcAIVoiceTranslator

Ein Echtzeit-Übersetzer von Sprache zu Sprache. Setze den API-Schlüssel und die Zielsprache, rufe Start auf und sprich. Das Modell erkennt die Ausgangssprache, es ist also nichts weiter zu konfigurieren.

Komponentenklasse

TsgcAIVoiceTranslator

Zweck

Sprach-zu-Sprach-Übersetzung in Echtzeit

Familie

Chat & Agenten

Plattformen

Windows mit Mikrofon und Lautsprechern. Linux und macOS mit eigenem Audio.

Editionen. TsgcAIVoiceTranslator ist in sgcAI und in sgcWebSockets Enterprise enthalten, also in denselben Editionen wie der Echtzeit-Sprachagent TsgcAIVoiceAgent. sgcAI ist eigenständig: Es enthält die sgcWebSockets-Core-Runtime, auf der die Komponente aufbaut. Verfügbar für Delphi 7 bis Delphi 13 und C++ Builder.

Sprich in jeder Sprache, höre Spanisch

Setze den API-Schlüssel und die Zielsprache, weise die Transkript-Ereignisse zu und rufe Start auf.

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

Bring deine eigene Audioquelle mit

Schalte die Geräte aus, um Audio aus einer Datei, einer Telefonleitung oder einem Netzwerk-Stream zu übersetzen. Sende PCM16 mit 24 kHz mono per SendAudio und entnimm die übersetzte Sprache aus 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;

Wichtige Eigenschaften & Methoden

Die Member, zu denen du am häufigsten greifst.

Sitzung

Start verbindet, wartet auf die Sitzung, sendet die Zielsprache und öffnet die Geräte. Stop leert das ausstehende Audio und schließt die Sitzung. Active bewirkt dasselbe im Objektinspektor.

Sprache

Der Code der Zielsprache, standardmäßig en. Weise einen neuen Wert zu, während die Sitzung läuft, und die Änderung wird sofort an das Modell gesendet, ohne erneute Verbindung.

Verbindung

ApiKey, Model (gpt-realtime-translate) und BaseURL. SafetyIdentifier sendet eine gehashte Benutzerkennung im Header OpenAI-Safety-Identifier.

Audio

AudioCapture und AudioPlayback nutzen Mikrofon und Lautsprecher. Setze sie auf False und speise stattdessen SendAudio mit PCM16 bei 24 kHz mono.

Transkripte

OnInputTranscript streamt den Text des Gesagten, OnOutputTranscript den Text der Übersetzung, beides als Deltas.

Ereignisse

OnSessionCreated, OnOutputAudio mit jedem übersetzten Audioblock, OnSessionClosed und OnError. NotifyEvents wählt asynchrone Ereignisse für GUI-Anwendungen oder keine Synchronisierung für Dienste.

Plattformen. Der Weg über Mikrofon und Lautsprecher nutzt die Windows-Audio-API. Setze unter Linux und macOS AudioCapture und AudioPlayback auf False und verarbeite das Audio selbst mit SendAudio und OnOutputAudio. Bleiben die Geräte eingeschaltet, meldet Start über OnError, dass auf dieser Plattform kein Audiogerät verfügbar ist.

Spezifikationen & Referenzen

Maßgebliche Quellen für den Dienst, den diese Komponente nutzt.

Weiter entdecken

Online-HilfeVollständige API-Referenz und Anwendungsleitfaden für die sgcAI-Komponenten.
OpenAI TranslatorNimm auf, übersetze und sprich jeweils ein Segment mit TsgcAIOpenAITranslator.
Alle sgcAI-KomponentenDurchstöbere die vollständige Funktionsmatrix der sgcAI-Komponenten.
Kostenlose Testversion herunterladenEnthält die Voice-Translator-Demo. Verwende deinen eigenen OpenAI-Schlüssel.
PreiseSingle-, Team- und Site-Lizenzen, vollständiger Quellcode.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit loszulegen?

Lade die kostenlose Testversion herunter und füge deiner Anwendung Sprach-zu-Sprach-Übersetzung in Echtzeit hinzu.