Tamkaのアイコン

Tamka

Rustで書かれた、Mac向けのオンデバイス音声入力アプリ。

Tamka(タムカ)はスワヒリ語で「発音する」「口にする」という意味です。

Parakeet Ultraを使用中のTamkaの“Models”設定、最近の音声入力が3件並ぶメニュー、0:12を示す聞き取り中のインジケータ

Macのどのアプリにも音声入力

Tamkaは、音声認識モデルをダウンロードすればオフラインで使える、macOS向けの無料でオープンソースの音声入力アプリです。

ショートカットを押して話し、もう一度ショートカットを押すと、カーソル位置にテキストが入力されます。音声認識はNVIDIAのParakeetモデルを使ってNeural Engine上で行われ、音声がMacの外に送られることはありません。M5 Max搭載のMacBook Proでは、50秒話した後でも、話し終えてから約0.2秒でテキストが入力されます。

Tamkaは入力の前に「um」や「uh」を取り除き、言葉の繰り返しをまとめ、「comma」「new line」「open paren」などの音声コマンドを対応する文字に変換します。Parakeet Ultraを読み込んだ状態のメモリ使用量は約0.5GBで、その大半はNeural Engineが保持するモデルの重みです。

音声入力する

  1. テキストを入力したい場所をクリックします。メール、チャット、コードエディタ、検索ボックスなど、どこでもかまいません。
  2. ⌃Vを押して話します。タイマー付きのインジケータが、Tamkaが聞き取り中であることを示します。
  3. もう一度⌃Vを押します。Tamkaが話した内容をカーソル位置に入力し、クリップボードにもコピーを残します。

聞き取り中にEscを押すと、録音を破棄します。デフォルトのショートカットは⌃Vです。“Settings › General”で、⌘、⌃、⌥のいずれかを含む任意の組み合わせを選べます。

インジケータ

インジケータが入力中のアプリからフォーカスを奪うことはありません。ほかのディスプレイも含めて好きな場所にドラッグすると、以降の音声入力では毎回その場所に表示されます。そのディスプレイが取り外された場合は、ポインタのある画面の下部中央に戻ります。

聞き取り中のインジケータ:赤い点、0:12を示すタイマー、ショートカットのヒント 文字起こし中のインジケータ

音声認識モデルを選ぶ

アプリに音声認識モデルは含まれていません。初回起動時にSettings › Modelsが開き、Parakeet Ultraに“Recommended”と表示されています。モデルはダウンロード後はオフラインで動作し、削除したモデルはゴミ箱に移動されます。

「サイズ」はダウンロードサイズと、読み込み中にモデルが使用するメモリを表します。「速度」は話し終えてからテキストが表示されるまでの速さ、「精度」は日常的な発話での単語誤り率です。アプリでは評価にポインタを合わせると、その根拠となる測定値を確認できます。

Settingsの“Models”タブ:Parakeet Ultra、Phonon-2、v3、v2、Apple Speechと、それぞれのサイズ、速度、精度の評価
モデルサイズ速度精度向いている用途
Parakeet Ultra(おすすめ)BAA日常的な音声入力(句読点が最も正確)
Parakeet Phonon-2AAA−台本のない、くだけた話し言葉
Parakeet v3AAA−ヨーロッパの25言語のいずれかで話す場合
Parakeet v2AA+B+最速で結果を得たい場合
Apple SpeechA+BBモデルの個別ダウンロードは不要(先にmacOSが言語ファイルを取得する場合あり)

音声コマンドとテキストの整形

コマンドを話すと、Tamkaはスペースを整えて記号を入力します。たとえば「call foo open paren bar close paren」はcall foo (bar)になります。下の表は、112個のデフォルトコマンドのうち10個です。

Settings › Textでは、フィラーの除去と言葉の繰り返しの整理のオン/オフ、数字・価格・日付の数字表記(実験的機能)を設定でき、コマンドの検索、追加、編集、削除もできます。⌘Zで変更を取り消せ、Restore Defaults…で元のリストに戻せます。

話す言葉入力される文字話す言葉入力される文字
「comma」,「new line」改行
「question mark」?「new paragraph」空行
「open quote」…「close quote」" … "「open paren」…「close paren」( … )
「at sign」@「em dash」—
「percent sign」%「smiley face」:)
Settingsの“Text”タブ:整形のオプションと、検索できる音声コマンドの表

設定

Settings › Generalには、ショートカット、録音時間の上限、開始・停止時のサウンド、インジケータの位置、テキストをペーストするかどうかとクリップボードに残すかどうか、ログイン時の起動、マイクとアクセシビリティのアクセス権、アクティビティログの設定があります。

変更はすぐに反映されます。

Settingsの“General”タブ:ショートカット、録音、インジケータ、ペースト、起動、アクセス権、トラブルシューティング

精度と速度

M5 Max搭載のMacBook Proで、人が確認した書き起こし付きの朗読、会議、決算説明会の公開録音117件(32分)を使い、Parakeet UltraとWhisper large-v3-turboを比較しました。

