リファレンスとヘルプ

CLI ガイド

ターミナルからオフライン文字起こし、プリセットモデル管理、shell 補完生成、ヘッドレス API サーバー起動を行うための CLI リファレンスです。

AI に質問

この環境では、保護付きのガイド質問機能が有効になっていません。

Sona は、デスクトップアプリの実行ファイルを通じて、オフライン文字起こし用の CLI コマンドを提供しています。パッケージ版インストーラーでインストールした場合、sona がシェルの PATH に自動追加されないことがあるため、インストール済みアプリのバイナリを直接指定して CLI サブコマンドを実行してください。ソースからビルドする場合は、Cargo から同じコマンドを実行できます。

CLI の範囲は意図的に絞られています。現在含まれるのは、単一ファイルとディレクトリのオフライン文字起こし、プリセットモデルの一覧表示 / ダウンロード / 削除、ヘッドレス HTTP API サーバー起動です。Live Record、LLM Polish、Translate は CLI には含まれません。

実行方法

  • Windows: インストールディレクトリから Sona.exe transcribe ... を実行します。
  • macOS: /Applications/Sona.app/Contents/MacOS/Sona transcribe ... を実行します。
  • Linux パッケージ: インストール先の Sona バイナリに CLI サブコマンドを付けて実行します。
  • AppImage: マウントした AppImage の実行ファイルを指定し、CLI サブコマンドを付けて実行します。
  • ソースからビルド: cargo run --manifest-path src-tauri/Cargo.toml -- transcribe ./sample.mp4 --config ./sona-cli.toml を実行します。

主なコマンド

ファイルを文字起こしする

sona transcribe ./sample.mp4 \
  --config ./sona-cli.toml \
  --output ./sample.srt

--output を指定しない場合、文字起こし結果は JSON として標準出力(stdout)に出力されます。--output を指定した場合、--format を明示しない限り、出力形式はファイル拡張子から自動判定されます。既存の出力ファイルは既定で保護されます。上書きする場合だけ --force を指定してください。

ディレクトリを文字起こしする

sona transcribe \
  --input-dir ./media \
  --output-dir ./transcripts \
  --format srt \
  --recursive \
  --jobs 1 \
  --config ./sona-cli.toml

ディレクトリモードでは、対応している各メディアファイルごとに --output-dir へ文字起こしファイルを書き出します。既定では直下のファイルだけを走査します。--recursive を追加するとサブディレクトリも対象になり、相対パスを保ったまま出力されます。文字起こし本文はファイルへ書き出され、stdout には JSON の成功 / 失敗サマリーが出力されます。

複数の入力ファイルや glob パターンも指定できます。これらはディレクトリモードと同じバッチ出力計画を使うため、--output-dir が必要です。

