Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

End-to-End Speech-to-Speech Translation (S2ST) Research

Research summary on end-to-end speech-to-speech translation models: architectures, major models (Hibiki, Google RT-S2ST, SeamlessM4T), OSS options, and how to build your own S2ST pipeline.


音声→音声翻訳(S2ST)モデル リサーチまとめ

対象読者: 音声翻訳技術に興味のある開発者・研究者
最終更新: 2026年3月


目次

  1. S2STとは
  2. 2つのアーキテクチャ
  3. 主要モデル比較
  4. Hibiki(Kyutai)
  5. Google DeepMind リアルタイムS2ST
  6. Meta SeamlessM4T
  7. OSSモデル一覧
  8. 自前でS2STを構築する
  9. 参考リンク

1. S2STとは

Speech-to-Speech Translation(S2ST) は、ある言語の音声を別の言語の音声へ直接変換する技術。

従来の音声翻訳は「音声認識(ASR)→ テキスト翻訳(MT)→ 音声合成(TTS)」という3段階のカスケードパイプラインが主流だったが、近年はエンドツーエンド(E2E)型モデルが急速に発展している。


2. 2つのアーキテクチャ

カスケード型(従来方式)

音声入力 → [ASR] → テキスト → [MT] → 翻訳テキスト → [TTS] → 音声出力
項目 評価
遅延 4〜5秒
エラー累積 あり(各段階で蓄積)
話者の声質保持 困難
開発のしやすさ 容易(既存OSSを組み合わせ)

エンドツーエンド型(新方式)

音声入力 → [単一E2Eモデル] → 音声出力
項目 評価
遅延 2秒以下
エラー累積 なし
話者の声質保持 可能
開発のしやすさ 複雑(大規模学習が必要)

アーキテクチャ比較図

flowchart LR
  subgraph cascade["カスケード型"]
    A1[音声入力] --> B1[ASR<br/>音声→テキスト]
    B1 --> C1[MT<br/>テキスト翻訳]
    C1 --> D1[TTS<br/>テキスト→音声]
    D1 --> E1[音声出力]
  end
Loading
flowchart LR
  subgraph e2e["エンドツーエンド型"]
    A2[音声入力] --> B2[単一E2Eモデル<br/>音声トークン→直接変換→音声]
    B2 --> C2[音声出力]
  end
Loading
方式 遅延・品質
カスケード型 各段階でエラーが累積、合計遅延 4〜5 秒
E2E型 遅延 2 秒以下、エラー累積なし、話者の声を保持

3. 主要モデル比較

モデル 開発元 公開年 パラメータ ライセンス 遅延 特徴
Translatotron 3 Google 2023 非公開 非公開 カスケード型を超えた初のE2E
SeamlessM4T v2 Meta 2023 2.3B CC BY-NC 4.0 5タスク・101言語対応
Google RT-S2ST Google DeepMind 2025 非公開 クローズド ~2秒 実製品搭載・リアルタイム
Hibiki Kyutai 2025/2 2.7B CC BY 同時 OSS最高峰・話者声質保持
Hibiki-Zero Kyutai 2025 3B CC BY 同時 多言語対応後継版
Voxtral Small Mistral 2025/7 非公開 Apache 2.0 音声LLM・商用OK

4. Hibiki(Kyutai)

概要

  • 発表: 2025年2月5日、フランスのAI研究機関 Kyutai
  • 名前の由来: 日本語の「響き」
  • ライセンス: CC-BY(商用利用可)
  • HuggingFace: kyutai/hibiki

アーキテクチャ

flowchart TB
  input[フランス語音声入力]
  input --> codec[Mimiコーデック<br/>音声をトークン化 12.5Hz]
  codec --> decoder[デコーダーオンリーモデル Moshiベース<br/>ソースstream / ターゲットstream を 12.5Hz で同期出力]
  decoder --> out1[翻訳音声<br/>話者声質保持]
  decoder --> out2[テキスト翻訳 + タイムスタンプ<br/>S2TT 同時出力]
Loading

Contextual Alignment(最大の技術革新)

既存の機械翻訳モデルのパープレキシティを使って単語単位の最適な翻訳タイミングを特定し、音声に自然なポーズを挿入することで流暢な翻訳を実現。

flowchart TB
  mt[既存MTモデル]
  mt -->|パープレキシティ評価<br/>単語単位の最適遅延を算出| synth[合成データ生成<br/>900時間の整合データ 公開済み]
  synth -->|教師あり学習| train[学習]
  train --> infer[推論: 通常の温度サンプリング<br/>特殊デコード不要]
Loading

モデルバリアント

モデル パラメータ 用途
Hibiki 2.7B 2.7B フルモデル(GPU向け)
Hibiki-M 1.7B スマートフォン・オンデバイス
Hibiki-Zero 3B 多言語対応後継版(仏・西・葡・独→英)

対応環境

PyTorch / Rust / MLX(macOS)/ MLX-Swift(iOS)


5. Google DeepMind リアルタイムS2ST

