Ekstrak arsip TAR. Dapatkan SDK dalam format HAR dari neonui dan tambahkan ke dependensi proyek Anda. Untuk integrasi C++, gunakan native/libs dan native/include dalam arsip TAR untuk mendapatkan pustaka dinamis dan file header.
Buka proyek di DevEco Studio. Kode contoh ada di DashFunAsrFlashFileTranscriberPage.ets. Ganti kunci API untuk mencoba fitur ini.
Berikan string JSON ke parameter parameters metode initializeFileTrans untuk mengonfigurasi pengaturan ini.Contoh parameter: String JSON berikut adalah contoh dan tidak mencantumkan semua parameter. Tambahkan parameter sesuai kebutuhan di kode Anda:
Endpoint layanan. Atur parameter ini ke wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation. Ganti {WorkspaceId} dengan ID Workspace aktual Anda.
apikey
string
Ya
Kunci API. Kami menyarankan untuk menggunakan kunci API sementara yang berumur pendek dan lebih aman untuk mengurangi risiko paparan kunci yang berumur panjang.
service_mode
string
Ya
Mode operasi. Untuk pengenalan ucapan non-real-time, atur parameter ini ke "1".
device_id
string
Ya
String unik yang mengidentifikasi pengguna akhir. Anda dapat menggunakan ID pengguna dalam aplikasi atau pengidentifikasi perangkat unik yang dibuat klien. ID ini terutama digunakan untuk pelacakan log dan pemecahan masalah.
debug_path
string
Tidak
Jalur untuk file log. Parameter ini hanya berlaku jika Anda memanggil initializeFileTrans dengan save_log diatur ke true. Dalam kasus ini, Anda harus menentukan jalur file log. Jika tidak, akan terjadi error. Hingga dua file log dipertahankan secara lokal.
max_log_file_size
number
Tidak
Ukuran file log maksimum dalam byte. Parameter ini hanya berlaku jika Anda memanggil initializeFileTrans dengan save_log diatur ke true. Default: 104857600 (100 * 1024 * 1024 byte, atau 100 MiB).
Gunakan setParams untuk mengonfigurasi parameter nls_config, atau gunakan startFileTranscriber untuk mengonfigurasi semua parameter pengenalan.Contoh parameter: String JSON berikut adalah contoh dan tidak mencantumkan semua parameter. Tambahkan parameter sesuai kebutuhan di kode Anda:
Format audio. Atur parameter ini ke format aktual. Format yang didukung meliputi wav, mp3, opus. Untuk detailnya, lihat Audio specifications.
nls_config.sample_rate
string
Tidak
Tingkat sampel audio dalam Hz. Misalnya, 16000 menunjukkan tingkat sampel 16 kHz. Untuk detailnya, lihat Audio specifications.
nls_config.vocabulary_id
string
Tidak
ID kosakata yang telah dikompilasi sebelumnya. Buat kosakata terlebih dahulu dan berikan ID-nya selama pengenalan untuk menggunakan kata kuncinya. Gunakan opsi ini jika kosakata sudah diketahui, relatif stabil, dan digunakan kembali di berbagai permintaan. Untuk petunjuk penggunaan, lihat Kata kunci yang telah dikompilasi sebelumnya.
nls_config.instant_vocabulary
object
Tidak
Kata kunci instan. Berikan pasangan kunci-nilai. Kuncinya adalah teks kata kunci (string) dan nilainya adalah bobotnya (integer). Anda tidak perlu membuat kosakata terlebih dahulu. Bobot yang valid adalah [1, 5] atau 50. Dalam rentang [1, 5], bobot yang lebih tinggi membuat model lebih mungkin menghasilkan kata tersebut. Bobot 50 menentukan kata kunci super dan secara signifikan meningkatkan recall. Anda dapat menentukan hingga 50 kata kunci super. Gunakan opsi ini untuk optimasi kata kunci sementara tingkat sesi. Jika kata kunci instan dan yang telah dikompilasi sebelumnya dikonfigurasi, sistem akan menggabungkannya. Jika daftar gabungan melebihi 2000 entri, sistem akan memilih 2000 entri secara acak. Untuk petunjuk penggunaan, lihat Kata kunci instan.
Untuk model dan batas yang berlaku untuk hotword instan, lihat Hotword instan.
Copy
{ "张三": 5, "李四": 5}
nls_config.language_hints
array[string]
Tidak
Kode bahasa untuk pengenalan. Jika bahasa tidak diketahui sebelumnya, abaikan parameter ini agar model mendeteksinya secara otomatis. Untuk model Qwen-Audio-3.0-ASR-Flash, didukung hingga empat nilai. Jika lebih dari itu yang ditentukan, hanya empat pertama yang berlaku. Untuk model Fun-ASR-Flash, hanya satu nilai yang didukung. Jika beberapa nilai ditentukan, hanya nilai pertama yang berlaku.
Daftar pesan. Berisi audio yang akan dikenali dan konteks percakapan opsional untuk meningkatkan pengenalan. Lihat deskripsi berikut.
parameter messages:
Konteks meningkatkan akurasi pengenalan istilah khusus. Untuk petunjuk penggunaan, lihat Context enhancement.Batasan: Pesan konteks (tipe input_text dan text ) dibatasi masing-masing lima. Jika batas terlampaui, hanya lima pesan terbaru yang dipertahankan. Total panjang teks konteks per giliran (jumlah panjang bidang user dan assistanttext ) tidak boleh melebihi 400 karakter. Setiap karakter dihitung sebagai satu. Karakter berlebih akan dipotong dari akhir.
Jika konteks disertakan, pesan messages harus mengikuti urutan tertentu. Atur pesan konteks berdasarkan giliran percakapan. Dalam setiap giliran, user (tipe input_text ) harus mendahului assistant (tipe text ) yang sesuai. Pesan input_audiouser yang berisi audio input harus ditempatkan di akhir messages .
Parameter
Tipe
Wajib
Deskripsi
role
string
Ya
Peran pesan. Nilai yang valid:
user (wajib): Pesan pengguna. Jika tipe adalah input_audio, ini mewakili audio yang akan dikenali. Jika tipe adalah input_text, ini mewakili hasil pengenalan dari giliran sebelumnya atau kosakata spesifik domain (konteks opsional).
assistant (konteks opsional): Respons model bahasa besar dari percakapan sebelumnya.
content
array[object]
Ya
Daftar isi pesan. Lihat deskripsi berikut.
parameter content:
Parameter
Tipe
Wajib
Deskripsi
type
string
Ya
Tipe konten. Setiap permintaan memerlukan setidaknya satu input_audio pesan. Nilai yang valid:
input_audio (wajib): Input audio yang akan dikenali (role adalah user). Anda juga harus menyediakan objek input_audio.
input_text (konteks opsional): Hasil pengenalan ucapan pengguna dari percakapan sebelumnya atau kosakata khusus domain (role adalah user). Anda juga harus menyediakan bidang text.
text (konteks opsional): Respons model bahasa besar dari percakapan sebelumnya (role adalah assistant). Anda juga harus menyediakan bidang text.
input_audio
object
Tidak
Wajib diisi ketika type adalah input_audio.
input_audio.data
string
Ya
Data audio yang akan dikenali. Untuk format audio yang didukung, batas ukuran file, batas durasi, dan persyaratan input lainnya, lihat Spesifikasi audio. Dua metode input berikut didukung:
URL file audio: Berikan URL file audio yang dapat diakses secara publik.
Base64 Data URI: Berikan audio yang dienkode Base64 sebagai Data URI. Gabungkan prefiks data:{MIME_TYPE};base64, dengan data audio yang dienkode Base64. Tipe MIME yang didukung meliputi audio/wav, audio/mp3. Contoh (URL): https://example.com/audio/sample.wav Contoh (Base64): data:audio/wav;base64,{BASE64_ENCODED_DATA}
text
string
Tidak
Wajib jika type adalah input_text, berikan hasil pengenalan ucapan pengguna dari giliran sebelumnya atau kosakata spesifik domain. Jika type adalah text, berikan respons model bahasa besar dari giliran sebelumnya. Panjang teks dihitung dalam karakter, dengan setiap karakter dihitung sebagai satu. Total panjang semua bidang text pesan di setiap giliran konteks tidak boleh melebihi 400 karakter. Karakter berlebih akan dipotong dari akhir.
Berbeda dengan pengenalan ucapan real-time, transkripsi non-real-time (file rekaman) memerlukan initializeFileTrans dengan callback INativeFileTransCallback alih-alih initialize.
Metode ini memblokir. Panggil dari thread non-UI.Signature metode
Copy
public initializeFileTrans(callback: INativeFileTransCallback, parameters: string, level: number, save_log: boolean = false): number
Parameter
Parameter
Tipe
Deskripsi
callback
INativeFileTransCallback
Implementasi antarmuka callback data dan event transkripsi file.
Apakah akan menyimpan log secara lokal. Jika diatur ke true, gunakan Connection and control parameters untuk mengatur debug_path guna menentukan path, dan gunakan max_log_file_size untuk mengatur ukuran file.
Gunakan metode ini untuk mengatur atau memperbarui nls_config secara terpisah. Anda tidak perlu memanggil metode ini jika semua parameter disediakan dalam startFileTranscriber dalam satu panggilan.Signature metode
Copy
public setParams(params: string): number
Parameter
Parameter
Tipe
Deskripsi
params
string
Parameter pengenalan dalam parameter nls_config; parameter di luar nls_config tidak dapat diatur dengan metode ini.
Buffer ID tugas. SDK menulis string ID tugas acak yang dihasilkan secara internal ke buffer ini. Panjang byte-nya harus >= 33 byte (contoh menggunakan new ArrayBuffer(64)). Setelah panggilan berhasil, dekode buffer untuk mendapatkan task_id tugas.
Gunakan metode ini untuk mengkueri status dan hasil saat ini dari tugas asinkron. Setelah panggilan berhasil, hasil dikembalikan melalui event EVENT_FILE_TRANS_QUERY_RESULT callback onFileTransEventCallback.Signature metode
Copy
public queryFileTranscriber(task_id: string): number
Parameter
Parameter
Tipe
Deskripsi
task_id
string
ID tugas yang akan dikueri (ditulis ke buffer oleh startFileTranscriber ).
Lepaskan semua sumber daya internal SDK. Setelah pemanggilan ini, instance SDK menjadi tidak tersedia. Untuk menggunakannya lagi, panggil initializeFileTrans untuk menginisialisasinya kembali.Signature metode
Callback ini menerima log internal SDK yang terperinci untuk pemecahan masalah dan debugging.Untuk menggunakan callback ini, unduh paket SDK HarmonyOS tertanggal 20260908 atau lebih baru.