sona transcribe ./media/*.wav ./media/interview.mp4 --output-dir ./transcripts --format srt

モデルを一覧表示、ダウンロード、削除する

sona models list --mode offline --type whisper
sona models list --language zh --installed
sona models list --json
sona models download sherpa-onnx-whisper-turbo
sona models delete sherpa-onnx-whisper-turbo

models list は既定で読みやすい表形式で出力します。install_path を含む完全な機械可読形式が必要なスクリプトでは --json を使ってください。 models download を実行すると、選択したプリセットで必要な場合に、silero-vad や既定の句読点モデルなどの関連モデルも自動でダウンロードされます。 models delete は指定したモデルだけを削除します。関連モデルは自動削除されません。

API サーバーを起動する

sona serve --host 127.0.0.1 --port 14200 --api-key your_secure_key

HTTP API のエンドポイントやリクエスト例は、HTTP API ガイドを参照してください。

設定ファイル

--config オプションで TOML ファイルを渡します。コマンドライン引数で指定した値は、設定ファイルの値を上書きします。

最小構成の transcribe 設定ファイル例:

models_dir = "C:/Users/you/AppData/Local/com.asoda.sona/models"
model_id = "sherpa-onnx-whisper-turbo"
vad_model_id = "silero-vad"
language = "auto"
threads = 4
enable_itn = false
vad_buffer_size = 5.0
gpu_acceleration = "auto"
hotwords = "Sona,offline ASR"
format = "srt"
quiet = false
jobs = 1

transcribe の設定キー

パラメータ / 設定キー必須かどうか指定可能な値の範囲デフォルト値備考
models_dir任意ファイルシステムパス推測可能な場合はデスクトップアプリのモデルディレクトリCLI がデスクトップアプリのモデルを検出できない場合に、明示的にパスを指定します。
model_id引数 --model-id を指定しない限り必須オフラインのプリセットモデル IDなしsona models list --mode offline で ID を確認してください。
vad_model_id任意プリセットモデル ID必要な場合は silero-vad選択したモデルが VAD を必要とする場合に使います。既定の関連モデルを上書きできます。
punctuation_model_id任意プリセットモデル ID必要な場合は sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12-int8選択したモデルが句読点モデルを必要とする場合に使います。既定の関連モデルを上書きできます。
language任意auto または zhenja などのモデル言語コードauto自動言語検出を上書きします。
threads任意0 より大きい整数4認識処理のスレッド数。
enable_itn任意true または falsefalse逆テキスト正規化(ITN)を有効にします。
hotwords任意カンマ区切りの単語なしカスタム ASR ホットワード。現在、Transducer および Qwen3 モデルでサポートされています。
quiet任意true または falsefalsetrue の場合、文字起こしの進捗表示を隠します。CLI の --quiet でも有効になります。
jobs任意0 より大きい整数1ディレクトリ、複数入力、glob モードでの最大同時ファイルジョブ数。CLI の --jobs が上書きします。
vad_buffer_size任意0 より大きい数値5.0VAD のバッファサイズ(秒単位)。
gpu_acceleration任意auto, cpu, cuda, coreml, directmlautoGPU アクセラレーションを無効にする場合は cpu を指定します。
format任意json, txt, srt, vtt, md標準出力またはディレクトリモードでは json、それ以外は --output から自動判定出力ファイル拡張子からの自動判定を上書きします。

serve の設定キー

パラメータ / 設定キー必須かどうか指定可能な値の範囲デフォルト値備考
host任意バインド IP アドレス0.0.0.0ローカルマシンからのアクセスに限定する場合は 127.0.0.1 を使います。
port任意TCP ポート 06553514200API サーバーの TCP ポート番号。
api_key任意文字列空文字空の場合、リクエストは Bearer 認証で保護されません。
models_dir任意ファイルシステムパス推測可能な場合はデスクトップアプリのモデルディレクトリインストール済みモデルの解決に使います。
ip_whitelist任意カンマ区切りのルールlocalhostlocalhost、特定の IP、CIDR、*192.168.* などの IPv4 ワイルドカードをサポートします。
max_streaming任意非負整数2WebSocket の最大同時ストリーミング接続数。
max_concurrent任意非負整数2最大同時バッチジョブ処理数。
max_queue_size任意非負整数1000 はキューを無制限にすることを意味します。
max_upload_size_mb任意非負整数500 はアップロードファイル制限を無効にします。
job_ttl_minutes任意非負整数600 は完了または失敗したジョブ履歴のクリーンアップを無効にします。
gpu_acceleration任意auto, cpu, cuda, coreml, directmlautoローカルのバッチジョブとストリーミングジョブに使う、サーバーレベルの既定値です。
vad_model_id任意プリセットモデル IDsilero-vadAPI サーバージョブで使う既定の VAD 関連モデル。
punctuation_model_id任意プリセットモデル IDsherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12-int8API サーバージョブで使う既定の句読点関連モデル。

パラメータ

グローバル

sona
  -V, --version
  -v, --verbose
  -h, --help
  help

Sona のバージョンを表示するには -V または --version を使います。詳しい診断ログを出すには、サブコマンドの前に -v または --verbose を追加します。コマンドのヘルプは、-h--help、または help サブコマンドで表示できます。

sona --version
sona -V
sona -v models list
sona --verbose transcribe ./sample.mp4 --config ./sona-cli.toml
sona transcribe --help

詳細な診断情報は標準エラー出力(stderr)に出力されます。models list の表または JSON 出力や、--output を付けない transcribe の JSON 出力など、コマンド本体の結果は標準出力(stdout)に出るため、他のツールへパイプできます。

高度なラッパーやテストでは、SONA_FORCE_CLI=1 を設定すると、認識済みの CLI サブコマンドなしで実行ファイルが起動された場合でも CLI モードを強制できます。

shell 補完スクリプトは sona completions <shell> で生成できます。対応シェルは bashzshfishpowershellelvish で、スクリプトは stdout に出力されます。

transcribe

パラメータ / 設定キー必須かどうか指定可能な値の範囲デフォルト値備考
<input>...--input-dir を指定しない限り必須ローカルの音声 / 動画ファイルパス、または glob パターンなし1 つの入力は単一ファイルモードです。複数入力や glob パターンはバッチモードになり、--output-dir が必要です。
--input-dir <dir>ディレクトリモードでは必須ディレクトリパスなしディレクトリ内の対応メディアファイルを文字起こしします。
--config <path>任意TOML ファイルパスなし設定ファイルから既定値を読み込みます。
--output <path>任意ファイルシステムパスstdout単一ファイルモード専用の出力ファイルパス。既存ファイルがある場合は、--force を指定しない限りエラーになります。
--output-dir <dir>--input-dir、複数入力、または glob と併用する場合は必須ディレクトリパスなし入力ファイルごとに文字起こしファイルを書き出します。計画された出力が既にある場合は、--force を指定しない限りエラーになります。
--recursive任意フラグオフサブディレクトリを走査し、相対出力パスを保ちます。
--jobs <n>任意0 より大きい整数jobs 設定または 1バッチモードの最大同時ファイルジョブ数。
--format <format>任意json, txt, srt, vtt, md標準出力またはディレクトリモードでは json、それ以外は --output から自動判定設定ファイルと出力ファイル拡張子による自動判定を上書きします。
--language <code>任意auto またはモデル言語コードauto設定ファイルの指定を上書きします。
--model-id <id>設定ファイルで model_id が設定されていない限り必須オフラインのプリセットモデル IDなしメインの音声認識モデル。
--models-dir <path>任意ファイルシステムパス推測可能な場合はデスクトップアプリのモデルディレクトリ設定ファイルの指定を上書きします。
--vad-model-id <id>任意プリセットモデル ID必要な場合は silero-vad既定の VAD 関連モデルを上書きします。
--punctuation-model-id <id>任意プリセットモデル ID必要な場合は sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12-int8既定の句読点関連モデルを上書きします。
--threads <n>任意0 より大きい整数4設定ファイルの指定を上書きします。
--enable-itn任意フラグfalse--disable-itn と同時には使えません。
--disable-itn任意フラグfalseenable_itn = true を上書きします。--enable-itn と同時には使えません。
--hotwords <words>任意カンマ区切りの単語なしhotwords を上書きします。現在、Transducer および Qwen3 モデルでサポートされています。
--gpu-acceleration <provider>任意auto, cpu, cuda, coreml, directmlauto設定ファイルの指定を上書きします。
--vad-buffer <seconds>任意0 より大きい数値5.0vad_buffer_size の CLI 引数名。
--save-wav <path>任意ファイルシステムパスなしCLI 専用。リサンプリングされた中間 WAV ファイルを保存します。--input-dir とは併用できません。
--quiet任意フラグオフ文字起こしの進捗表示を隠し、quiet = false を上書きします。
--force任意フラグオフ既存の出力ファイルの上書きを許可します。バッチモードで同じ出力に解決される入力は引き続き失敗します。

models list

パラメータ / 設定キー必須かどうか指定可能な値の範囲デフォルト値備考
--models-dir <path>任意ファイルシステムパス推測可能な場合はデスクトップアプリのモデルディレクトリインストール済みプリセットの検出に使います。
--mode <mode>任意streaming, offlineすべてのモード対応モードで絞り込みます。
--type <type>任意プリセットモデルの種類(whispervadpunctuation など)すべての種類モデルタイプで絞り込みます。
--language <code>任意言語トークン(zhenjayue など)すべての言語対応言語トークンで絞り込みます。
--installed任意フラグオフmodels_dir 内に存在するモデルだけを表示します。
--json任意フラグオフ既定の表形式ではなく、機械可読 JSON を出力します。
出力常に表または JSON標準出力に出力されます。

models download

パラメータ / 設定キー必須かどうか指定可能な値の範囲デフォルト値備考
<model_id>必須既知のプリセットモデル IDなしダウンロードするメインモデル。
--models-dir <path>任意ファイルシステムパス推測可能な場合はデスクトップアプリのモデルディレクトリ保存先のモデルディレクトリ。
--quiet任意フラグオフダウンロードごとの進捗表示を隠します。
関連ダウンロード自動必須の VAD および句読点プリセット自動メインモデルをダウンロードすると、必要な関連モデルも自動的にダウンロードされます。

models delete

パラメータ / 設定キー必須かどうか指定可能な値の範囲デフォルト値備考
<model_id>必須既知のプリセットモデル IDなし削除するモデル。
--models-dir <path>任意ファイルシステムパス推測可能な場合はデスクトップアプリのモデルディレクトリ対象モデルディレクトリ。
--yes任意フラグオフ対話確認を省略します。
インストール先がない場合いいえ既知だが未インストールのプリセット成功 no-opstderr に通知して終了コード 0 で終了します。
関連モデルの削除いいえ必須の VAD と句読点プリセット削除しない不要な関連モデルは明示的に削除してください。

serve

パラメータ / 設定キー必須かどうか指定可能な値の範囲デフォルト値備考
--config <path>任意TOML ファイルパスなし設定ファイルから既定値を読み込みます。
--host <ip>任意バインド IP アドレス0.0.0.0設定ファイルの指定を上書きします。
--port <port>任意TCP ポート 06553514200設定ファイルの指定を上書きします。
--api-key <key>任意文字列空文字設定ファイルの指定を上書きします。
--models-dir <path>任意ファイルシステムパス推測可能な場合はデスクトップアプリのモデルディレクトリ設定ファイルの指定を上書きします。
--ip-whitelist <rules>任意カンマ区切りのルールlocalhostlocalhost、特定の IP、CIDR、*192.168.* などの IPv4 ワイルドカードをサポートします。
--max-streaming <n>任意非負整数2設定ファイルの指定を上書きします。
--max-concurrent <n>任意非負整数2設定ファイルの指定を上書きします。
--max-queue-size <n>任意非負整数100設定ファイルの指定を上書きします。
--max-upload-size-mb <n>任意非負整数50設定ファイルの指定を上書きします。
--job-ttl-minutes <n>任意非負整数60設定ファイルの指定を上書きします。
--gpu-acceleration <provider>任意auto, cpu, cuda, coreml, directmlautoHTTP API リクエストでは、リクエスト単位の GPU 上書きは受け付けません。
--vad-model-id <id>任意プリセットモデル IDsilero-vad設定ファイルの指定を上書きします。
--punctuation-model-id <id>任意プリセットモデル IDsherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12-int8設定ファイルの指定を上書きします。

Clap が自動生成する詳細なヘルプを見るには、sona <command> --help を実行してください。

デスクトップアプリの通常のワークフローを使いたい場合は、はじめに または Batch Import に戻ってください。

前へ

語彙 / 詳細設定

次へ

HTTP API