コンテンツにジャンプ

Getting Started

GitHub

AI-Assisted セットアップを使用してプラグインをインストールすることができます。AI ツールに Capgo スキルを追加するには、以下のコマンドを使用してください。

ターミナル画面
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

次に、以下のプロンプトを使用してください。

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-speech-recognition` plugin in my project.

Manual Setup を好む場合は、以下のコマンドを実行してプラグインをインストールし、下記のプラットフォーム固有の指示に従ってください。

ターミナル画面
bun add @capgo/capacitor-speech-recognition
bunx cap sync
import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';

available

利用可能

利用可能なデバイス上のネイティブの音声認識サービスが利用可能であるかどうかを確認します。

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.available();

isOnDeviceRecognitionAvailable

isOnDeviceRecognitionAvailable

Checks whether the platform’s newer on-device recognition path is available for the selected locale.

This is the capability check you should use before enabling useOnDeviceRecognition. A true result means the current device, OS version, and locale can use the newer on-device path for that platform.

Returns false when the device only supports the legacy recognizer path.

Platform SDK docs: iOS: Speech Android: iOS:

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isOnDeviceRecognitionAvailable();

音声の収集と会話の文字起こしを開始します。

partialResults 」が指定されると、すぐに解決されるPromiseが返され、セッションが終了するまで更新は trueリスナーを通じてストリーミングされます。 partialResults デフォルトのパスは、後方互換性のためにレガシーリコGNIZERの動作を維持します。パス

を指定する前に、 useOnDeviceRecognition: true を確認してください。

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.start();

リスニングを停止し、ネイティブリソースを解放します。

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.stop();

現在のセッションを強制終了します。

Androidの場合、この最初に通常の停止を試みて、次にdestroy/recreateにフォールバックします。 timeoutiOSの場合、現在のセッションは即座に停止されます。

キャッシュされた部分トランスクリプトが残っている場合、その部分トランスクリプトはリスナーに「 partialResults 」で送信されます。 forced: true.

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.forceStop();

キャッシュされた最後の部分トランスクリプト結果を取得します。

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getLastPartialResult();

現在のプッシュ・トゥ・トークン・ボタンの状態を更新します。

この機能を使用するには continuousPTT またはカスタムのホールドトゥートークフローと一緒に使用してください。

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.setPTTState({} as PTTStateOptions);

認識エンジンがサポートする言語のリストを取得します。

Android 13+ デバイスでは、このリストは公開されなくなりました。その場合、空のリストになります。 languages クリップボードにコピー

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.getSupportedLanguages();

クリップボードにコピー

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.isListening();

checkPermissions

__CAPGO_KEEP_0__

現在の許可状態を取得します。

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.checkPermissions();

マイク + 会話認識の許可を要求します。

import { SpeechRecognition } from '@capgo/capacitor-speech-recognition';
await SpeechRecognition.requestPermissions();
export interface SpeechRecognitionAvailability {
available: boolean;
}

会話認識の動作を設定します。

export interface SpeechRecognitionStartOptions {
/**
* Locale identifier such as `en-US`. When omitted the device language is used.
*/
language?: string;
/**
* Maximum number of final matches returned by native APIs. Defaults to `5`.
*/
maxResults?: number;
/**
* Prompt message shown inside the Android system dialog (ignored on iOS).
*/
prompt?: string;
/**
* When `true`, Android shows the OS speech dialog instead of running inline recognition.
* Defaults to `false`.
*/
popup?: boolean;
/**
* Emits partial transcription updates through the `partialResults` listener while audio is captured.
*/
partialResults?: boolean;
/**
* Enables native punctuation handling where supported (iOS 16+).
*/
addPunctuation?: boolean;
/**
* Opt in to the platform's newer on-device recognition path when available.
*
* On iOS 26+, this uses Apple's `SpeechAnalyzer` / `SpeechTranscriber` pipeline.
* On recent Android versions, this uses the on-device `SpeechRecognizer` path.
*
* It is intentionally opt-in so existing apps keep the legacy flow unless they choose
* to roll out the new behavior.
*
* Use {@link SpeechRecognitionPlugin.isOnDeviceRecognitionAvailable} before enabling it in production.
*
* Platform SDK docs:
* iOS: [Speech](https://developer.apple.com/documentation/speech),
* [SpeechAnalyzer](https://developer.apple.com/documentation/speech/speechanalyzer),
* [SpeechTranscriber](https://developer.apple.com/documentation/speech/speechtranscriber)
* Android: [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer)
*
* Defaults to `false`.
*/
useOnDeviceRecognition?: boolean;
/**
* Allow a number of milliseconds of silence before splitting the recognition session into segments.
* Required to be greater than zero and currently supported on Android only.
*/
allowForSilence?: number;
/**
* EXPERIMENTAL: Keep a PTT session alive across silence by restarting recognition while the button stays held.
*
* This restart behavior is implemented for Android inline recognition and iOS native recognition.
*/
continuousPTT?: boolean;
}
export interface SpeechRecognitionMatches {
matches?: string[];
}

のオプション

export interface ForceStopOptions {
/**
* Android only: timeout in milliseconds before forcing stop via destroy/recreate.
*
* On iOS, the current session is stopped immediately and this value is ignored.
*
* Defaults to `1500`.
*/
timeout?: number;
}

の結果

export interface LastPartialResult {
/**
* Whether a partial result is currently cached.
*/
available: boolean;
/**
* The most recent transcript text known to the native recognizer.
*/
text: string;
/**
* All current match alternatives when available.
*/
matches?: string[];
}

のオプション

export interface PTTStateOptions {
/**
* Whether the PTT button is currently held.
*/
held: boolean;
}
export interface SpeechRecognitionLanguages {
languages: string[];
}
export interface SpeechRecognitionListening {
listening: boolean;
}

SpeechRecognitionPermissionStatus

「音声認識の許可状態」セクション

__CAPGO_KEEP_0__によって返される許可マップ checkPermissionsrequestPermissions.

export interface SpeechRecognitionPermissionStatus {
speechRecognition: PermissionState;
}

__CAPGO_KEEP_0__によって発生するセグメント結果が生成される場合 (Android 限定)

export interface SpeechRecognitionSegmentResultEvent {
matches: string[];
}

__CAPGO_KEEP_0__によって発生するパーシャルトランスクリプション

export interface SpeechRecognitionPartialResultEvent {
/**
* Current recognition matches when the native recognizer reports them.
*
* This can be omitted for forced or accumulated-only payloads.
*/
matches?: string[];
/**
* Accumulated transcription from earlier continuous PTT cycles.
*/
accumulated?: string;
/**
* Final accumulated text including the current result.
*/
accumulatedText?: string;
/**
* `true` when the plugin is restarting recognition inside a continuous PTT session.
*/
isRestarting?: boolean;
/**
* `true` when the payload was emitted by `forceStop()`.
*/
forced?: boolean;
}

リスニング状態が変化したときに発生します。

export interface SpeechRecognitionListeningEvent {
/**
* Finite state of the recognition session.
*/
state?: ListeningFiniteState;
/**
* Unique identifier for the current listening session.
*/
sessionId?: number;
/**
* Why this state transition occurred.
*/
reason?: ListeningReason;
/**
* Error code when the transition is caused by an error.
*/
errorCode?: string;
/**
* Backward-compatible binary state used by earlier releases.
*/
status?: 'started' | 'stopped';
}

このページはプラグインの src/definitions.ts公開APIがアップストリームで変更されたときに再度Syncを実行してください。

あなたが Getting Started ダッシュボードとAPIの運用計画を立てるには、 Using @capgo/capacitor-speech-recognition Using @capgo/capacitor-speech-recognition APIの概要 for the implementation detail in API Overview 概要 for the implementation detail in Introduction APIの鍵 for the implementation detail in API Keys デバイス for the implementation detail in Devices。