Skip to main content
Pengenalan Ujaran Non-Waktu-Nyata (Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR)

SDK Android pengenalan suara non-real-time Qwen-Audio-3.x-ASR-Flash-Filetrans/Fun-ASR

Panduan ini menunjukkan cara mengonversi suara menjadi teks dengan SDK Android pengenalan suara non-real-time Qwen-Audio-3.x-ASR-Flash-Filetrans/Fun-ASR.

Panduan pengguna:Pengenalan suara non-real-time. Untuk persyaratan input seperti format audio yang didukung, batas ukuran file, dan batas durasi, lihat Spesifikasi audio.

Mulai cepat

  1. Dapatkan kunci API: Dapatkan kunci API. Untuk keamanan yang lebih baik, simpan kunci API dalam variabel lingkungan.
  2. Unduh SDK dan jalankan kode contoh:
    • Unduh paket SDK terbaru.
    • Ekstrak paket ZIP. Temukan SDK format AAR di direktori app/libs dan tambahkan ke dependensi proyek Anda. Untuk integrasi Android C++, gunakan android_libs dan android_include dalam paket ZIP untuk mendapatkan pustaka dinamis dan file header.
    • Buka proyek di Android Studio. Kode contoh ada di DashFunAsrFileTranscriberActivity.java. Ganti kunci API, lalu coba fitur tersebut.

Prosedur pemanggilan

  • Mode sinkron
  • Mode asinkron
  1. Inisialisasi SDK.
  2. Konfigurasikan parameter yang dibutuhkan oleh bisnis Anda.
  3. Atur async_request ke false dan panggil startFileTranscriber untuk mengirimkan permintaan pengenalan suara non-real-time dan menunggu hasilnya.
  4. Dengarkan event EVENT_FILE_TRANS_RESULT di antarmuka onFileTransEventCallback untuk mendapatkan hasil pengenalan akhir.
  5. Panggil release untuk melepaskan sumber daya SDK.

Parameter permintaan

Parameter koneksi dan kontrol

Konfigurasikan parameter ini dengan meneruskan string JSON dalam argumen parameters dari antarmuka initialize.
  • Contoh parameter: String JSON berikut adalah contoh dan tidak mencantumkan setiap parameter. Tambahkan parameter yang Anda butuhkan saat menulis kode:
{
    "url": "wss://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription",
    "apikey": "st-****",
    "device_id": "my_device_id",
    "service_mode": "1"
}
  • Deskripsi parameter

    Parameter

    Tipe

    Wajib

    Deskripsi

    url

    String

    Ya

    Endpoint layanan:

    • wss://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription
    • Tiongkok (Beijing): wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/asr/transcription
    • Singapura: wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription

    Ganti {WorkspaceId} dengan ID Workspace Anda yang sebenarnya.

    apikey

    String

    Ya

    Kunci API.

    service_mode

    String

    Ya

    Mode pelaksanaan. Ditetapkan ke "1" untuk pengenalan ucapan yang direkam.

    device_id

    String

    Ya

    String unik yang mengidentifikasi pengguna akhir. Atur ke ID pengguna dalam aplikasi atau pengenal perangkat yang dihasilkan oleh klien. ID ini terutama digunakan untuk pelacakan log dan pemecahan masalah.

    debug_path

    String

    Tidak

    Jalur penyimpanan untuk file log.

    Parameter ini hanya berlaku jika save_log diatur ke true di antarmuka initialize. Dalam hal ini, Anda harus mengatur jalur file log, atau kesalahan akan dilaporkan.

    Maksimal dua file log disimpan secara lokal.

    max_log_file_size

    int

    Tidak

    Ukuran maksimum file log, dalam byte.

    Parameter ini hanya berlaku jika save_log diatur ke true di antarmuka initialize.

    Default: 104857600 (100 * 1024 * 1024 byte, yaitu 100 MiB).

    log_track_level

    int

    Tidak

    Tingkat filter untuk konten log yang dikirim melalui callback log (onFileTransLogTrackCallback).

    Default: 2.

    Nilai yang valid:

    • 0: LOG_LEVEL_VERBOSE

    • 1: LOG_LEVEL_DEBUG

    • 2: LOG_LEVEL_INFO

    • 3: LOG_LEVEL_WARNING

    • 4: LOG_LEVEL_ERROR

    • 5: LOG_LEVEL_NONE (menonaktifkan fitur ini)

    Catatan: log_track_level dan level (diatur melalui antarmuka initialize) bersama-sama menentukan log mana yang akhirnya dikirim ke callback. Log dikirim ke callback hanya ketika nilai levelnya lebih besar dari atau sama dengan log_track_level dan level. Misalnya, jika log_track_level diatur ke 2 (INFO) dan level diatur ke 3 (WARNING), hanya log pada level WARNING atau lebih tinggi (nilai >= 3) yang dikirim ke callback.

