このガイドでは、Fun-ASR 非リアルタイム音声認識 Android SDKを使用して音声をテキストに変換する方法について説明します。
サポートされている音声形式、ファイルサイズ制限、再生時間制限などの入力要件については、音声の仕様を参照してください。
これらのパラメータは、
パラメータの説明
すべての音声認識パラメータは、
パラメータの説明
音声認識SDKインスタンスを初期化します。SDKはシングルトンです。
パラメータの説明
このインターフェースを使用して、
パラメータの説明
認識を開始します。
メソッドシグネチャ
パラメータの説明
このインターフェースを使用して、非同期タスクの現在のステータスと結果をクエリします。呼び出しが成功すると、結果は
メソッドシグネチャ
パラメータの説明
現在のタスクを直ちにキャンセルします。
メソッドシグネチャ
パラメータの説明
SDKのすべての内部リソースを解放します。このメソッドを呼び出すと、SDKインスタンスは使用できなくなります。再度使用するには、
現在のSDKバージョン情報を取得します。
メソッドシグネチャ
戻り値
現在のSDKバージョン情報。
メソッドシグネチャ
パラメータの説明
このコールバックは、問題の診断とデバッグのためにSDKの詳細な内部ログを受信します。
クイックスタート
- APIキーの取得: APIキーの取得。セキュリティを強化するため、APIキーは環境変数に保存してください。
-
SDKをダウンロードしてサンプルコードを実行します:
- 最新のSDKパッケージをダウンロードします。
- ZIPパッケージを展開します。
app/libsディレクトリにあるAAR形式のSDKを見つけて、プロジェクトの依存関係に追加します。Android C++統合の場合は、ZIPパッケージ内のandroid_libsとandroid_includeを使用して、動的ライブラリとヘッダーファイルを取得します。 - Android Studioでプロジェクトを開きます。サンプルコードは
DashFunAsrFileTranscriberActivity.javaにあります。APIキーを置き換えてから、機能を試してください。
呼び出し手順
- 同期モード
- 非同期モード
- SDKを初期化します。
- ビジネスに必要なパラメータを設定します。
async_requestをfalseに設定し、startFileTranscriberを呼び出して非リアルタイム音声認識リクエストを送信し、結果を待ちます。- 最終的な認識結果を取得するには、
onFileTransEventCallbackインターフェースでEVENT_FILE_TRANS_RESULTイベントをリッスンします。 releaseを呼び出して、SDKリソースを解放します。
リクエストパラメータ
接続および制御パラメータ
これらのパラメータは、initializeインターフェースのparameters引数にJSON文字列を渡すことで設定します。
パラメータの例
以下のJSON文字列は例であり、すべてのパラメータがリストされているわけではありません。コードを記述する際に、必要なパラメータを追加してください。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
url | String | はい | サービスエンドポイント:
{WorkspaceId}を実際のワークスペースIDに置き換えます。 |
apikey | String | はい | APIキー。 |
service_mode | String | はい | 実行モード。録音音声認識では"1"に固定されます。 |
device_id | String | はい | エンドユーザーを識別する一意の文字列。アプリ内のユーザーIDまたはクライアントによって生成されたデバイス識別子に設定します。このIDは主にログのトレースとトラブルシューティングに使用されます。 |
debug_path | String | いいえ | ログファイルの保存パス。このパラメータは、initializeインターフェースでsave_logがtrueに設定されている場合にのみ有効になります。その場合、ログファイルのパスを設定する必要があります。設定しないとエラーが報告されます。ローカルには最大2つのログファイルが保持されます。 |
max_log_file_size | int | いいえ | ログファイルの最大サイズ(バイト単位)。このパラメータは、initializeインターフェースでsave_logがtrueに設定されている場合にのみ有効になります。デフォルト:104857600(100 * 1024 * 1024バイト、つまり100 MiB)。 |
log_track_level | int | いいえ | ログコールバック(onFileTransLogTrackCallback)を介して送信されるログコンテンツのフィルターレベル。デフォルト:2。有効な値:
log_track_levelとlevel(initializeインターフェースを通じて設定)は、最終的にどのログがコールバックに送信されるかを共同で決定します。ログは、そのレベル値がlog_track_levelとlevelの両方以上である場合にのみコールバックに送信されます。たとえば、log_track_levelが2(INFO)に設定され、levelが3(WARNING)に設定されている場合、WARNINGレベル以上(値 >= 3)のログのみがコールバックに送信されます。 |
音声認識パラメータ
すべての音声認識パラメータは、startFileTranscriberインターフェースを通じて設定します。
パラメータの例
以下のJSON文字列は例であり、すべてのパラメータがリストされているわけではありません。コードを記述する際に、必要なパラメータを追加してください。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
file_urls | array[string] | はい | 文字起こしする音声ファイルまたは動画ファイルのURLのリスト。HTTPおよびHTTPSがサポートされています。1つのリクエストでサポートされるURLは1つだけです。サポートされている音声形式、ファイルサイズ制限、再生時間制限などの入力要件については、音声の仕様を参照してください。録音がAlibaba Cloud OSSに保存されている場合、RESTful APIはoss://プレフィックス付きの一時的なURLをサポートしますが、SDKはoss://プレフィックス付きの一時的なURLをサポートしていません。 |
async_request | boolean | いいえ | 認識リクエストが非同期かどうか。デフォルト:false。有効な値:
|
apikey | string | いいえ | 接続と制御のパラメータのapikeyが一時的なAPIキーである場合、有効期限切れを回避するためにここで更新できます。 |
nls_config | object | はい | 音声認識のコア設定オブジェクト。モデル選択や認識制御などの主要なパラメータが含まれています。 |
nls_config.model | string | はい | モデル名。 |
nls_config.special_word_filter | object | いいえ | 音声認識中に処理するセンシティブワード。センシティブワードごとに異なる処理方法を設定できます。詳細については、センシティブワードのフィルタリングを参照してください。 |
nls_config.channel_id | array[integer] | いいえ | マルチトラック音声ファイルで認識する音声トラックのインデックス。インデックスは0から始まります。たとえば、[0]は最初のトラックを認識し、[0, 1]は1番目と2番目のトラックを同時に認識します。このパラメータを省略すると、最初のトラックのみが処理されます。デフォルト値:[0]。 |
nls_config.diarization_enabled | boolean | いいえ | 話者分離を有効にするかどうか。デフォルトでは無効です。モノラル音声にのみ適用されます。マルチチャンネル音声は話者分離をサポートしていません。有効にすると、認識結果に異なる話者を識別するspeaker_idフィールドが含まれます。話者分離が有効な場合、音声の長さを2時間以内に抑えてください。そうしないと、認識が失敗したりタイムアウトしたりする可能性があります。 speaker_idの例については、認識結果の説明を参照してください。 |
nls_config.speaker_count | integer | いいえ | 話者数の参照値。有効範囲は2から100までの整数(両端を含む)です。デフォルトでは、話者数は自動的に検出されます。この値を設定すると、可能な場合に指定された数を出力するようにアルゴリズムを誘導するだけであり、その正確な数を保証するものではありません。デフォルト値はありません。 |
nls_config.vocabulary_id | string | いいえ | 事前コンパイルされたホットワードリストのID。ホットワードリスト作成APIを呼び出して、このIDを事前に生成します。リスト内のホットワードを使用するには、認識中にこのIDを渡します。語彙が既知で比較的安定しており、リクエスト間で同じワードリストを再利用する必要があるシナリオに適しています。使用方法の詳細については、「事前コンパイルされたホットワード」を参照してください。 |
nls_config.instant_vocabulary | object | いいえ | インスタントホットワード。キーをホットワードの文字列(string)、値を整数の重み(integer)とするキーバリューペアを渡します。事前にホットワードリストを作成する必要はありません。使用方法については、インスタントホットワードをご参照ください。 |
nls_config.language_hints | array[string] | いいえ | 認識する言語コード。事前に言語を特定できない場合は、未設定のままにしておくと、モデルが自動的に言語を検出します。最大 1 個の値を指定できます。それ以上指定した場合は、最初の 1 個だけが有効です。
サポートされている言語コードを表示するにはクリックしてください
|
主要なインターフェース
NativeNui
initialize
音声認識SDKインスタンスを初期化します。SDKはシングルトンです。releaseを呼び出す前に再度初期化しないでください。
このインターフェースはブロックされるため、非UIスレッドで呼び出してください。
メソッドシグネチャ
| パラメータ | 型 | 説明 |
|---|---|---|
callback | INativeFileTransCallback | イベントおよびデータコールバックインターフェースの実装。 |
parameters | String | 認証、接続、およびデバッグのパラメータを含むJSON文字列。接続と制御のパラメータを参照してください。 |
level | Constants.LogLevel | SDK独自のログの出力レベルを制御します。 |
save_log | boolean | ログをローカルに保存するかどうか。trueの場合、接続と制御のパラメータのdebug_pathでパスを指定し、オプションでmax_log_file_sizeでファイルサイズを設定します。 |
setParams
このインターフェースを使用して、nls_configパラメータを個別に設定または更新します。startFileTranscriberですべてのパラメータを一度に指定する場合は、このメソッドを呼び出す必要はありません。
メソッドシグネチャ
| パラメータ | 型 | 説明 |
|---|---|---|
params | String | 音声認識パラメータのnls_configパラメータ。nls_config以外のパラメータは、このメソッドでは設定できません。例: |
startFileTranscriber
認識を開始します。
メソッドシグネチャ
| パラメータ | 型 | 説明 |
|---|---|---|
params | String | 音声認識パラメータ。例: |
task_id | byte[] | タスクID。SDKは内部でランダムな文字列を生成します。このインターフェースが正常に返された後、task_idを取得します。 |
queryFileTranscriber
このインターフェースを使用して、非同期タスクの現在のステータスと結果をクエリします。呼び出しが成功すると、結果はonFileTransEventCallbackコールバックのEVENT_FILE_TRANS_QUERY_RESULTイベントを通じて返されます。
このメソッドに渡される
task_idをEVENT_FILE_TRANS_UPLOADEDイベントから取得します。| パラメータ | 型 | 説明 |
|---|---|---|
task_id | String | クエリ対象のタスクのID。EVENT_FILE_TRANS_UPLOADEDイベントから取得します。 |
cancelFileTranscriber
現在のタスクを直ちにキャンセルします。
メソッドシグネチャ
| パラメータ | 型 | 説明 |
|---|---|---|
task_id | String | キャンセルするタスクのID。EVENT_FILE_TRANS_UPLOADEDイベントから取得します。 |
release
SDKのすべての内部リソースを解放します。このメソッドを呼び出すと、SDKインスタンスは使用できなくなります。再度使用するには、initializeを呼び出して再度初期化する必要があります。
メソッドシグネチャ
GetVersion
現在のSDKバージョン情報を取得します。
メソッドシグネチャ
INativeFileTransCallback:リスナーコールバック
onFileTransEventCallback:イベントと認識結果のリッスン
メソッドシグネチャ
| パラメータ | 型 | 説明 |
|---|---|---|
event | NuiEvent | コールバックイベント。 |
resultCode | int | EVENT_ASR_ERROR イベントが発生した場合にのみ有効です。 |
asrResult | AsrResult | 音声認識結果。 |
taskId | String | タスクID。 |
arg2 | int | 予約済みパラメータ。 |
onFileTransLogTrackCallback:トレースログのリッスン
このコールバックは、問題の診断とデバッグのためにSDKの詳細な内部ログを受信します。
NuiEvent: イベントタイプ
| イベント | 説明 |
|---|---|
EVENT_FILE_TRANS_CONNECTED | サービスへの接続に成功しました。 |
EVENT_FILE_TRANS_UPLOADED | 認識対象の音声ファイルが正常にアップロードされました。これで、現在のタスクのtask_idを取得できます。 |
EVENT_FILE_TRANS_QUERY_RESULT | タスク結果のクエリ。 |
EVENT_FILE_TRANS_RESULT | 最終認識結果。 |
EVENT_ASR_ERROR | 音声認識中にエラーが発生しました。 |