Panduan ini menunjukkan cara mengonversi suara menjadi teks dengan SDK Android pengenalan suara non-real-time Qwen-Audio-ASR-Filetrans.
Untuk persyaratan input seperti format audio yang didukung, batas ukuran file, dan batas durasi, lihat Spesifikasi audio.
Mulai cepat
-
Dapatkan kunci API: Dapatkan kunci API. Untuk keamanan yang lebih baik, simpan kunci API dalam variabel lingkungan.
-
Unduh SDK dan jalankan kode contoh:
- Unduh paket SDK terbaru.
- Ekstrak paket ZIP. Temukan SDK format AAR di direktori
app/libsdan tambahkan ke dependensi proyek Anda. Untuk integrasi Android C++, gunakanandroid_libsdanandroid_includedalam 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
- Inisialisasi SDK.
- Konfigurasikan parameter yang dibutuhkan oleh bisnis Anda.
- Atur
async_requestkefalsedan panggilstartFileTranscriberuntuk mengirimkan permintaan pengenalan suara non-real-time dan menunggu hasilnya. - Dengarkan event
EVENT_FILE_TRANS_RESULTdi antarmukaonFileTransEventCallbackuntuk mendapatkan hasil pengenalan akhir. - Panggil
releaseuntuk melepaskan sumber daya SDK.
Mode asinkron
- Inisialisasi SDK.
- Konfigurasikan parameter yang dibutuhkan oleh bisnis Anda.
- Atur
async_requestketruedan panggilstartFileTranscriberuntuk mengirimkan permintaan pengenalan suara non-real-time. - Panggil
queryFileTranscriberuntuk melakukan polling terhadap progres dan hasil pengenalan. - Dengarkan event
EVENT_FILE_TRANS_QUERY_RESULTdi antarmukaonFileTransEventCallbackuntuk mendapatkan hasil kueri saat ini. - Dengarkan event
EVENT_FILE_TRANS_RESULTdi antarmukaonFileTransEventCallbackuntuk mendapatkan hasil pengenalan akhir. - Panggil
releaseuntuk 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 |
|---|---|---|---|
|
| Ya | Endpoint layanan:
Ganti |
|
| Ya | Kunci API. |
|
| Ya | Mode pelaksanaan. Ditetapkan ke |
|
| 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. |
|
| Tidak | Jalur penyimpanan untuk file log. Parameter ini hanya berlaku jika Maksimal dua file log disimpan secara lokal. |
|
| Tidak | Ukuran maksimum file log, dalam byte. Parameter ini hanya berlaku jika Default: 104857600 (100 * 1024 * 1024 byte, yaitu 100 MiB). |
|
| Tidak | Tingkat filter untuk konten log yang dikirim melalui callback log ( Default: 2. Nilai yang valid:
Catatan: |
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
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
|
| Ya | Daftar 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 Penting
|
|
| Tidak | Apakah permintaan pengenalan bersifat asinkron. Default: Nilai yang valid:
|
|
| Tidak | Jika |
|
| Ya | Objek konfigurasi inti untuk pengenalan ucapan. Berisi parameter kunci seperti pemilihan model dan kontrol pengenalan. |
|
| Ya | Nama model. |
|
| Tidak | Kata sensitif yang akan diproses selama pengenalan suara. Anda dapat mengatur metode penanganan yang berbeda untuk setiap kata sensitif. Untuk detailnya, lihat Pemfilteran kata sensitif. |
|
| Tidak | Indeks 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. PentingSetiap trek yang ditentukan ditagih secara independen. Misalnya, meminta [0, 1] untuk satu file akan menimbulkan dua tagihan terpisah. Nilai default: [0]. |
|
| Tidak | Apakah 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 CatatanSaat diarization pembicara diaktifkan, pertahankan durasi audio dalam 2 jam. Jika tidak, pengenalan mungkin gagal atau habis waktu. Default: false. Untuk contoh |
|
| Tidak | PentingHanya berlaku ketika diarization pembicara diaktifkan ( 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. |
|
| Tidak | ID 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. |
|
| Tidak | Daftar pesan yang berisi konteks percakapan opsional untuk meningkatkan akurasi pengenalan. PentingKonteks membantu meningkatkan pengenalan istilah khusus domain. Untuk penggunaan, lihat Peningkatan konteks. Anda dapat menyertakan hingga 5 pesan dari setiap tipe konteks: PentingSaat Anda menyertakan konteks, atur |
|
| Tidak | Hotword instan, diteruskan sebagai pasangan kunci-nilai. Setiap kunci adalah teks hotword ( 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. PentingUntuk model dan batas yang berlaku untuk hotword instan, lihat Hotword instan. |
|
| Tidak | Kode bahasa yang akan dikenali. Jika Anda tidak dapat menentukan bahasa terlebih dahulu, biarkan tidak diatur dan model akan mendeteksi bahasa secara otomatis. Anda dapat menetapkan hingga 4 nilai. Jika lebih, hanya 4 nilai pertama yang berlaku. Klik untuk melihat kode bahasa yang didukung
|
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 metodepublic synchronized int initialize(final INativeFileTransCallback callback,
String parameters,
final Constants.LogLevel level,
final boolean save_log)
Deskripsi parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
|
| Implementasi antarmuka callback event dan data. |
|
| String JSON yang berisi parameter autentikasi, koneksi, dan debugging. Lihat Parameter koneksi dan kontrol. |
|
| Mengontrol tingkat pencetakan log SDK itu sendiri. |
|
| Apakah akan menyimpan log secara lokal. Jika |
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.
public synchronized int setParams(String params);
Deskripsi parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
|
| Parameter Contoh: |
startFileTranscriber
Memulai pengenalan.
Signature metodepublic synchronized int startFileTranscriber(String params, byte[] task_id)
Deskripsi parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
|
| Parameter pengenalan ucapan. Contoh: |
|
| ID tugas. SDK menghasilkan string acak secara internal. Anda mendapatkan task_id setelah antarmuka ini berhasil dikembalikan. |
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.
CatatanDapatkan task_id yang diteruskan ke metode ini dari event EVENT_FILE_TRANS_UPLOADED.
public synchronized int queryFileTranscriber(String task_id)
Deskripsi parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
|
| ID tugas yang akan dikueri, diperoleh dari event |
cancelFileTranscriber
Membatalkan tugas saat ini secara langsung.
Signature metodepublic synchronized int cancelFileTranscriber(String task_id)
Deskripsi parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
|
| ID tugas yang akan dibatalkan, diperoleh dari event |
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.
public synchronized int release();
GetVersion
Mendapatkan informasi versi SDK saat ini.
Signature metodepublic synchronized String GetVersion();
Nilai kembalian
Informasi versi SDK saat ini.
INativeFileTransCallback: callback listener
onFileTransEventCallback: mendengarkan event dan hasil pengenalan
Signature metodevoid onFileTransEventCallback(NuiEvent event, final int resultCode, final int arg2, AsrResult asrResult, String taskId);
Deskripsi parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
|
| Event callback. |
|
| Hanya valid saat event |
|
| Hasil pengenalan ucapan. |
|
| ID tugas. |
|
| 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 |
|---|---|
| Koneksi layanan berhasil. |
| File audio yang akan dikenali berhasil diunggah. Anda sekarang dapat memperoleh |
| Kueri hasil tugas. |
| Hasil pengenalan akhir. |
| Terjadi error selama pengenalan ucapan. |