
完全オフラインで動作するオープンソースのクロスプラットフォームモバイル音声翻訳アプリ。オンデバイスASR(SenseVoice)、ニューラル機械翻訳、TTSをiOS/Androidで実現
ソースコード:
- ios-android-offline-speech-translation — ASR、翻訳、TTS、システムオーディオキャプチャを備えたiOS/Androidクロスプラットフォームオフライン音声翻訳アプリ(Apache 2.0)
概要
iOS/Androidで完全オフライン動作するオープンソースのクロスプラットフォームモバル音声翻訳アプリケーションを開発しました。オンデバイスの自動音声認識(SenseVoice Small、sherpa-onnx経由)、ニューラル機械翻訳(Apple Translation / Google ML Kit)、テキスト音声合成を統合パイプラインとして実装しています。両プラットフォームでマイクとシステムオーディオのキャプチャに対応しており、プラットフォームのキャプチャ制限の範囲内で、他のアプリ(ビデオ通話、メディアなど)の音声をクラウド接続なしで翻訳できます。オンデバイスASRはiPad Pro(A12X)で23.6 tok/s、Samsung Galaxy S10で33.6 tok/s(RTF < 0.1)を達成しています。翻訳およびTTSステージはプラットフォームネイティブエンジンを使用しており、本リリースでは個別のベンチマークは行っていません。
動機
完全な音声翻訳パイプライン(ASR、機械翻訳、TTS)は、2018〜2019年の一般的なスマートフォンでオフラインで安定動作するのか?オンデバイスAI研究のベンチマークは個々のモデルを単体で評価することが多いですが、実際のアプリケーションでは複数のステージを連携させ、プラットフォームのサンドボックス制限の中でシステムオーディオキャプチャを管理し、フルライフサイクル(永続化、エクスポート、バックグラウンド処理)を処理する必要があります。
本プロジェクトは、ネットワーク接続なしで実際の一般向けハードウェア上でパイプライン全体がエンドツーエンドで動作するかというシステム実現可能性を検証しています。アプリはオープンソースであり、開発者がアーキテクチャを直接評価できます。
アプリの概要
iOS
| ホーム | 文字起こし+翻訳 | デモ |
|---|---|---|
![]() | ![]() | ![]() |
SenseVoice SmallとApple Translation(英語→日本語)およびTTS。
Android
| 文字起こし+翻訳 | デモ |
|---|---|
![]() | ![]() |
SenseVoice SmallとML Kit翻訳およびTTS。
パイプラインアーキテクチャ
完全オフラインの音声翻訳パイプラインを実装しています。
| ステージ | コンポーネント | 詳細 |
|---|---|---|
| 音声入力 | マイク / システムオーディオ | マイクまたはシステムオーディオキャプチャ |
| → ASR | SenseVoice Small | sherpa-onnx経由の音声テキスト変換(オフライン) |
| → 翻訳 | Apple Translation / Google ML Kit | ニューラル機械翻訳(オフライン) |
| → TTS | システムTTS | AVSpeechSynthesizer (iOS) / Android TextToSpeech |
| 音声出力 | スピーカー | 翻訳された音声の再生 |
各ステージは完全にオンデバイスで動作し、推論時にネットワーク接続は不要です。
対応モデル
iOS:
| モデル | エンジン | 対応言語 |
|---|---|---|
| SenseVoice Small | sherpa-onnx offline | zh/en/ja/ko/yue |
| Apple Speech | SFSpeechRecognizer | 50以上の言語 |
Android:
| モデル | エンジン | 対応言語 |
|---|---|---|
| SenseVoice Small | sherpa-onnx offline | zh/en/ja/ko/yue |
| Android Speech(オフライン) | SpeechRecognizer(オンデバイス、API 31+) | システム言語 |
| Android Speech(オンライン) | SpeechRecognizer(標準) | システム言語 |
翻訳プロバイダー
| プラットフォーム | プロバイダー | モード | 対応範囲 |
|---|---|---|---|
| iOS | Apple Translation | オフライン(iOS 18+) | 20以上の言語ペア |
| Android | Google ML Kit | オフライン | 59言語 |
| Android | Android System Translation | オフライン(API 31+) | システム言語 |
TTS
| プラットフォーム | エンジン |
|---|---|
| iOS | AVSpeechSynthesizer |
| Android | Android TextToSpeech |
オーディオキャプチャの範囲
本アプリはマイク入力と他のアプリからのシステムオーディオキャプチャの両方に対応しています(DRMやアプリレベルのオプトアウトなどのプラットフォーム制限に従います)。本記事ではパイプラインの動作とデプロイ結果に焦点を当てるため、低レベルのキャプチャ実装の詳細は省略しています。iOSのキャプチャ内部の詳細については、オフライン文字起こしプロジェクトを参照してください:ios-mac-offline-transcribe。
データの永続化とエクスポート
両プラットフォームで文字起こし履歴をローカルに保存し、エクスポートに対応しています。
| 機能 | iOS | Android |
|---|---|---|
| 永続化 | SwiftData(TranscriptionRecord) | Room(TranscriptionEntity、AppDatabase) |
| 音声ファイル | SessionFileManager | AudioPlaybackManager |
| エクスポート | ZIPエクスポート(ZIPExporter) | ZIPエクスポート(SessionExporter) |
制限事項
- ASRのみベンチマーク:ASRステージ(SenseVoice Small)のみ速度をベンチマークしています。翻訳およびTTSステージはプラットフォームネイティブエンジンを使用しており、個別の測定は行っていません。エンドツーエンドのパイプライン遅延は未知です。
- システムオーディオキャプチャの制限:一部のアプリはオーディオキャプチャをオプトアウトしているため、「他のアプリ」のキャプチャは普遍的ではありません。
- テストデバイスは2台:結果はGalaxy S10(2019年)とiPad Pro第3世代(2018年)で得られたものです。他のデバイスでは性能が異なる場合があります。
- 精度評価なし:ASRの文字起こし精度(WER)と翻訳品質は、本リリースでは正式に測定していません。
今後の研究
- エンドツーエンド遅延の分析:ASR、翻訳、TTSの各ステージを個別に測定し、パイプライン全体の遅延パーセンタイルを報告。
- 品質評価:ASRのWERおよび一般的な言語ペアに対する翻訳品質指標と人間による検証の追加。
- デバイスの拡充:2018〜2026年のハードウェアにわたるスケーリングを理解するため、ミッドレンジおよび新型NPU搭載端末でのベンチマーク。
- バックグラウンド信頼性:長時間セッション、中断、両OSプラットフォームでのバックグラウンド実行ポリシーのストレステスト。
- 電力と発熱:連続翻訳セッションにおけるバッテリー消費量とサーマルスロットリングの定量化。
結論
完全オフラインの音声翻訳は、現行のモバイルハードウェアで実用可能です。ASRステージ(SenseVoice Small)は、2019年のGalaxy S10および2018年のiPad Pro第3世代で23〜34 tok/s、RTF < 0.1を達成しています。翻訳とTTSはプラットフォームネイティブエンジン(Apple Translation / Google ML KitおよびシステムTTS)を使用しており、個別のベンチマークは行っていません。エンドツーエンドのパイプライン遅延は発話の長さとこれらの下流ステージに依存します。
システムオーディオキャプチャ機能により、翻訳はマイク入力にとどまらず他の音声ソースにも拡張され、ビデオ通話、メディア、その他のアプリをクラウド接続なしで翻訳できます。
ネットワークアクセスが不安定な場合やデータプライバシーが最優先される場合のエッジデプロイシナリオにおいて、本アーキテクチャは音声翻訳パイプライン全体が一般向けハードウェアで完全にオンデバイスにデプロイ可能であることを実証しています。アプリはApache 2.0でオープンソース化されており、追加モデルやベンチマーク結果のコミュニティ貢献を受け付けています。
参考文献
リポジトリ:
- ios-android-offline-speech-translation — クロスプラットフォームオフライン音声翻訳アプリ(Apache 2.0)
ASRモデル:
- SenseVoice Small — Alibabaの多言語ASRモデル(zh/en/ja/ko/yue)
- Parakeet TDT 0.6B v3 — NVIDIA NeMo、欧州25言語
推論エンジン:
- sherpa-onnx — Next-gen Kaldi ONNX Runtime(オンデバイス音声処理用)
翻訳:
- Apple Translation Framework — iOS 18+向けオンデバイス翻訳
- Google ML Kit Translation — Android向けオフライン翻訳







