音声認識(ASR)
coli CLI で音声ファイルをローカルで文字起こし — 多言語対応、AI 整形はオプション、完全オフライン、API キー不要。
coli asr を使って音声ファイルを文字起こしします。ローカルの音声認識モデルによって完全に自分のマシン上で動作するため、ListenHub API キーは不要で、モデルのダウンロードが済めばインターネット接続も不要です。
ListenHub API キーは不要です。 この Skill はローカルでのみ動作し、ListenHub API を呼び出しません。listenhub とは別のツールである coli CLI が必要です。下記の前提条件を参照してください。
トリガー
/asr でこの Skill を呼び出すか、次のいずれかのフレーズを使用します:
| フレーズ | 言語 |
|---|---|
transcribe / transcribe this | 英語 |
ASR | 英語 |
转录 / 识别音频 | 中国語 |
语音转文字 | 中国語 |
把这段音频转成文字 | 中国語 |
前提条件
この Skill は listenhub CLI ではなく coli CLI に依存します。一度だけインストールしてください:
npm install -g @marswave/coli任意ですが推奨: 圧縮フォーマット(MP4、M4A、AAC など)に対応するため ffmpeg をインストールしてください:
# macOS
brew install ffmpeg
# Ubuntu / Debian
sudo apt install ffmpegWAV ファイルは ffmpeg なしで文字起こしできます。それ以外のフォーマットはデコードに ffmpeg が必要です。
初回実行時のモデルダウンロード
認識モデルは CLI に同梱されていません。初回の文字起こし時に、coli が必要なモデル(約 60 MB)を ~/.coli/models/ へ自動でダウンロードします。ダウンロードはモデルごとに一度だけ行われ、少し時間がかかります — モデルがまだ存在しない場合は、AI がダウンロード中であることを知らせます。以降の実行ではキャッシュ済みのモデルを再利用し、すぐに開始します。
ダウンロード後の文字起こしは完全にオフラインです。音声がマシンの外に出ることはなく、ネットワーク通信も発生しません。
簡単な例
Transcribe this file: meeting.m4aAI が前提条件を確認し、設定を読み込み、モデルと整形(polish)の設定を確認したうえで、ローカルで文字起こしを実行します。結果は会話内にそのまま表示されます。
モデル
この Skill には 2 つの認識モデルが同梱されています。音声に含まれる言語と、感情などの追加シグナルが必要かどうかで選んでください。
| モデル | 対応言語 | 感情 / イベントの検出 | 備考 |
|---|---|---|---|
sensevoice(デフォルト) | 中国語、英語、日本語、韓国語、広東語 | あり | 多言語コンテンツや、言語が不明な場合に推奨 |
whisper-tiny.en | 英語のみ | なし | より小さい英語専用モデル |
音声が確実に英語で軽量なモデルを使いたい場合を除き、sensevoice を使ってください。sensevoice はデフォルトであり、汎用的な選択としても優れています — 5 言語をカバーし、下記の言語・感情・音声イベントのシグナルを返します。
検出されるメタデータ
JSON 出力で実行すると、sensevoice は文字起こしテキスト以外の情報も返します。結果には次が含まれます:
lang— 検出された発話言語emotion— 検出された発話の感情event— 検出された非音声の音イベント(例:背景音)duration— 音声の長さ(秒)
AI は文字起こしと併せて lang、emotion、duration を提示し、Markdown エクスポートのヘッダーにも書き込みます。whisper-tiny.en は文字起こしと duration を返しますが、感情やイベントの検出は行いません。
AI 整形
整形(polish)は、coli がテキストを返した後に AI が生の文字起こしへ適用する後処理です。デフォルトで有効です。
| モード | 得られる結果 |
|---|---|
| 整形あり(デフォルト) | AI が生の文字起こしを書き換え、句読点を修正し、フィラーワードを取り除き、読みやすさを高めます — 意味を変えたり、要約したり、言い換えたりはしません |
| 整形なし | モデルが返した生の文字起こしをそのまま、編集せずに出力します |
生の文字起こしは常に保持されます。整形が有効でも、AI に未編集の原文を表示するよう頼めます。単発の文字起こしだけ整形を無効にするには、リクエストにその旨を書いてください(例:"transcribe interview.wav, no polish")。デフォルトを変更するには、この Skill を再設定してください。
出力
文字起こしは会話内にそのまま表示され、その後に検出されたメタデータが続きます:
Transcription complete
{transcript text}
─────────────────
lang: {lang} · emotion: {emotion} · duration: {duration}s整形が有効な場合は、整形後のバージョンが AI により調整されたものとして表示されます。
Markdown エクスポート
結果を提示した後、AI は文字起こしを Markdown ファイルとしてカレントディレクトリに保存するか尋ねます:
{audio-filename}-transcript.mdこのファイルには、ソースファイル・日付・モデル・長さ・検出された言語を記録した front-matter ヘッダーの下に、文字起こし(整形が有効な場合は整形後のバージョン)が入ります:
---
source: meeting.m4a
date: 2026-06-25
model: sensevoice
duration: 312s
lang: zh
---
{transcript text}設定
設定はプロジェクトごとに .listenhub/asr/config.json に保存され、初回利用時に妥当なデフォルト値(sensevoice、整形あり)で自動作成されます。使い始めるのに設定は不要です。デフォルトを変更したい場合は AI に再設定を頼んでください。モデルと整形の選択を順に案内し、回答を保存します。
| 設定項目 | デフォルト | 選択肢 |
|---|---|---|
model | sensevoice | sensevoice、whisper-tiny.en |
polish | true | true、false |
CLI コマンド
この Skill は coli asr コマンドを実行します。AI が検出されたメタデータを読めるよう、JSON 出力を使用します:
# Transcribe with JSON output (returns text, lang, emotion, event, duration)
coli asr -j --model sensevoice "meeting.m4a"
# English-only, lighter model
coli asr -j --model whisper-tiny.en "talk.wav"インストール済みバージョンが現在サポートするフラグの一覧は coli asr --help で確認してください。
組み合わせ
この Skill が生成する文字起こしテキストは、同じ会話内で他の Skill にそのまま渡せます:
- 録音したインタビューを文字起こしし、参考資料として
/podcastに渡す - ボイスメモを文字起こしし、
/explainerの入力として使う
より多くの連携ワークフローについては Skill の組み合わせ を参照してください。
API リファレンス
なし。この Skill は API 呼び出しを行いません — ローカルの coli asr コマンドのみを使用します。