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.
対象読者 : 音声翻訳技術に興味のある開発者・研究者
最終更新 : 2026年3月
S2STとは
2つのアーキテクチャ
主要モデル比較
Hibiki(Kyutai)
Google DeepMind リアルタイムS2ST
Meta SeamlessM4T
OSSモデル一覧
自前でS2STを構築する
参考リンク
Speech-to-Speech Translation(S2ST) は、ある言語の音声を別の言語の音声へ直接変換する技術。
従来の音声翻訳は「音声認識(ASR)→ テキスト翻訳(MT)→ 音声合成(TTS)」という3段階のカスケードパイプラインが主流だったが、近年はエンドツーエンド(E2E)型モデルが急速に発展している。
音声入力 → [ASR] → テキスト → [MT] → 翻訳テキスト → [TTS] → 音声出力
項目
評価
遅延
4〜5秒
エラー累積
あり(各段階で蓄積)
話者の声質保持
困難
開発のしやすさ
容易(既存OSSを組み合わせ)
項目
評価
遅延
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 秒以下、エラー累積なし、話者の声を保持
モデル
開発元
公開年
パラメータ
ライセンス
遅延
特徴
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
発表 : 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 程度 と推測される。
バージョン : v1(2023年8月)、v2(2023年12月)
ライセンス : CC BY-NC 4.0(非商用のみ)
コンセプト : 「Babel Fish」── 単一モデルで音声・テキスト翻訳のすべてをカバー
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
モデル
特徴
対応言語
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言語
多言語・多モーダル文埋め込み
直接 S2TT で従来モデル比 +20% BLEU スコア改善
カスケード型強力モデルと比較して +1.3 BLEU(S2TT)、+2.6 ASR-BLEU(S2ST)
毒性のある出力を最大 63% 削減
モデル
ライセンス
パラメータ
商用利用
備考
Hibiki-Zero
CC-BY
3B
✅
現時点でOSSベスト
Hibiki-M
CC-BY
1.7B
✅
スマホ・エッジ向け
SeamlessM4T v2 Large
CC BY-NC
2.3B
❌
研究・非商用のみ
SeamlessExpressive
CC BY-NC
—
❌
感情保持特化
商用利用したい場合のフル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
モデル
ライセンス
特徴
Voxtral Small
Apache 2.0
Gemini 2.5 Flash 比で翻訳品質上回る
Voxtral Mini
Apache 2.0
軽量版、32k コンテキスト・最大40分音声
推奨アプローチ:既存 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
用途
推奨モデル
商用利用したい
Hibiki-Zero(CC-BY)
研究・非商用
SeamlessM4T v2 Large
多タスク・多言語
SeamlessM4T v2 Large
公開データセット
合成ペアデータ生成パイプライン
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 も同様の合成データ手法を採用している。独自データを追加するだけで、特定ドメイン(医療・会議・方言等)に高精度で適応できる。
# 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〜
指標
対象
ツール
ASR-BLEU
翻訳品質
sacrebleu
COMET
翻訳品質(ニューラル評価)
unbabel-comet
SpeakerSim
話者類似度
resemblyzer
レイテンシ
遅延
time 計測
# 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
このドキュメントは2026年3月時点の情報をもとに作成しています。