概要

  • 発表: 2025年5月(Google I/O)、技術詳細は2025年11月19日公開
  • 特徴: 発表時点で Google Meet・Pixel 10 に既に搭載済みという異例の形
  • 開発体制: Pixel・Cloud・Chrome・DeepMind の全社横断プロジェクト

アーキテクチャ

① 学習データパイプライン

flowchart TB
  corpus[音声コーパス]
  corpus --> asr[ASR<br/>高精度書き起こし + タイムスタンプ]
  asr --> mt[MT翻訳<br/>テキスト→テキスト]
  mt --> tts[カスタムTTS<br/>話者声質を模倣 + 強制アライメント]
  tts --> pair[時刻同期ペアデータ<br/>音源と翻訳音声がフレーム単位で対応]
Loading

② モデル構成

flowchart TB
  in[音声入力 ストリーミング]
  in --> enc[ストリーミングエンコーダー<br/>AudioLM 基盤]
  enc -->|RVQトークン化 SpectroStreamコーデック<br/>音声を2次元トークン配列に変換| dec[Transformerデコーダー<br/>100ms バースト出力 / per-token 損失 / lookahead ウィンドウ]
  dec --> out[翻訳音声出力<br/>話者声質保持]
Loading

③ レイテンシ最適化

施策 効果
INT8/INT4 量子化 モデル軽量化
事前計算キャッシュ 推論高速化
lookahead ウィンドウ調整 語順差への対応
合計 遅延 ≈ 2秒

開発チームは「2〜3秒がスイートスポット」と述べており、これより速いと聞き取りにくく、遅いと自然な会話にならないと判断している。

製品展開

製品 処理方式 状況
Google Meet サーバーサイド AI Pro/Ultra プランでベータ提供中
Google Pixel 10 オンデバイス+クラウド 搭載済み
Gemini Audio API クラウド 70言語・2000言語ペア、開発者向け

対応言語: 英語↔スペイン語(初期)→ イタリア語・ドイツ語・ポルトガル語・フランス語に拡大予定

パラメータ数について

非公開。Google 製商用モデルはサイズを公開しない慣例があり、RT-S2ST も例外ではない。
類似モデル(Hibiki 2.7B、SeamlessM4T 2.3B)の規模感から、オンデバイス版は量子化後 1〜3GB 程度と推測される。


6. Meta SeamlessM4T

概要

  • バージョン: v1(2023年8月)、v2(2023年12月)
  • ライセンス: CC BY-NC 4.0(非商用のみ)
  • コンセプト: 「Babel Fish」── 単一モデルで音声・テキスト翻訳のすべてをカバー

5つの翻訳タスク

flowchart TB
  input[入力: 音声 101言語 または テキスト 96言語]
  input --> unity

  subgraph unity["UnitY アーキテクチャ"]
    enc_audio[音声エンコーダー w2v-BERT 2.0]
    enc_text[テキストエンコーダー NLLB-200]
    dec_text[テキストデコーダー]
    dec_unit[Text-to-Unit デコーダー]
  end

  unity --> s2st[S2ST 101→36言語]
  unity --> s2tt[S2TT 101→96言語]
  unity --> t2st[T2ST 96→36言語]
  unity --> t2tt[T2TT 96言語]
  unity --> asr[ASR 96言語]
Loading

Seamless ファミリー

モデル 特徴 対応言語
SeamlessM4T v2 Medium 1.2B、軽量版 多言語
SeamlessM4T v2 Large 2.3B、高精度版 多言語
SeamlessExpressive 感情・抑揚・声質を保持 6言語(英仏西独中伊)
SeamlessStreaming 同時翻訳・低遅延 ~100言語(ASR)
Seamless(統合版) Expressive+Streaming 統合、Ray-Ban 眼鏡搭載

学習データ

データセット 規模 内容
SeamlessAlign 47万時間 音声・テキスト対
w2v-BERT 2.0 事前学習 100万時間 オープン多言語音声
SONAR 埋め込み 200言語 多言語・多モーダル文埋め込み

性能(FLEURS ベンチマーク)

  • 直接 S2TT で従来モデル比 +20% BLEU スコア改善
  • カスケード型強力モデルと比較して +1.3 BLEU(S2TT)、+2.6 ASR-BLEU(S2ST)
  • 毒性のある出力を最大 63% 削減

7. OSSモデル一覧

真の E2E S2ST

モデル ライセンス パラメータ 商用利用 備考
Hibiki-Zero CC-BY 3B 現時点でOSSベスト
Hibiki-M CC-BY 1.7B スマホ・エッジ向け
SeamlessM4T v2 Large CC BY-NC 2.3B 研究・非商用のみ
SeamlessExpressive CC BY-NC 感情保持特化

カスケード型 DIY パイプライン

商用利用したい場合のフルOSSスタック例:

役割 モデル ライセンス
ASR Whisper Large V3 MIT
ASR(高精度・高速) NVIDIA Canary Qwen 2.5B Apache 2.0
翻訳 Meta NLLB-200 CC BY-NC ⚠
TTS Coqui XTTS-v2 CPML
TTS(軽量・高品質) Kokoro 82M Apache 2.0

音声理解 LLM(翻訳+理解が一体型)