Parameter pengenalan ucapan

Konfigurasikan semua parameter pengenalan suara melalui antarmuka startFileTranscriber.
  • Contoh parameter: String JSON berikut adalah contoh dan tidak mencantumkan setiap parameter. Tambahkan parameter yang Anda butuhkan saat menulis kode:
{
    "apikey": "st-****",
    "file_urls": [
        "{YOUR_AUDIO_URL}"
    ],
    "async_request": false,
    "nls_config": {
        "model":"qwen-audio-3.0-asr-flash-filetrans",
        "diarization_enabled": false
    }
}
  • Deskripsi parameter
    ParameterTipeWajibDeskripsi
    file_urlsarray[string]YaDaftar URL file audio atau video yang akan ditranskripsikan. HTTP dan HTTPS didukung. Satu permintaan hanya mendukung satu URL. Untuk persyaratan input seperti format audio yang didukung, batas ukuran file, dan batas durasi, lihat Spesifikasi audio.Jika rekaman disimpan di Alibaba Cloud OSS, API RESTful mendukung URL sementara dengan awalan oss://, sedangkan SDK tidak mendukung URL sementara dengan awalan oss://.
    • URL sementara berlaku selama 48 jam dan tidak dapat digunakan setelah kedaluwarsa. Jangan gunakan dalam produksi.
    • Antarmuka kredensial unggahan dibatasi hingga 100 QPS dan tidak dapat ditingkatkan. Jangan gunakan dalam skenario produksi, konkurensi tinggi, atau pengujian beban.
    • Untuk produksi, gunakan penyimpanan stabil seperti Alibaba Cloud OSS agar file tetap tersedia dalam jangka panjang dan menghindari pembatasan laju.
    • Jika URL file audio yang diatur ke URL publik sementara OSS tidak dapat dijangkau, atur X-DashScope-OssResourceResolve ke enable di header permintaan (tidak disarankan). SDK tidak mendukung konfigurasi header permintaan.
    async_requestbooleanTidakApakah permintaan pengenalan bersifat asinkron.Default: false.Nilai yang valid:
    • true: permintaan asinkron
    • false: permintaan sinkron
    apikeystringTidakJika apikey di Parameter koneksi dan kontrol adalah kunci API sementara, Anda dapat memperbaruinya di sini untuk menghindari kedaluwarsa.
    nls_configobjectYaObjek konfigurasi inti untuk pengenalan ucapan. Berisi parameter kunci seperti pemilihan model dan kontrol pengenalan.
    nls_config.modelstringYaModel yang digunakan dalam contoh. Untuk informasi model, lihat Model dan wilayah yang didukung.
    nls_config.special_word_filterobjectTidakKata sensitif yang akan diproses selama pengenalan suara. Anda dapat mengatur metode penanganan yang berbeda untuk setiap kata sensitif. Untuk detailnya, lihat Pemfilteran kata sensitif.
    nls_config.channel_idarray[integer]TidakIndeks trek audio yang akan dikenali dalam file audio multi-trek. Indeks dimulai dari 0. Misalnya, [0] mengenali trek pertama, dan [0, 1] mengenali trek pertama dan kedua secara bersamaan. Jika Anda menghilangkan parameter ini, hanya trek pertama yang diproses.
    Setiap trek yang ditentukan ditagih secara independen. Misalnya, meminta [0, 1] untuk satu file akan menimbulkan dua tagihan terpisah.
    Nilai default: [0].
    nls_config.diarization_enabledbooleanTidakApakah akan mengaktifkan diarization pembicara. Dinonaktifkan secara default.Hanya berlaku untuk audio mono. Audio multi-saluran tidak mendukung diarization pembicara.Saat diaktifkan, hasil pengenalan menyertakan bidang speaker_id yang membedakan pembicara yang berbeda.
    Saat diarization pembicara diaktifkan, pertahankan durasi audio dalam 2 jam. Jika tidak, pengenalan mungkin gagal atau habis waktu.
    Default: false.Untuk contoh speaker_id, lihat Deskripsi hasil pengenalan.
    nls_config.speaker_countintegerTidak
    Hanya berlaku ketika diarization pembicara diaktifkan (diarization_enabled diatur ke true).
    Nilai referensi untuk jumlah pembicara. Rentang yang valid adalah bilangan bulat dari 2 hingga 100 (inklusif).Secara default, jumlah pembicara dideteksi secara otomatis. Jika Anda mengatur nilai ini, ini hanya memandu algoritme untuk menghasilkan jumlah yang ditentukan jika memungkinkan dan tidak menjamin jumlah yang tepat tersebut.Tidak ada nilai default.
    nls_config.vocabulary_idstringTidakID dari daftar hotword yang telah dikompilasi sebelumnya.Hasilkan ID ini terlebih dahulu dengan memanggil API buat daftar hotword. Teruskan ID selama pengenalan untuk menggunakan hotword dalam daftar.Cocok untuk skenario di mana kosakata diketahui dan relatif stabil, dan di mana Anda perlu menggunakan kembali daftar kata yang sama di berbagai permintaan.Untuk detail penggunaan, lihat Hotword yang telah dikompilasi sebelumnya.
    nls_config.input_contextarrayTidakDaftar pesan yang berisi konteks percakapan opsional untuk meningkatkan akurasi pengenalan.
    Konteks membantu meningkatkan pengenalan istilah khusus domain. Untuk penggunaan, lihat Peningkatan konteks.Anda dapat menyertakan hingga 5 pesan dari setiap tipe konteks: input_text dan text. Jika batas ini terlampaui, hanya 5 pesan terbaru dari setiap tipe yang dipertahankan. Panjang gabungan bidang text dalam pesan user dan assistant di setiap giliran tidak boleh melebihi 400 karakter. Setiap karakter dihitung sebagai 1. Teks berlebih dipotong dari akhir.
    Saat Anda menyertakan konteks, atur messages berdasarkan giliran percakapan. Di setiap giliran, pesan user (tipe input_text) harus mendahului pesan assistant yang sesuai (tipe text). Pesan user yang berisi input_audio harus menjadi pesan terakhir dalam array messages.
    [
      {
        "role": "user",
        "content": [
          {
            "type": "input_text",
            "text": "你好啊,我是通义千问,有什么可以帮助你的?"
          }
        ]
      }
    ]
    
    nls_config.instant_vocabularyobjectTidakHotword instan, diteruskan sebagai pasangan kunci-nilai. Setiap kunci adalah teks hotword (string), dan setiap nilai adalah bobotnya (integer). Tidak diperlukan daftar hotword yang telah dikompilasi sebelumnya. Gunakan parameter ini untuk hotword sementara tingkat sesi.Bobot yang valid adalah bilangan bulat dari 1 hingga 5, atau 50. Bobot yang lebih tinggi dari 1 hingga 5 membuat model lebih mungkin menghasilkan hotword. Bobot 50 mendefinisikan super hotword dan secara signifikan meningkatkan recall. Anda dapat menentukan hingga 50 super hotword.Jika Anda juga mengonfigurasi hotword yang telah dikompilasi sebelumnya, kedua set akan digabungkan. Jika set yang digabungkan melebihi 2000 hotword, 2000 akan dipilih secara acak. Untuk penggunaan, lihat Hotword instan.
    Untuk model dan batas yang berlaku untuk hotword instan, lihat Hotword instan.
    {
      "张三": 5,
      "李四": 5
    }
    
    nls_config.language_hintsarray[string]TidakKode bahasa yang akan dikenali. Jika Anda tidak dapat menentukan bahasa terlebih dahulu, biarkan tidak diatur dan model akan mendeteksi bahasa secara otomatis.Untuk model Qwen-Audio-3.x-ASR-Flash-Filetrans, Anda dapat mengatur hingga 4 nilai; nilai apa pun setelah 4 pertama akan diabaikan. Untuk model Fun-ASR, Anda hanya dapat mengatur 1 nilai; jika Anda mengatur beberapa, hanya yang pertama yang berlaku.
    • Qwen-Audio-3.x-ASR-Flash-Filetrans, fun-asr, fun-asr-2025-11-07, fun-asr-mtl, fun-asr-mtl-2025-08-25:
      • zh: Tiongkok
      • en: Inggris
      • ja: Jepang
      • ko: Korea
      • vi: Vietnam
      • th: Thai
      • id: Indonesia
      • ms: Melayu
      • tl: Filipino
      • hi: Hindi
      • ar: Arab
      • fr: Prancis
      • de: Jerman
      • es: Spanyol
      • pt: Portugis
      • ru: Rusia
      • it: Italia
      • nl: Belanda
      • sv: Swedia
      • da: Denmark
      • fi: Finlandia
      • no: Norwegia
      • el: Yunani
      • pl: Polandia
      • cs: Ceko
      • hu: Hungaria
      • ro: Rumania
      • bg: Bulgaria
      • hr: Kroasia
      • sk: Slovakia
    • fun-asr-2025-08-25:
      • zh: Tiongkok
      • en: Inggris