測定項目Whisper large-v3-turboTamka(Parakeet Ultra)
単語誤り率(全録音)9.9%7.7%
単語誤り率(会議の録音を除く)6.9%6.2%
メモリ1.2〜1.6GB約0.5GB
50秒の音声入力後の待ち時間471ms170ms

会議の録音を除くと、精度の差は誤差の範囲内です。ベンチマークの全結果では、11通りのモデル構成を比較しています。自分の声や語彙でモデルを比較するには、eval/README.mdを参照してください。

Tamkaを入手

最新リリースからzipファイルをダウンロードしてください。Appleによる署名と公証を受けています。

ダウンロード

動作環境
Appleシリコン、macOS 26以降
ほかのバージョン
GitHubのリリース

使用時

音声認識モデル
Parakeet Ultra、632MB、ダウンロードは初回のみ
メモリ
Parakeet Ultra使用時で約0.5GB
macOS 26が必要な理由
Apple SpeechエンジンがSpeechAnalyzerを使用するため

インストール

  1. Tamka-macOS-arm64.zipをダウンロードして展開します。
  2. Tamkaをアプリケーションフォルダにドラッグして開きます。

ソースからビルド

Xcode 26以降と、rustupで入手できる最新の安定版Rustツールチェーンが必要です。

git clone https://github.com/piedol/tamka.git
cd tamka && scripts/bundle.sh --install

このスクリプトはアプリと音声エンジンをビルドして両方に署名し、Tamka.appを/Applicationsにコピーして開きます。TAMKA_SIGN_IDENTITYが設定されていればそれで署名し、設定されていなければキーチェーン内の最初のDeveloper ID Application証明書で署名します。どちらもない場合はアドホック署名になり、ビルドのたびにmacOSがアクセス権を求めます。

Tamkaの初回起動時

  1. “Settings › Models”が開きます。Parakeet Ultra(632MB)の横にあるDownloadをクリックします。
  2. Tamkaがテキストをペーストできるように、アクセシビリティを許可します。許可しない場合、Tamkaはテキストをコピーするだけなので、自分でペーストします。
  3. 初めて音声入力するときに、マイクへのアクセスを許可します。

TamkaにはDockアイコンがありません。ログイン時に起動するには、“Settings › General”でLaunch Tamka at loginをオンにします。削除するには、READMEのアンインストールの手順に従ってください。

プライバシー

音声認識はすべてMac上で行われます。

  • Tamkaがインターネットに接続するのは、モデルをダウンロードするときだけです。ParakeetモデルはHugging Faceから、Apple Speechの言語ファイルはAppleからダウンロードされます。
  • マイクがオンになるのは音声入力中だけです。
  • TamkaはTranscribe Last Recording Againのために、直前の録音を~/Library/Caches/Tamka/last.wavに保存します。新しく音声入力するたびに上書きされます。
  • ~/Library/Logs/Tamka.logのログに記録されるのはイベントと所要時間だけで、話した内容は記録されません。

よくある質問

Tamkaは無料でオープンソースですか?

はい。Tamkaは無料でダウンロードして使用でき、ソースコードはGNU General Public License v3.0以降のもとでGitHubで公開されています。

Tamkaはオフラインで使えますか?

はい。音声認識はすべてMac上で行われます。Tamkaがインターネットに接続するのは、音声認識モデルをダウンロードするときだけです。ParakeetモデルはHugging Faceから、Apple Speechの言語ファイルはAppleからダウンロードされます。

TamkaはどのMacに対応していますか?

macOS 26以降を搭載したAppleシリコンのMacです。Apple Speechエンジンは、macOS 26で新たに導入されたSpeechAnalyzerを使用します。

Tamkaの精度と速度はどのくらいですか?

M5 Max搭載のMacBook Proで117件の公開録音を使って測定したところ、Parakeet Ultraの単語誤り率は7.7%(Whisper large-v3-turboは9.9%)で、50秒の音声入力の170ms後にテキストを返しました。

Tamkaをインストールするにはどうすればよいですか?

Tamka-macOS-arm64.zipをダウンロードして展開し、Tamkaを“アプリケーション”にドラッグして開きます。初回起動時にParakeet Ultra(632MB)をダウンロードし、アクセシビリティとマイクへのアクセスを許可します。

Tamkaをアンインストールするにはどうすればよいですか?

Tamkaを終了してTamka.appをゴミ箱に入れ、続いて~/Library/Application Support/Tamka、~/Library/Caches/Tamka、~/Library/Logs/Tamka.logをゴミ箱に入れます。ダウンロードしたモデルは~/Library/Application Support/FluidAudio/Modelsにあります。

ライセンス

TamkaはGNU General Public License v3.0以降のもとで公開されているフリーソフトウェアです。バグ報告やプルリクエストはGitHubで受け付けています。

仕事を含めどこでも使用でき、ソースコードを読み、改変し、共有できます。改変版を配布する場合は、そのソースコードを同じライセンスで公開してください。

音声ランタイム:FluidAudio(Apache-2.0)。モデル:NVIDIA Parakeet(CC-BY-4.0)、MoondreamによるParakeet Ultra、Fermion ResearchによるPhonon-2。各モデルのライセンスは、それぞれの作成者が定めています。