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.
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
- Mode asinkron
- Inisialisasi SDK.
- Konfigurasikan parameter yang dibutuhkan oleh bisnis Anda.
- Atur
async_requestkefalsedan panggil startFileTranscriber untuk mengirimkan permintaan pengenalan suara non-real-time dan menunggu hasilnya. - Dengarkan event
EVENT_FILE_TRANS_RESULTdi antarmuka onFileTransEventCallback untuk mendapatkan hasil pengenalan akhir. - 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:
-
Deskripsi parameter
Parameter
Tipe
Wajib
Deskripsi
urlStringYa
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.apikeyStringYa
Kunci API.
service_modeStringYa
Mode pelaksanaan. Ditetapkan ke
"1"untuk pengenalan ucapan yang direkam.device_idStringYa
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_pathStringTidak
Jalur penyimpanan untuk file log.
Parameter ini hanya berlaku jika
save_logdiatur 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_sizeintTidak
Ukuran maksimum file log, dalam byte.
Parameter ini hanya berlaku jika
save_logdiatur ke true di antarmuka initialize.Default: 104857600 (100 * 1024 * 1024 byte, yaitu 100 MiB).
log_track_levelintTidak
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_leveldanlevel(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 denganlog_track_leveldanlevel. Misalnya, jikalog_track_leveldiatur ke 2 (INFO) danleveldiatur 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:
-
Deskripsi parameter
Parameter Tipe Wajib Deskripsi file_urlsarray[string]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 oss://, sedangkan SDK tidak mendukung URL sementara dengan awalanoss://.async_requestbooleanTidak Apakah permintaan pengenalan bersifat asinkron.Default: false.Nilai yang valid:- true: permintaan asinkron
- false: permintaan sinkron
apikeystringTidak Jika apikeydi Parameter koneksi dan kontrol adalah kunci API sementara, Anda dapat memperbaruinya di sini untuk menghindari kedaluwarsa.nls_configobjectYa Objek konfigurasi inti untuk pengenalan ucapan. Berisi parameter kunci seperti pemilihan model dan kontrol pengenalan. nls_config.modelstringYa Model yang digunakan dalam contoh. Untuk informasi model, lihat Model dan wilayah yang didukung. nls_config.special_word_filterobjectTidak 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. nls_config.channel_idarray[integer]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.Nilai default: [0]. nls_config.diarization_enabledbooleanTidak 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 speaker_idyang membedakan pembicara yang berbeda.Default: false.Untuk contohSaat diarization pembicara diaktifkan, pertahankan durasi audio dalam 2 jam. Jika tidak, pengenalan mungkin gagal atau habis waktu.speaker_id, lihat Deskripsi hasil pengenalan.nls_config.speaker_countintegerTidak 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_idstringTidak 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. nls_config.input_contextarrayTidak Daftar pesan yang berisi konteks percakapan opsional untuk meningkatkan akurasi pengenalan. nls_config.instant_vocabularyobjectTidak Hotword 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.nls_config.language_hintsarray[string]Tidak Kode 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. Klik untuk melihat kode bahasa yang didukung
-
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
-
Deskripsi parameter
Parameter
Tipe
Deskripsi
callbackINativeFileTransCallbackImplementasi antarmuka callback event dan data.
parametersStringString JSON yang berisi parameter autentikasi, koneksi, dan debugging. Lihat Parameter koneksi dan kontrol.
levelConstants.LogLevelMengontrol tingkat pencetakan log SDK itu sendiri.
save_logbooleanApakah akan menyimpan log secara lokal. Jika
true, tentukan jalur dengandebug_pathdi Parameter koneksi dan kontrol, dan secara opsional atur ukuran file denganmax_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
-
Deskripsi parameter
Parameter Tipe Deskripsi paramsStringParameter nls_configdi Parameter pengenalan suara. Parameter selainnls_configtidak dapat diatur melalui metode ini.Contoh: - Nilai kembalian
startFileTranscriber
Memulai pengenalan.
- Signature metode
-
Deskripsi parameter
Parameter Tipe Deskripsi paramsStringParameter pengenalan ucapan.Contoh: 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.
task_id yang diteruskan ke metode ini dari event EVENT_FILE_TRANS_UPLOADED.- Signature metode
-
Deskripsi parameter
Parameter
Tipe
Deskripsi
task_idStringID tugas yang akan dikueri, diperoleh dari event
EVENT_FILE_TRANS_UPLOADED. - Nilai kembalian
cancelFileTranscriber
Membatalkan tugas saat ini secara langsung.
- Signature metode
-
Deskripsi parameter
Parameter
Tipe
Deskripsi
task_idStringID 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
- Nilai kembalian
GetVersion
Mendapatkan informasi versi SDK saat ini.
- Signature metode
- Nilai kembalian Informasi versi SDK saat ini.
INativeFileTransCallback: callback listener
onFileTransEventCallback: mendengarkan event dan hasil pengenalan
- Signature metode
-
Deskripsi parameter
Parameter
Tipe
Deskripsi
eventEvent callback.
resultCodeintHanya valid saat event
EVENT_ASR_ERRORterjadi.asrResultAsrResultHasil pengenalan ucapan.
taskIdStringID tugas.
arg2intParameter yang dicadangkan.
onFileTransLogTrackCallback: mendengarkan log pelacakan
Callback ini menerima log internal terperinci SDK untuk diagnosis dan debugging masalah.
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 |
EVENT_FILE_TRANS_QUERY_RESULT | Kueri hasil tugas. |
EVENT_FILE_TRANS_RESULT | Hasil pengenalan akhir. |
EVENT_ASR_ERROR | Terjadi error selama pengenalan ucapan. |