読みもの

macOS 26のSpeechAnalyzerと音声入力

SpeechAnalyzerを音声入力アプリに組み込んで分かったことを書きます。できることと、できないこと。

macOS 26には、SpeechAnalyzerという新しい音声認識のAPIが入っています。Appleの発表ではあまり目立ちませんでしたが、音声入力アプリを作る側から見ると、前提を変える変更でした。

何が新しいのか

SpeechAnalyzerは、ライブ音声と長い録音に対応する新しいAPIとして設計されています。音声を流し込むと、話している途中から文字が返ってきます。処理はMacの中で終わり、ネットワークは使いません。

言語モデルは初回に一度だけダウンロードされます。それ以降は機内モードでも動きます。ゆびでは、この初回のダウンロード中だけ「準備中」という状態を出します。それが終われば、音声入力はオフラインで完結します。

日本語の扱い

日本語と英語は別々のモデルです。ゆびの自動設定では、Macの言語設定に合わせて日本語か英語を選びます。設定で日本語だけ、英語だけに固定することもできます。

固有名詞は苦手です。これはSpeechAnalyzerに限らず、どの音声認識でも同じです。会社名、製品名、人の名前は、聞いたことのない音の並びとして処理されるので、似た別の言葉に置き換えられます。SpeechAnalyzerには、出やすい言葉を候補として渡す仕組みがあります。ゆびは、いま起動しているアプリの名前と、あなたが登録した言葉をそこに渡しています。確実にその綴りになるわけではなく、認識されやすくなる、という仕組みです。

Whisperとの使い分け

ゆびにはもうひとつ、Whisperという選択肢があります。OpenAIが公開したモデルをMacで動かすもので、こちらも音声を外に出しません。SpeechAnalyzerとの違いは、話し終えてから文字にするところです。少し待たされます。私の環境では、雑音が多い場所で取った長いメモはWhisperのほうが崩れにくいことがあります。

私の使い方は、普段はSpeechAnalyzer、カフェで長いメモを取るときはWhisperです。どちらも利用料はかかりません。

できないこと

macOS 26より前のMacでは動きません。これはAppleのAPIなので回避できません。ゆびが「macOS 26以降」を条件にしているのはこのためです。Intel Macも対象外です。ゆびはApple Silicon向けにだけ作っています。

SpeechAnalyzerは文字を返すだけで、文章を整えることはしません。「えー」や言い直しはそのまま入ります。ゆびにはアプリごとに口調を整える仕組みがありますが、これはMacの中で動く単純なルールで、音声認識とは別のものです。

アプリを作る側から見て

一番大きかったのは、クラウドの文字起こしサービスに払う費用がなくなったことです。音声をアップロードしないので、文字起こし用のサーバーも、音声を保存する方針も要りません。音声入力に必要なものは、もうMacの中にあります。

書いたのは、ゆびを作っているカルロス・ラストレス。東京のインターナショナルデザイン合同会社。

出たら知らせて