Antarmuka utama

NativeNui

initialize

Menginisialisasi instans SDK pengenalan suara. SDK ini adalah singleton. Jangan menginisialisasinya lagi sebelum Anda memanggil release. Antarmuka ini memblokir, jadi panggil pada thread non-UI.
  • Signature metode
public synchronized int initialize(final INativeFileTransCallback callback,
                                   String parameters,
                                   final Constants.LogLevel level,
                                   final boolean save_log)
  • Deskripsi parameter

    Parameter

    Tipe

    Deskripsi

    callback

    INativeFileTransCallback

    Implementasi antarmuka callback event dan data.

    parameters

    String

    String JSON yang berisi parameter autentikasi, koneksi, dan debugging. Lihat Parameter koneksi dan kontrol.

    level

    Constants.LogLevel

    Mengontrol tingkat pencetakan log SDK itu sendiri.

    save_log

    boolean

    Apakah akan menyimpan log secara lokal. Jika true, tentukan jalur dengan debug_path di Parameter koneksi dan kontrol, dan secara opsional atur ukuran file dengan max_log_file_size.

  • Nilai kembalian

setParams

Gunakan antarmuka ini untuk mengatur atau memperbarui parameter nls_config secara terpisah. Jika Anda menyediakan semua parameter sekaligus di startFileTranscriber, Anda tidak perlu memanggil metode ini.
  • Signature metode
public synchronized int setParams(String params);
  • Deskripsi parameter
    ParameterTipeDeskripsi
    paramsStringParameter nls_config di Parameter pengenalan suara. Parameter selain nls_config tidak dapat diatur melalui metode ini.Contoh:
    {
        "nls_config": {
            "model":"qwen-audio-3.0-asr-flash-filetrans",
            "diarization_enabled": false
        }
    }
    
  • Nilai kembalian

startFileTranscriber

Memulai pengenalan.
  • Signature metode
public synchronized int startFileTranscriber(String params, byte[] task_id)
  • Deskripsi parameter
    ParameterTipeDeskripsi
    paramsStringParameter pengenalan ucapan.Contoh:
    {
        "file_urls": [
            "{YOUR_AUDIO_URL}"
        ],
        "async_request": false,
        "nls_config": {
            "model":"qwen-audio-3.0-asr-flash-filetrans",
            "diarization_enabled": false
        }
    }
    
    task_idbyte[]ID tugas. SDK menghasilkan string acak secara internal. Anda mendapatkan task_id setelah antarmuka ini berhasil dikembalikan.
  • Nilai kembalian

queryFileTranscriber

Gunakan antarmuka ini untuk mengkueri status dan hasil saat ini dari tugas asinkron. Setelah panggilan berhasil, hasil dikembalikan melalui event EVENT_FILE_TRANS_QUERY_RESULT di callback onFileTransEventCallback.
Dapatkan task_id yang diteruskan ke metode ini dari event EVENT_FILE_TRANS_UPLOADED.
  • Signature metode
