OpenAI Translator

TsgcAIOpenAITranslator は、ほぼあらゆる言語の音声入力を、選んだ言語(既定は英語)の音声に変換します。マイクで録音し、gpt-transcribe で音声を文字起こしし、チャットモデルでテキストを翻訳し、確認する機会を提供したうえで、テキスト読み上げコンポーネント経由で読み上げます。

TsgcAIOpenAITranslator

音声から音声への 2 段階の翻訳コンポーネントです。録音した音声をまず元の言語で文字起こしし、続いてチャット補完がテキストを Language に翻訳します。入力言語は自動で判定されるため、翻訳先を選ぶだけで使えます。

コンポーネントクラス

TsgcAIOpenAITranslator

用途

あらゆる言語への音声翻訳

プラットフォーム

Win32 および Win64

sgcAI は単体で完結しています。このコンポーネントは、土台となる sgcWebSockets Core ランタイムとともに sgcAI に同梱されています。

話した言語とは別の言語で聞く

レコーダーとテキスト読み上げコンポーネントを接続し、API キーと翻訳先の言語を設定して Start を呼び出します。

uses
  sgcAI, sgcAI_OpenAI_Audio_Translator,
  sgcAI_AudioRecorder_MCI, sgcAI_TextToSpeech_System;

var
  oTranslator: TsgcAIOpenAITranslator;
begin
  oTranslator := TsgcAIOpenAITranslator.Create(nil);
  oTranslator.OpenAIOptions.ApiKey := 'sk-...';
  oTranslator.AudioRecorder := sgcAudioRecorderMCI1;
  oTranslator.TextToSpeech  := sgcTextToSpeechSystem1;

  // 1. transcribe, 2. translate the text with a chat model
  oTranslator.TranslatorOptions.Translation.Model := 'gpt-transcribe';
  oTranslator.TranslatorOptions.Translation.ChatModel := 'gpt-6-luna';
  oTranslator.TranslatorOptions.Translation.Language := 'Spanish';
  oTranslator.OnTranslation := TranslatorTranslation;

  oTranslator.Start;   // Stop ends the session
end;

procedure TForm1.TranslatorTranslation(Sender: TObject;
  var Text: string; var Accept: Boolean);
begin
  memoLog.Lines.Add(Text);
  Accept := True;   // set False to skip speaking this segment
end;
// includes: sgcAI.hpp, sgcAI_OpenAI_Audio_Translator.hpp

TsgcAIOpenAITranslator *oTranslator = new TsgcAIOpenAITranslator(NULL);
oTranslator->OpenAIOptions->ApiKey = "sk-...";
oTranslator->AudioRecorder = sgcAudioRecorderMCI1;
oTranslator->TextToSpeech  = sgcTextToSpeechSystem1;

oTranslator->TranslatorOptions->Translation->Model = "gpt-transcribe";
oTranslator->TranslatorOptions->Translation->ChatModel = "gpt-6-luna";
oTranslator->TranslatorOptions->Translation->Language = "Spanish";
oTranslator->OnTranslation = TranslatorTranslation;

oTranslator->Start();

主なプロパティとメソッド

最もよく使うメンバーです。

コンポーネントの接続

AudioRecorder が音声を取得し、TextToSpeech が翻訳結果を読み上げます。TextToSpeech を未割り当てにすると、コンポーネントはテキストだけを返して録音を再開します。

TranslatorOptions

Translation.Model は文字起こしモデル(gpt-transcribe)、Translation.ChatModel はテキストを翻訳するチャットモデル(gpt-6-luna)、Translation.Language は翻訳先の言語(English)です。Language を空にすると、翻訳なしの文字起こしが得られます。

OpenAIOptions

他の OpenAI コンポーネントと共通の、API キー、エンドポイント、HTTP、リトライ、ログの設定です。

セッション

Start で録音を開始し、Stop で終了します。レコーダーが自動モードの場合、無音の区切りごとにセグメントが閉じられ、翻訳が実行されます。

イベント

OnTranslation は翻訳テキストを Accept フラグとともに渡すため、読み上げの前にログを取ったり、修正したり、抑止したりできます。OnAudioStart と OnAudioStop が録音を追跡します。

出力言語

チャットモデルが書けるすべての言語に対応します。Language に Spanish や Japanese などの名前を設定します。既定の English は、従来の whisper-1 翻訳と同じ結果になります。

なぜ 2 段階なのか。OpenAI は 2027-02-26 に /v1/audio/translations エンドポイントと whisper-1 モデルを廃止し、新しい文字起こしモデルは翻訳を行いません。そこでコンポーネントは、引き続き利用できるモデルで文字起こしと翻訳を行うようになり、既存のアプリケーションはそのまま動作します。ユーザーが話している間のリアルタイムの音声翻訳には、TsgcAIVoiceTranslator を使ってください。

仕様と参考資料

このコンポーネントが利用するサービスとプロトコルの一次情報です。

さらに詳しく

オンラインヘルプsgcAI コンポーネントの完全な API リファレンスと利用ガイドです。
sgcAI の全コンポーネント15 コンポーネントすべての機能一覧を確認できます。
無料体験版をダウンロード自分の OpenAI キーで、リアルタイムの音声を翻訳できます。
価格Single、Team、Site の各ライセンス。完全なソースコード付きです。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

はじめてみませんか

無料体験版をダウンロードして、アプリケーションにリアルタイム音声翻訳を追加しましょう。