モデル ライセンス 特徴
Voxtral Small Apache 2.0 Gemini 2.5 Flash 比で翻訳品質上回る
Voxtral Mini Apache 2.0 軽量版、32k コンテキスト・最大40分音声

8. 自前でS2STを構築する

推奨アプローチ:既存 E2E モデルのファインチューニング

ゼロから学習するのではなく、SeamlessM4T v2 や Hibiki-Zero をベースに特定言語・ドメインに適応させるのが現実的。

ロードマップ全体像

flowchart TB
  s1[Step 1: ベースモデル選定]
  s2[Step 2: データ収集・前処理<br/>最大のボトルネック]
  s3[Step 3: ファインチューニング<br/>LoRA / QLoRA 推奨]
  s4[Step 4: 評価<br/>ASR-BLEU / COMET / SpeakerSim]
  s5[Step 5: 推論最適化・デプロイ<br/>量子化 → FastAPI]

  s1 --> s2 --> s3 --> s4 --> s5
Loading

Step 1: ベースモデル選定

用途 推奨モデル
商用利用したい Hibiki-Zero(CC-BY)
研究・非商用 SeamlessM4T v2 Large
多タスク・多言語 SeamlessM4T v2 Large

Step 2: データ収集・前処理

公開データセット

合成ペアデータ生成パイプライン

flowchart TB
  corpus[音声コーパス]
  corpus --> w[Whisper<br/>書き起こし + タイムスタンプ]
  w --> nllb[NLLB / LLM<br/>テキスト翻訳]
  nllb --> tts[TTS<br/>翻訳テキストを音声化]
  tts --> align[強制アライメント<br/>Montreal Forced Aligner 等]
  align --> pair[時刻同期ペアデータ<br/>100〜1000 時間以上]
Loading

ポイント: Hibiki も Google RT-S2ST も同様の合成データ手法を採用している。独自データを追加するだけで、特定ドメイン(医療・会議・方言等)に高精度で適応できる。

Step 3: ファインチューニング

# SeamlessM4T v2 + LoRA(fairseq2 使用)
from fairseq2.models.s2t_transformer import load_s2t_transformer_model
from peft import LoraConfig, get_peft_model

model = load_s2t_transformer_model("seamlessM4T_v2_large")

lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.05,
)
model = get_peft_model(model, lora_config)

手法別リソース目安(日本語↔英語の場合)

手法 GPU 学習時間 データ量 ストレージ
フルファインチューニング A100×4〜8枚 数日 1000時間以上 1〜2TB
LoRA / QLoRA A100×1〜2枚 12〜48時間 100〜1000時間 500GB〜

Step 4: 評価指標

指標 対象 ツール
ASR-BLEU 翻訳品質 sacrebleu
COMET 翻訳品質(ニューラル評価) unbabel-comet
SpeakerSim 話者類似度 resemblyzer
レイテンシ 遅延 time 計測

Step 5: 推論最適化・デプロイ

# INT8 量子化
from transformers import BitsAndBytesConfig

quantization_config = BitsAndBytesConfig(load_in_8bit=True)

# FastAPI + WebSocket でストリーミング API
from fastapi import FastAPI, WebSocket

app = FastAPI()

@app.websocket("/translate")
async def translate_stream(websocket: WebSocket):
    await websocket.accept()
    async for audio_chunk in websocket.iter_bytes():
        translated_audio = model.translate(audio_chunk)
        await websocket.send_bytes(translated_audio)

最短ルート(推奨)

flowchart LR
  r1[1. Hibiki-Zero<br/>HuggingFace からDL]
  r2[2. CoVoST-2 日英<br/>合成ペアデータ生成]
  r3[3. fairseq2 + LoRA<br/>ファインチューニング]
  r4[4. FastAPI + WebSocket<br/>ストリーミングAPI公開]

  r1 --> r2 --> r3 --> r4
Loading

9. 参考リンク

論文・技術ブログ

タイトル リンク
Translatotron(Google, 2019) arxiv.org/abs/1904.06037
SeamlessM4T(Meta, 2023) arxiv.org/abs/2308.11596
Hibiki(Kyutai, 2025) arxiv.org/abs/2502.03382
Google RT-S2ST ブログ research.google/blog/real-time-speech-to-speech-translation

モデル・コード

リソース リンク
Hibiki-Zero HuggingFace huggingface.co/kyutai/hibiki-zero
SeamlessM4T HuggingFace huggingface.co/facebook/seamless-m4t-v2-large
fairseq2(Meta 公式) github.com/facebookresearch/fairseq2
Voxtral(Mistral) huggingface.co/mistralai/Voxtral-Small-22B-2507

データセット

データセット 言語数 リンク
CoVoST-2 21言語 github.com/facebookresearch/covost
FLEURS 102言語 huggingface.co/datasets/google/fleurs
VoxPopuli 23言語 github.com/facebookresearch/voxpopuli
SeamlessAlign 101言語 huggingface.co/datasets/facebook/seamless-align

このドキュメントは2026年3月時点の情報をもとに作成しています。

About

End-to-end speech-to-speech translation (S2ST) research: Hibiki, Google RT-S2ST, SeamlessM4T, OSS models, build guide

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors