手元のMacで動くAIの返事を、画面で読むだけでなく、声で聞きたい。Ollamaに、そのための音声生成機能が加わった。

10月24日公開のOllama v0.40.11では、文章を読み上げるモデル「Phonon」への対応を案内している。まず使えるのはApple Silicon搭載のMacだ。英語など5言語のモデルが公開されているが、日本語は対応言語に含まれていない。Ollamaのリリース情報、Phononの公式モデル一覧

Macには、もともと文章を読み上げる機能がある。今回面白いのは、ローカルAIを動かすOllamaの中で、「返答を考えるモデル」と「声にするモデル」をつなげられることだ。

答えるAIと、読むAIをつなぐ

Phononは、Gradiumが開発した音声生成モデルだ。入力した文章から音声を作る。音声を聞いて文字にする「文字起こし」や、質問の答えを考える会話モデルとは、役割が違う。開発元のモデル説明

たとえば、チャット用のAIに英語の短い説明を書かせ、その文章をPhononへ渡す。答えを作るところと、声にするところを別々に選べる。

Ollamaの公式ガイドは、チャットモデルの出力をPhononへ順に渡す使い方を紹介している。音声は生成しながら送り出されるため、全文の読み上げデータが完成する前から再生を始められる仕組みだ。音声生成ガイド

英語の下書きを耳で見直す。自作アプリの案内に、仮の読み上げを付ける。こうした使い道が考えられる。RINKAKUが今回、音質や待ち時間を実測したわけではないが、文章を返すだけだったローカルの道具に、声の出力を足せるのは気になる変化だ。

ただ、これだけでマイク越しに話し合えるAIが完成するわけではない。相手の声を聞き取る仕組みや、会話を管理する処理は別に必要になる。

文章を考えるAIからPhononへ渡し、声を再生する例。マイク理解と会話管理は別に必要です。Ollama公式ガイドをもとにした編集部の説明図で、音質・待ち時間の実測ではありません。

文章を考えるAIからPhononへ渡し、声を再生する例。マイク理解と会話管理は別に必要です。Ollama公式ガイドをもとにした編集部の説明図で、音質・待ち時間の実測ではありません。 出典:Ollama公式音声生成ガイド

まずは英語の一文を読ませる

公式モデルページが示す条件は、Apple SiliconとOllama 0.40.9以降。今回の案内が載ったリリースはv0.40.11だ。これから試すなら、公式サイトで現在の対応版を確認したい。

Ollamaを用意したMacでは、ターミナルから次のように頼める。初回はモデルの取得が必要になる。

ollama run phonon "Hello from Ollama."

phononの既定モデルは、英語用の「31M English」。まずはこの固定文で、読み上げだけを試す。次は、普段使うAIが返した短い英文に「Hello from Ollama.」を置き換えれば、その返事を声にできる。手作業のコピーをやめて自動でつなぐ方法は、公式ガイドの「Speak a chat model’s answer」に載っている。

音声を残したい場合は、WAVファイルへ保存できる。

ollama run phonon "Hello from Ollama." > phonon-demo.wav

アプリへ組み込みたい人向けには、OpenAI互換形式の音声生成APIもある。ここでいう「OpenAI互換」は呼び出し方の形式で、OpenAIのサービスへ音声生成を依頼するという意味ではない。ローカルで起動したOllamaの/v1/audio/speechへ文章を渡して使う。APIと保存方法

Ollamaを別のサーバーに置いて接続する構成もあるため、「Ollamaを使えば、どんな設定でも文章が手元から出ない」という話ではない。手元だけで完結させたいなら、文章を考えるモデルも、音声を作るモデルも、ローカルで動かす構成にする。

日本語はまだ。仕事で使うならモデルの違いも見る

「多言語モデルもある」と聞くと、日本語にも期待したくなる。ただ、現時点で公式が挙げるのは、英語・フランス語・ドイツ語・スペイン語・ポルトガル語の5言語だ。日本語の読み上げを目的に導入するなら、今回のPhononはまだ向いていない。

さらに、同じPhononでも利用条件が違う。

モデル:31M English(既定のphonon)
対応言語:英語
公開ライセンス:Apache 2.0

モデル:40Mの各言語モデル
対応言語:英・仏・独・西・葡のそれぞれ
公開ライセンス:CC BY-NC 4.0

モデル:40M Multilingual
対応言語:上の5言語
公開ライセンス:CC BY-NC 4.0

開発元は、31M Englishの重みなどをApache 2.0で公開し、商用利用を認めている。一方、40M系は非商用に限るCC BY-NC 4.0だ。多言語だからと40M系を選び、そのまま仕事のサービスや広告へ使ってよいとは考えない方がいい。31Mの利用条件、40M Multilingual、CC BY-NC 4.0

必要なメモリも、ダウンロードの大きさだけでは決められない。返答を考えるチャットモデルも同時に動かすなら、その分のメモリも使う。手元のMacでの速さや声の聞きやすさは、実際に確かめたいところだ。

31M英語と40M系の言語・公開条件を比べた編集部の説明図。40M系は各言語版と5言語の多言語版があり、日本語は対応一覧外です。品質・速度の実測ではなく、利用前にライセンス原文を確認してください。

31M英語と40M系の言語・公開条件を比べた編集部の説明図。40M系は各言語版と5言語の多言語版があり、日本語は対応一覧外です。品質・速度の実測ではなく、利用前にライセンス原文を確認してください。 出典:Ollama公式モデル説明

自分の道具に、声を足せる

今すぐ日本語の音声アシスタントを作りたい人には、まだ足りない。それでも、英語の読み上げを試したい人や、ローカルアプリに声を付けたい開発者には、分かりやすい選択肢が増えた。

最初から会話アプリを丸ごと作らなくてもいい。手元のAIが返した一文を、まず声にしてみる。画面を見続けなくても答えを受け取れるだけで、同じ道具の使い方が少し変わる。