Mulai cepat web
Paket npm untuk browser dan Node: baris pemasangan, tempat menaruh kunci, dan panduan mulai cepat.
SDK web adalah mesin yang dikompilasi ke WebAssembly, untuk browser dan Node 20 atau yang lebih baru. Paketnya adalah @quran-lab/tajweedformer di npm, dan kode sumbernya ada di github.com/Quran-Lab/tajweedformer-web.
Pemasangan
npm install @quran-lab/tajweedformer@3.1.3Kunci
Gunakan kunci web. Kunci web sengaja dibuat publik: kunci ini hanya bekerja dari origin https yang tepat, sesuai yang Anda tetapkan untuknya, dan setiap origin terdaftar sebagai aplikasi tersendiri, yang ditampilkan portal sebagai satu aplikasi dengan filter origin. Halaman harus berjalan dalam konteks aman (https, atau http://localhost).
# .env.local (git-ignored)
VITE_QURANLAB_KEY=qlk_v1_...Di Node, gunakan kunci desktop dan teruskan app id Anda ke Client.
Client, model, listen, read
import { TajweedClient } from '@quran-lab/tajweedformer';
const heard = document.querySelector('#heard');
const client = await TajweedClient.create({ key: 'qlk_v1_...' }); // your web key
const model = await client.model(); // downloads the model once, then cached
async function take(from) { // one take: the microphone, or a clip
// ends when the learner stops
const session = await model.listen({ from, endOnSilenceMs: 1500 });
for await (const chunk of session.chunks) heard.textContent = chunk.decoded.text;
}
document.querySelector('#listen').onclick = () => take(); // the microphone needs a tap- Mikrofon.
listen()meminta izin, menangkap audio pada laju sampel perangkat itu sendiri, lalu memberitahukan laju sampel tersebut kepada sesi. - Di luar thread utama. Di browser, mesin berjalan di dalam Worker, sehingga inferensi untuk satu potongan tidak pernah memblokir halaman Anda.
- Halaman yang tersembunyi mengakhiri take dari
listen. Mulai take baru (satu kali bacaan yang didengarkan SDK dari awal sampai akhir) saat halaman terlihat lagi. - Tanpa mikrofon.
model.sampleClipsberisi daftar beberapa klip pendek yang disertakan bersama model, danmodel.listen({ from: model.sampleClips[0] })menjalankan salah satunya melalui jalur yang sama. Dengan cara inilah pengujian, atau pemeriksaan oleh asisten pemrograman, menampilkan keluaran nyata di komputer tanpa mikrofon. - Audio Anda sendiri, atau Node.
model.session()dansession.push(samples)menggantikanlisten(). Selebihnya sama.
Yang dikembalikan
Setiap potongan berisi chunk.decoded (text, tokens, words, settled, isFinal) dan chunk.heads (keluaran mentah yang Anda pilih). Bangun umpan balik sendiri menjelaskan masing-masing.
Nama persisnya untuk versi SDK Anda ada di README paket.