public synchronized int queryFileTranscriber(String task_id)
  • Deskripsi parameter

    Parameter

    Tipe

    Deskripsi

    task_id

    String

    ID tugas yang akan dikueri, diperoleh dari event EVENT_FILE_TRANS_UPLOADED.

  • Nilai kembalian

cancelFileTranscriber

Membatalkan tugas saat ini secara langsung.
  • Signature metode
public synchronized int cancelFileTranscriber(String task_id)
  • Deskripsi parameter

    Parameter

    Tipe

    Deskripsi

    task_id

    String

    ID tugas yang akan dibatalkan, diperoleh dari event EVENT_FILE_TRANS_UPLOADED.

  • Nilai kembalian

release

Melepaskan semua sumber daya internal SDK. Setelah Anda memanggil metode ini, instans SDK menjadi tidak dapat digunakan. Untuk menggunakannya lagi, Anda harus memanggil initialize untuk menginisialisasinya kembali.
  • Signature metode
public synchronized int release();
  • Nilai kembalian

GetVersion

Mendapatkan informasi versi SDK saat ini.
  • Signature metode
public synchronized String GetVersion();
  • Nilai kembalian Informasi versi SDK saat ini.

INativeFileTransCallback: callback listener

onFileTransEventCallback: mendengarkan event dan hasil pengenalan

  • Signature metode
void onFileTransEventCallback(NuiEvent event, final int resultCode, final int arg2, AsrResult asrResult, String taskId);
  • Deskripsi parameter

    Parameter

    Tipe

    Deskripsi

    event

    NuiEvent

    Event callback.

    resultCode

    int

    Hanya valid saat event EVENT_ASR_ERROR terjadi.

    asrResult

    AsrResult

    Hasil pengenalan ucapan.

    taskId

    String

    ID tugas.

    arg2

    int

    Parameter yang dicadangkan.

onFileTransLogTrackCallback: mendengarkan log pelacakan

Callback ini menerima log internal terperinci SDK untuk diagnosis dan debugging masalah.
default void onFileTransLogTrackCallback(Constants.LogLevel level, String log)

NuiEvent: tipe event

Event

Deskripsi

EVENT_FILE_TRANS_CONNECTED

Koneksi layanan berhasil.

EVENT_FILE_TRANS_UPLOADED

File audio yang akan dikenali berhasil diunggah. Anda sekarang dapat memperoleh task_id dari tugas saat ini.

EVENT_FILE_TRANS_QUERY_RESULT

Kueri hasil tugas.

EVENT_FILE_TRANS_RESULT

Hasil pengenalan akhir.

EVENT_ASR_ERROR

Terjadi error selama pengenalan ucapan.

Pembuatan Gambar
  • FAQ
Video Generation
Model Dunia
Audio
  • Pembuatan audio
Realtime API
Penyematan Teks
TokenPlan
Model production
SDK Android pengenalan suara non-real-time Qwen-Audio-3.x-ASR-Flash-Filetrans/Fun-ASR - Alibaba Cloud Model Studio