Ichigoは、janhqが公開するローカルで動く音声AIのOSSだ。pip install ichigo で入れて、音声ファイルの文字起こし(ローカルASR)から、テキストLLMに「耳」を足す実験的な音声LLMまでを扱う。「api ichigo」「local asr」「lm studio 音声入力」といった検索が多いので、本稿はAPIの使い方と、LM Studioとの組み合わせの現状を中心に書く。
LOCAL ASR APIローカルの音声APIは3つの口
音声を文字にも、音トークンにも変えられる
-
音声ファイル
sample.wav
-
S2T
/v1/audio/transcriptions で文字起こし
-
S2R
/s2r で音トークン列へ
-
R2T
/r2t で音トークンからテキストへ
30秒でわかるIchigo
・何者か:ASR(文字起こし)・音声LLM(実験)・TTS(未公開)を1つにまとめたローカル音声パッケージ
・API:同梱のFastAPIサーバーが /v1/audio/transcriptions(S2T)、/s2r、/r2t の3つを持つ。ストリーミングは未対応
・精度:多言語のviVoiceではWhisper medium.enより誤りが少ないが、英語のLibriSpeechでは及ばない(いずれも開発元の公称値)
・注意:リポジトリにLICENSEファイルがなく、LM Studioとの公式連携もない
ローカル実行や量子化の基礎はLLMとは?仕組み・主要モデル比較・ローカル実行・量子化を一気にまとめる2026年版で先に押さえられる。
背景と文脈 — なぜ音声を離散トークンにするのか
開発元のjanhqは、ローカルでLLMを動かすデスクトップアプリ「Jan」を手がけるチームだ。Ichigoは音声側を担う。READMEによれば、ASRとTTSの部品は共有できるという考えから、音声タスクを単一の表現に統一する設計を採った。ASRを微調整した成果がTTSの事前学習に使え、少ない学習データでもモデルを立ち上げられる、という説明だ。
Ichigo-LLMの中核は早期融合(early fusion)だ。音声を離散トークンにしてテキストと同じ語彙空間に混ぜ、単一のTransformerで両方を処理する。アダプタを後付けせず、入力段階で融合する。着想はMetaのChameleon論文にある。
パッケージの3機能
Ichigoのパッケージは3機能で、同梱するのは推論コードだけ(学習コードは含まない)。
・Ichigo-ASR:音声をテキストまたは離散トークンへ変換する自動音声認識
・Ichigo-LLM:テキストLLMにネイティブな聞き取り能力を持たせる研究実験。READMEは「進行中の研究実験」と明記している
・Ichigo-TTS:READMEでは「Coming Soon」のまま
詳しく見ていく — pip installでのASRとIchigo-LLM
Ichigo-ASR:Whisperを離散トークン化する22Mモデル
Ichigo-ASRは、Whisper-medium向けの22Mパラメータの音声トークナイザーだ。Whisperが連続的な埋め込みを出すのに対し、音声を離散トークンへ圧縮する。LLMはもともと離散トークンを扱うので、画像用・音声用のアダプタなしで音声を読める。学習データは英語約400時間とベトナム語約1,000時間だ。
DISCRETE TOKENWhisperとの設計の違い
連続の埋め込みではなく、離散トークンで音声を渡す
Whisper
連続的な埋め込みを出力
- 英語の文字起こしが堅実
- LLMにつなぐ部分は自分で作る
Ichigo-ASR
22Mパラメータの音声トークナイザー
- 音声を離散トークンに圧縮する
- テキストと同じ語彙空間に混ぜられる
導入と単一ファイルの文字起こしは次のとおり。フォルダを渡すとバッチ処理になり、結果は transcription.txt などに書き出される。
pip install ichigo
python -c 'from ichigo.asr import transcribe; print(transcribe("sample.wav"))'
Ichigo-LLM:Llama 3に耳を与える実験
ベースはLlama 3系で、公式解説(v0.3)ではLlama 3.1 8Bが軸だ。v0.3の改良は4点ある。
・多言語化:英語のみから、Multilingual LibriSpeechの7言語へ拡張
・汎用能力の回復:MMLUがPhase 1後の0.42からPhase 2で0.63まで戻った
・非音声の拒否:聞き取れない入力に「聞き取れません」と応答する
・マルチターン:Phase 3は15万サンプル(90%が2ターン、10%が4ターン以上)
API — api ichigoの3エンドポイントとLM Studio連携の現状
フロントエンド連携には、同梱のFastAPIサーバーを使う。バッチ処理に対応し、ストリーミングは未対応だ。READMEの手順は次のとおり。
# リポジトリ直下から。Dockerなら docker compose up -d
cd api && uvicorn asr:app --host 0.0.0.0 --port 8000
curl "http://localhost:8000/v1/audio/transcriptions" -F "[email protected]" -F "model=ichigo"
エンドポイントは3つある。
・S2T(/v1/audio/transcriptions):音声を文字起こしする。OpenAIのWhisper文字起こしAPIと同じパスで、返り値は {"text": ...}
・S2R(/s2r):音声を <|sound_start|>…<|sound_end|> で挟んだ音トークン列にする。ソース上、返り値は model と tokens
・R2T(/r2t):JSONの tokens に音トークン列を渡すとテキストに戻す。ソース上、返り値は model と text
S2RとR2Tを分けているので、音声そのものではなくトークン列だけを別システムへ渡す設計も組める。ソース上、S2Tは20秒単位のチャンクに分けて処理する。起動後は http://localhost:8000/docs でAPI仕様を確認できる。
LM Studioの音声入力との関係
「lm studio 音声入力」「lm studio 文字起こし」と探す人は多いが、LM Studio自体には2026年10月時点で音声入力の公式機能がない。外部ASRへ委譲する /audio/transcriptions 相当のサーバー機能を求めるlmstudio-ai/lmsのIssue #320も、2025年9月12日の起票から未解決のままだ。したがってIchigoとLM Studioの公式連携はない。現実的なのは、Ichigoの /v1/audio/transcriptions で文字起こしだけ済ませ、そのテキストをLM Studioへ渡す別プロセス構成だ。この構成は本稿では動作を確認していない(未検証)。
なお、掲載したコマンドのうち pip install 以降の実行(モデルのダウンロードを伴う)は、本稿の取材では行っていない。コマンドはREADMEと api/asr.py の記述に基づく。
アーキテクチャと精度 — 公称WERとAudioBench
論文「Ichigo: Mixed-Modal Early-Fusion Realtime Voice Assistant」(arXiv:2410.15316)は、アダプタなしの早期融合で、最初のトークン生成まで111msと報告している。
Ichigo-ASRのWER(単語誤り率、低いほど良い)はREADMEの表のとおり。
| モデル | LS Clean | LS Other | Earnings22 | LargeScaleASR | viVoice(多言語) |
|---|---|---|---|---|---|
ichigo-asr-2501-en |
4.28 | 9.35 | 35.55 | 16.09 | 11.68 |
whispervq-2405-en |
9.79 | 14.40 | 38.45 | 18.38 | — |
whisper medium.en |
2.88 | 6.04 | 16.64 | 8.21 | 18.30 |
WER (LOWER IS BETTER)公称の単語誤り率
多言語の viVoice ではIchigoが上、英語ではWhisperが上
英語(LibriSpeech、Earnings22)ではmedium.enが最良で、Ichigoは及ばない。多言語のviVoiceでは11.68対18.30でIchigoが上回る。Ichigoの価値は、英語での最高精度ではなく、離散トークン化でLLMにつなげることと多言語対応にある。
Ichigo-LLMのAudioBench(GPT-4o審査の0〜5、高いほど良い)は、v0.3-phase3がOpen-Hermes 3.64・Alpaca 3.68で、Qwen2-Audio-7Bの2.63・2.24を上回る。WERと向きが逆な点に注意したい。いずれも開発元の公称値で、第三者検証ではない。
他の選択肢との比較 — Whisper・WhisperSpeech・Qwen2-Audio
| プロジェクト | 主な役割 | LLM連携の方式 | 特徴 |
|---|---|---|---|
| Ichigo(janhq) | ASR+音声LLM+TTS(近日) | 早期融合・離散トークン | 音声を離散トークン化しLlama 3に直接融合。ローカル完結志向 |
| OpenAI Whisper | ASR | 連続埋め込み | 英語精度が高い定番。LLM連携は別途実装が必要 |
| WhisperSpeech | TTS | Whisper反転 | Ichigoが謝辞で参照する基盤の一つ |
| Qwen2-Audio | 音声理解LLM | 音声エンコーダ+LLM | 汎用の音声対話。AudioBenchでIchigo v0.3が上回ると報告 |
Whisperが「文字起こしまで」なのに対し、Ichigoは文字起こし(S2T)に加え、音トークンの取り出し(S2R)と復号(R2T)を分けて提供し、LLMへの融合まで見据える。
実務への影響 — 向く場面と制限
向くのは、クラウドの音声APIに頼らずローカルで音声を扱いたい場面だ。録音メモのバッチ文字起こし、音声を外部送信できない環境、ベトナム語など英語以外を含む認識、音トークンを中間表現にした音声LLMの試作などが当たる。サーバーは docker compose up -d にも対応する。
制約は次のとおり。
・ライセンス:2026年10月時点でリポジトリにLICENSEファイルがない(GitHub APIでも未検出)。商用利用の前にHugging Face(homebrewltd配下)の各モデル表記とLlama 3の条件を確認する
・実験段階:Ichigo-LLMはREADME自身が進行中の研究実験としている
・ストリーミング未対応:リアルタイムの逐次文字起こしには向かない
・更新:既定ブランチの最終コミットは2025年2月24日、リポジトリのpushは2025年11月26日。最新タグはv0.4
・英語単体:精度重視ならWhisperが堅実
ローカル完結の別アプローチには、CPUで1ビットLLMを動かすbitnet.cpp(BitNet)がある。複数の家庭用デバイスでLLM推論を分散させるDistributed Llamaも同じローカル志向だ。
まとめ
Ichigoは、音声をLLMが読める離散トークンに変えることに賭けたローカル音声パッケージだ。pip install ichigo で文字起こしが動き、OpenAI互換のS2Tを含むAPIで他ツールへ組み込める。LM Studioとの公式連携はなく、ストリーミングやTTSも未提供で、ライセンスも未明示だ。まず自分の音声で単一ファイルを文字起こしし、精度が合えばAPIサーバー、S2R/R2Tへ進むのが安全だ。
参照ソース
- janhq/ichigo — GitHub(README・api/asr.py)(機能・導入・API・WER表の出典。★2,493・LICENSEなしは2026-10-20に実測)
- Ichigo: Mixed-Modal Early-Fusion Realtime Voice Assistant — arXiv:2410.15316(早期融合・111ms)
- Llama Learns to Talk(Ichigo v0.3 Checkpoint Writeup)— menlo.ai(v0.3の改良点・AudioBench値)
- Chameleon: Mixed-Modal Early-Fusion Foundation Models — arXiv:2405.09818(早期融合の着想元)
- lmstudio-ai/lms Issue #320(LM Studioに外部ASR委譲のエンドポイントがない根拠)





