このガイドでは、Fun-ASR-Realtime のリアルタイム音声認識用 Android SDK を使用して、音声をテキストに変換する方法について説明します。
クイックスタート
- API キーの取得
-
SDK をダウンロードしてサンプルコードを実行します:
- 最新のSDKパッケージをダウンロードしてください。
- ZIPパッケージを展開します。AAR形式のSDKは
app/libsディレクトリにあります。これをプロジェクトの依存関係に追加してください。Android C++統合の場合は、ZIPパッケージ内のandroid_libsとandroid_includeを使用して動的ライブラリとヘッダーファイルを取得してください。 - Android Studioでプロジェクトを開きます。サンプルコードは
DashFunAsrSpeechTranscriberActivity.javaにあります。APIキーを置き換えて機能を試してください。
呼び出し手順
- SDK を初期化します。
- ユースケースに合わせてパラメータを設定します。
initializeメソッドのparameters引数を使用して接続および制御パラメータを設定し、setParamsメソッドを使用して音声認識パラメータを設定します。 startDialogを呼び出して認識を開始します。onNuiAudioStateChangedコールバックで、音声状態に基づいて録音デバイスを開始します。onNuiNeedAudioDataコールバックで録音データを継続的に供給するか、updateAudioを呼び出して録音データをアクティブにプッシュします。onNuiEventCallbackコールバックで、イベントをリッスンし、音声認識結果を取得します。stopDialogを呼び出して認識を停止し、EVENT_TRANSCRIBER_COMPLETE イベントをリッスンして認識が終了したことを確認します。- 認識が不要になったら、
releaseを呼び出してSDKリソースを解放してください。
リクエストパラメーター
接続および制御パラメータ
これらのパラメータを設定するには、initializeメソッドのparameters引数にJSON文字列を渡します。
- 例: 以下はJSON文字列の例です。すべてのパラメータが記載されているわけではありません。コードを記述する際は、必要に応じて他のパラメータを追加してください。
-
パラメーター
パラメーター タイプ 必須 説明 urlStringはい サービスアドレス: wss://dashscope.aliyuncs.com/api-ws/v1/inference- 中国(北京):
wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference - シンガポール:
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/inference
{WorkspaceId}を実際の ワークスペースID に置き換えます。apikeyStringはい API キー。 service_modeStringはい 実行モードです。リアルタイム音声認識では "1"に固定されます。device_idStringはい エンドユーザーを識別する一意の文字列です。アプリ内のユーザーIDやクライアント生成の一意のデバイス識別子に設定できます。このIDは主にログトレースとトラブルシューティングに使用されます。 audio_update_manuallyStringいいえ アクティブな音声データプッシュを有効にするかどうかです。デフォルト: "false"。"true"に設定されており、SDKバージョンがAECやVADなどのオンデバイス音声処理機能をサポートしている場合、これらの機能はデフォルトで有効になります。workspaceStringいいえ オンデバイスリソースファイルが保存されているパスです。このパラメータは、 audio_update_manuallyが"true"に設定されており、AECやVADなどのオンデバイス音声処理機能が有効な場合に必須です。debug_pathStringいいえ ログファイルの保存パス。このパラメーターは、 initializeメソッドでsave_logが true に設定されている場合にのみ有効です。この場合、ログファイルのパスを設定する必要があり、設定しない場合はエラーが発生します。ローカルには最大2つのログファイルが保持されます。save_wavStringいいえ デバッグ音声ファイルを保存するかどうかです。音声ファイルは debug_pathの下に保存されます。デフォルト:"false"。有効な値:- "true":ファイルを保存します。
- "false":ファイルを保存しません。
initializeメソッドでsave_logが true に設定されている場合にのみ有効です。さらに、debug_pathも設定する必要があります。max_log_file_sizeintいいえ ログファイルの最大サイズ(バイト単位)。このパラメーターは、 initializeメソッドでsave_logが true に設定されている場合にのみ有効です。デフォルト:104857600(100 * 1024 * 1024 バイト、つまり 100 MiB)。log_track_levelintいいえ ログコールバック( onNuiLogTrackCallback)を通じて送信されるログコンテンツのフィルターレベルです。デフォルト:2。有効な値:- 0: LOG_LEVEL_VERBOSE
- 1: LOG_LEVEL_DEBUG
- 2: LOG_LEVEL_INFO
- 3: LOG_LEVEL_WARNING
- 4: LOG_LEVEL_ERROR
- 5:LOG_LEVEL_NONE(この機能を無効化)
log_track_levelとlevel(initializeメソッドで設定)が組み合わさって、最終的にコールバックに送信されるログを決定します。ログがコールバックに送信されるのは、そのレベル値がlog_track_levelとlevelの両方以上の場合のみです。例えば、log_track_levelが2(INFO)に設定され、levelが3(WARNING)に設定されている場合、WARNINGレベル以上のログ(値 >= 3)のみがコールバックに送信されます。enable_reconnectionStringいいえ ネットワーク再接続後に送信を再開するかどうかです。デフォルト: "false"。aec_paramsobjectいいえ オンデバイスAcoustic Echo Cancellation(AEC)の高度な設定オブジェクトです。このオブジェクトは audio_update_manuallyが"true"に設定されている場合にのみ有効です。aec_params.enable_aecbooleanいいえ オンデバイスAECを有効にするかどうかです。 audio_update_manuallyが"true"に設定されており、SDKバージョンがオンデバイスAECをサポートしている場合、この機能はデフォルトで有効になります。aec_params.save_audiobooleanいいえ デバイス上のAECモジュールによって処理された音声を保存するかどうかを指定します。 save_wavが"true"に設定され、かつdebug_pathが指定されている場合、この機能はデフォルトで有効になり、AEC音声データはdebug_pathに保存されます。aec_params.enable_aec_data_callbackbooleanいいえ AEC処理済みデータをアプリケーションに返すかどうかを指定します。デフォルト値:false。有効にした場合、 onNuiAssistEventCallbackのEVENT_AEC_DATAイベントからデータを受信します。vad_paramsobjectいいえ オンデバイスVoice Activity Detection(VAD)の高度な設定オブジェクトです。このオブジェクトは audio_update_manuallyが"true"に設定されている場合にのみ有効です。vad_params.enable_aecbooleanいいえ オンデバイスVADを有効にするかどうかです。 audio_update_manuallyが"true"に設定されており、SDKバージョンがオンデバイスVADをサポートしている場合、この機能はデフォルトで有効になります。vad_params.save_audiobooleanいいえ デバイス上のVADモジュールによって処理された音声を保存するかどうかを指定します。 save_wavが"true"に設定され、かつdebug_pathが指定されている場合、この機能はデフォルトで有効になり、VAD音声データはdebug_pathに保存されます。
音声認識パラメータ
これらのパラメータを設定するには、setParamsメソッドのparams引数にJSON文字列を渡します。
- 例: 以下はJSON文字列の例です。すべてのパラメータが記載されているわけではありません。コードを記述する際は、必要に応じて他のパラメータを追加してください。
-
パラメーター
トップレベルパラメーター タイプ 必須 説明 service_typeintはい 音声サービスタイプです。リアルタイム音声認識では 4に固定されます。nls_configobjectはい 音声認識のコア設定オブジェクトです。モデル選択や認識品質制御などの主要なパラメータが含まれています。 nls_config.modelstringはい 例で使用されているモデルです。モデル情報については、「サポートされているモデルとリージョン」を参照してください。 nls_config.sr_formatstringはい オーディオフォーマット。有効な値: pcmopus
nls_config.sample_rateintはい サンプリングレート(Hz)。有効な値:8 kHzモデルは 8000 Hzのみをサポートし、その他のモデルは任意のサンプルレートをサポートします。 nls_config.max_sentence_silenceintいいえ セグメンテーション用のVAD無音閾値(ミリ秒単位)です。発話区間の後の無音時間がこの閾値を超えると、システムは文が終了したと判断します。デフォルト値:1300。有効な値:[200, 6000]。 nls_config.multi_threshold_mode_enabledbooleanいいえ マルチ閾値モードを有効にするかどうかです。有効にすると、VADセグメントが長くなりすぎるのを防ぎます。デフォルト値:false。 nls_config.heartbeatbooleanいいえ ハートビートパケットを有効にするかどうか。デフォルト値:false。 - true:無音音声が連続して送信されている場合でも、サーバーへの接続を維持します。
- false(デフォルト):無音音声が連続して送信されている場合でも、一定時間後に接続がタイムアウトして閉じられます。
nls_config.vocabulary_idstringいいえ 事前コンパイル済みホットワードリストの ID。ホットワードリスト作成APIを呼び出して、事前にこのIDを生成してください。認識時にこのIDを渡すことで、リスト内のホットワードを使用できます。語彙が既知で比較的安定しており、リクエスト間で同じ単語リストを再利用する必要があるシナリオに適しています。使用方法の詳細については、「事前コンパイル済みホットワード」を参照してください。 nls_config.language_hintsarray[string]いいえ 認識対象の音声の言語です。デフォルト値はなく、設定されていない場合はモデルが言語を自動検出します。1 つの値を設定できます。複数設定した場合は、最初の値のみが有効です。 クリックしてサポートされている言語コードを表示
-
fun-asr-realtime:
- zh: 中国語
- en: 英語
- ja: 日本語
- ko: 韓国語
- vi: ベトナム語
- th: タイ語
- id: インドネシア語
- ms: マレー語
- tl: フィリピノ語
- hi: ヒンディー語
- ar: アラビア語
- fr: フランス語
- de: ドイツ語
- es: スペイン語
- pt: ポルトガル語
- ru: ロシア語
- it: イタリア語
- nl: オランダ語
- sv: スウェーデン語
- da: デンマーク語
- fi: フィンランド語
- no: ノルウェー語
- el: ギリシャ語
- pl: ポーランド語
- cs: チェコ語
- hu: ハンガリー語
- ro: ルーマニア語
- bg: ブルガリア語
- hr: クロアチア語
- sk: スロバキア語
-
fun-asr-realtime-2026-02-28:
- zh: 中国語
- en: 英語
- ja: 日本語
-
fun-asr-flash-8k-realtime, fun-asr-flash-8k-realtime-2026-01-28:
- zh: 中国語
-
fun-asr-mtl-realtime-2025-12-10:
- zh: 中国語
- en: 英語
- ja: 日本語
- ko: 韓国語
- vi: ベトナム語
- id: インドネシア語
- th: タイ語
nls_config.speech_noise_thresholdfloatいいえ 音声とノイズを区別するための閾値で、Voice Activity Detection(VAD)の感度を調整するために使用されます。有効な値:[-1.0, 1.0]。値の説明: - 値が -1 に近いほど:ノイズ閾値が下がり、ノイズが音声として認識されやすくなるため、より多くのノイズが文字起こしされる可能性があります。
- 値が +1 に近いほど:ノイズ閾値が上がり、音声がノイズとして誤判定されやすくなるため、一部の音声がフィルタリングされる可能性があります。
- 調整前に結果を徹底的にテストおよび検証してください。
- 実際の音声環境に基づいて小幅に調整します(0.1 のステップを推奨)。
nls_config.special_word_filterobjectいいえ 音声認識中に処理するセンシティブワードを指定し、異なるセンシティブワードに対して異なる処理方法を設定することをサポートします。詳細については、「センシティブワードフィルタリング」を参照してください。 nls_config.enable_connection_fast_checkbooleanいいえ ネットワーク障害を迅速に検出し、できるだけ早く報告するかどうかです。デフォルト:false。
主要インターフェース
NativeNui
initialize
音声認識SDKインスタンスを初期化します。SDKはシングルトンです。release を呼び出す前に、複数回初期化しないでください。
このメソッドはブロックされるため、非 UI スレッドで呼び出してください。
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 callbackINativeNuiCallbackイベントおよびデータコールバックインターフェースの実装。 parametersString認証、接続、およびデバッグパラメータを含むJSON文字列です。「接続および制御パラメータ」を参照してください。 levelConstants.LogLevelSDK 自体のログの出力レベルを制御します。 save_logbooleanローカルログを保存するかどうかを指定します。 trueに設定した場合、接続および制御パラメーター のdebug_pathでパスを指定し、必要に応じてmax_log_file_sizeでファイルサイズを設定できます。 - 戻り値
setParams
JSON形式の 音声認識パラメータ を設定します。startDialog の前にこのメソッドを呼び出してください。
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 paramsString音声認識パラメータ。 - 戻り値
startDialog
認識を開始します。
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 vad_modeVadModeVAD モード。 VadMode.TYPE_P2Tに固定されています。dialog_paramsString接続および制御パラメータの apikeyパラメータに一時的なAPIキーを使用している場合、有効期限が切れたときにここで更新できます。コンテキストを使用して認識精度を向上させるには、ここでコンテキストを更新します。コンテンツは JSON 形式です: - 戻り値
stopDialog
認識を終了します。このメソッドを呼び出すと、サーバーは最終的な認識結果を返し、タスクを終了します。
- メソッドシグネチャ
- 戻り値
cancelDialog
認識を即座に終了します。このメソッドを呼び出すと、サーバーが最終的な認識結果を返すのを待たずに、タスクがすぐに終了します。
- メソッドシグネチャ
- 戻り値
updateAction
ランタイムアクションを送信し、オンデバイス AEC に再生状態を通知します。
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 paramsStringランタイムアクションを含む JSON 文字列。 params.typeString"action"に設定します。params.commandStringplay_start: オンデバイス AEC を使用する場合、プレーヤーが音声の再生を開始したことを SDK に通知します。play_over: オンデバイス AEC を使用する場合、プレーヤーが音声の再生を終了したことを SDK に通知します。 - 戻り値
updateAudio
audio_update_manually が "true" に設定されている場合、このメソッドを呼び出して録音データをアクティブにプッシュします。onNuiNeedAudioData を通じてデータを供給する代わりに使用します。
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 databyte[]プッシュするオーディオデータ。 lenintプッシュするオーディオデータのバイト数。 first_packbooleanこのパラメーターは無視してください。 - 戻り値
updateRefAudio
audio_update_manually が "true" に設定されており、オンデバイスAECが有効な場合、このメソッドを呼び出してプレーヤーが再生した音声を参照信号としてプッシュします。
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 databyte[]プッシュするオーディオデータ。 lenintプッシュするオーディオデータのバイト数。 first_packbooleanこのパラメーターは無視してください。 - 戻り値
release
SDKのすべての内部リソースを解放します。このメソッドを呼び出すと、SDKインスタンスは使用できなくなります。再度使用する場合は、initialize を呼び出して再初期化する必要があります。
- メソッドシグネチャ
- 戻り値
GetVersion
現在の SDK バージョン情報を取得します。
- メソッドシグネチャ
- 戻り値 現在の SDK バージョン情報。
INativeNuiCallback:リスナーコールバック
onNuiEventCallback:イベントおよび音声認識結果のリスニング
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 eventNuiEventコールバックイベント。 resultCodeintEVENT_ASR_ERRORイベントが発生した場合にのみ有効です。arg2int予約済みパラメーター。 asrResultAsrResult音声認識結果。 kwsResultKwsResult音声ウェイクアップ機能です。このパラメータを使用する必要はありません。
onNuiAudioStateChanged:音声状態のリスニング
SDKはこのコールバックを使用して、録音の開始または停止のタイミングを通知します。
- メソッドシグネチャ
-
AudioState の状態
状態 説明 STATE_OPENインタラクションが開始されました。録音デバイスを開いて録音を開始できます。 STATE_PAUSEインタラクションが停止しました。録音を停止できます。 STATE_CLOSESDKインスタンスが解放されました。録音デバイスを完全に閉じることができます。
onNuiNeedAudioData:認識用の音声データの供給
認識開始後、このコールバックは継続的にトリガーされます。このコールバックで認識用の音声データを供給してください。
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 bufferbyte[]格納するオーディオデータ。 lenint格納するオーディオデータのバイト数。 - 戻り値 実際に格納されたバイト数。
onNuiAssistEventCallback:補助イベントおよびデータの受信
このコールバックは、SDKから補助イベントおよび関連データを受信します。
- メソッドシグネチャ
-
パラメーター
パラメーター タイプ 説明 eventintNuiEventイベントです。infoStringこのパラメーターは無視してください。 info_lenintこのパラメーターは無視してください。 databyte[]補助データ(AEC によって処理されたオーディオデータなど)。
onNuiLogTrackCallback:トレースログのリスニング
このコールバックは、トラブルシューティングとデバッグに役立つSDKの詳細な内部ログを受信します。
NuiEvent:イベントタイプ
| イベント | 説明 |
|---|---|
EVENT_TRANSCRIBER_STARTED | タスクが正常に開始されました。 |
EVENT_VAD_START | タスク開始直後にトリガーされます。これは発話の開始が検出されたことを意味するものではありません。 |
EVENT_VAD_END | 発話の終わりが検出されました。 |
EVENT_ASR_PARTIAL_RESULT | 中間音声認識結果。 |
EVENT_ASR_WARN | 再接続が有効な場合のネットワーク障害など、音声認識を中断しない警告が発生しました。 |
EVENT_ASR_ERROR | 音声認識中にエラーが発生しました。 |
EVENT_MIC_ERROR | 2 秒間連続で音声データが受信されなかった場合にトリガーされます。 |
EVENT_SENTENCE_END | 文の終わりが検出されました。その文の完全な認識結果が返されます。 |
EVENT_TRANSCRIBER_COMPLETE | 音声認識が終了しました。 |
EVENT_AEC_DATA | AEC によって処理されたオーディオデータ。 |