Topik ini menjelaskan parameter dan detail antarmuka SDK Java untuk pengenalan ucapan non-real-time Paraformer.
PentingAlibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah China (Beijing). Domain khusus baru ini memberikan performa unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami merekomendasikan migrasi dari dashscope.aliyuncs.com ke {WorkspaceId}.cn-beijing.maas.aliyuncs.com.
Ganti {WorkspaceId} dengan Workspace ID Anda yang sebenarnya. Domain yang ada tetap berfungsi penuh.
PentingDokumen ini hanya berlaku di China (Beijing). Untuk menggunakan model, Anda harus menggunakan Kunci API dari China (Beijing).
Panduan pengguna:Pengenalan ucapan non-real-time
Prasyarat
Anda telah mengaktifkan layanan dan Mendapatkan Kunci API. Harap Konfigurasikan Kunci API sebagai variabel lingkungan alih-alih melakukan hardcoding di kode Anda untuk mencegah risiko keamanan akibat kebocoran kode.
CatatanSaat Anda perlu memberikan akses sementara kepada aplikasi atau pengguna pihak ketiga, atau saat ingin mengontrol secara ketat operasi berisiko tinggi seperti mengakses atau menghapus data sensitif, kami merekomendasikan penggunaan token otentikasi sementara.
Dibandingkan dengan Kunci API jangka panjang, token otentikasi sementara memiliki periode validitas singkat (60 detik) dan keamanan lebih tinggi, sehingga cocok untuk skenario panggilan sementara dan secara efektif mengurangi risiko kebocoran Kunci API.
Penggunaan: Dalam kode Anda, ganti Kunci API yang awalnya digunakan untuk otentikasi dengan token otentikasi sementara yang diperoleh.
Mulai cepat
Kelas inti (Transcription) menyediakan antarmuka untuk mengirimkan tugas secara asinkron, menunggu secara sinkron hingga tugas selesai, dan mengkueri hasil tugas secara asinkron. Anda dapat menggunakan dua metode pemanggilan berikut untuk pengenalan ucapan non-real-time:
- Kirim asinkron + tunggu sinkron: Setelah mengirimkan tugas, thread saat ini diblokir hingga tugas selesai dan hasil pengenalan diperoleh.
- Kirim asinkron + kueri asinkron: Setelah mengirimkan tugas, Anda dapat mengkueri hasil tugas kapan saja dengan memanggil antarmuka kueri.
Kirim asinkron + tunggu sinkron
-
Konfigurasikan Parameter permintaan.
-
Buat instans Kelas inti (Transcription).
-
Panggil metode
asyncCalldari Kelas inti (Transcription) untuk mengirimkan tugas secara asinkron.Catatan
- Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah dikirim, tugas masuk ke status antrian (
PENDING). Waktu antrian bergantung pada panjang antrian dan durasi file serta tidak dapat diprediksi secara tepat, tetapi biasanya selesai dalam beberapa menit. Setelah pemrosesan dimulai, pengenalan ucapan selesai dengan kecepatan ratusan kali lipat dari kecepatan real-time. - Setelah setiap tugas selesai, hasil pengenalan dan tautan unduh URL berlaku selama 24 jam. Setelah kedaluwarsa, Anda tidak dapat mengkueri tugas atau mengunduh hasil melalui URL yang sebelumnya diberikan.
- Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah dikirim, tugas masuk ke status antrian (
-
Panggil metode
waitdari Kelas inti (Transcription) untuk menunggu secara sinkron hingga tugas selesai.Status tugas mencakup
PENDING,RUNNING,SUCCEEDED, danFAILED. Saat tugas berada dalam statusPENDINGatauRUNNING, antarmukawaitdiblokir. Saat tugas berada dalam statusSUCCEEDEDatauFAILED, antarmukawaittidak lagi diblokir dan mengembalikan hasil tugas.waitmengembalikan Hasil tugas (TranscriptionResult).
Klik untuk melihat contoh lengkap
import com.alibaba.dashscope.audio.asr.transcription.*;
import com.google.gson.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Konfigurasi berikut ditujukan untuk wilayah China (Beijing). Ganti "{WorkspaceId}" dengan Workspace ID Anda yang sebenarnya. Konfigurasi bervariasi berdasarkan wilayah.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
// Buat parameter permintaan transkripsi
TranscriptionParam param =
TranscriptionParam.builder()
// Jika Kunci API tidak dikonfigurasi dalam variabel lingkungan, ganti apiKey dengan Kunci API Anda sendiri
//.apiKey("apikey")
.model("paraformer-v2")
// "language_hints" hanya didukung oleh model paraformer-v2
.parameter("language_hints", new String[]{"zh", "en"})
.fileUrls(
Arrays.asList(
"{YOUR_AUDIO_URL}"))
.build();
try {
Transcription transcription = new Transcription();
// Kirim permintaan transkripsi
TranscriptionResult result = transcription.asyncCall(param);
System.out.println("RequestId: " + result.getRequestId());
// Blokir dan tunggu hingga tugas selesai lalu dapatkan hasilnya
result = transcription.wait(
TranscriptionQueryParam.FromTranscriptionParam(param, result.getTaskId()));
// Cetak hasil
System.out.println(result.getOutput());
} catch (Exception e) {
System.out.println("error: " + e);
}
System.exit(0);
}
}
Kirim asinkron + kueri asinkron
-
Konfigurasikan Parameter permintaan.
-
Buat instans Kelas inti (Transcription).
-
Panggil metode
asyncCalldari Kelas inti (Transcription) untuk mengirimkan tugas secara asinkron.Catatan
- Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah dikirim, tugas masuk ke status antrian (
PENDING). Waktu antrian bergantung pada panjang antrian dan durasi file serta tidak dapat diprediksi secara tepat, tetapi biasanya selesai dalam beberapa menit. Setelah pemrosesan dimulai, pengenalan ucapan selesai dengan kecepatan ratusan kali lipat dari kecepatan real-time. - Setelah setiap tugas selesai, hasil pengenalan dan tautan unduh URL berlaku selama 24 jam. Setelah kedaluwarsa, Anda tidak dapat mengkueri tugas atau mengunduh hasil melalui URL yang sebelumnya diberikan.
- Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah dikirim, tugas masuk ke status antrian (
-
Lakukan loop dengan memanggil metode
fetchdari Kelas inti (Transcription) hingga Anda memperoleh hasil tugas akhir.Saat status tugas adalah
SUCCEEDEDatauFAILED, hentikan polling dan proses hasilnya.fetchmengembalikan Hasil tugas (TranscriptionResult).
Klik untuk melihat contoh lengkap
import com.alibaba.dashscope.audio.asr.transcription.*;
import com.alibaba.dashscope.common.TaskStatus;
import com.google.gson.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Konfigurasi berikut ditujukan untuk wilayah China (Beijing). Ganti "{WorkspaceId}" dengan Workspace ID Anda yang sebenarnya. Konfigurasi bervariasi berdasarkan wilayah.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
// Buat parameter permintaan transkripsi
TranscriptionParam param =
TranscriptionParam.builder()
// Jika Kunci API tidak dikonfigurasi dalam variabel lingkungan, ganti apiKey dengan Kunci API Anda sendiri
//.apiKey("apikey")
.model("paraformer-v2")
// "language_hints" hanya didukung oleh model paraformer-v2
.parameter("language_hints", new String[]{"zh", "en"})
.fileUrls(
Arrays.asList(
"{YOUR_AUDIO_URL}"))
.build();
try {
Transcription transcription = new Transcription();
// Kirim permintaan transkripsi
TranscriptionResult result = transcription.asyncCall(param);
System.out.println("RequestId: " + result.getRequestId());
// Loop untuk mendapatkan hasil tugas hingga tugas selesai
while (true) {
result = transcription.fetch(TranscriptionQueryParam.FromTranscriptionParam(param, result.getTaskId()));
if (result.getTaskStatus() == TaskStatus.SUCCEEDED || result.getTaskStatus() == TaskStatus.FAILED) {
break;
}
Thread.sleep(1000);
}
// Cetak hasil
System.out.println(result.getOutput());
} catch (Exception e) {
System.out.println("error: " + e);
}
System.exit(0);
}
}
Parameter permintaan
Parameter permintaan dikonfigurasi melalui metode berantai dari TranscriptionParam.
Klik untuk melihat contoh
TranscriptionParam param = TranscriptionParam.builder()
.model("paraformer-v2")
// "language_hints" hanya didukung oleh model paraformer-v2
.parameter("language_hints", new String[]{"zh", "en"})
.fileUrls(
Arrays.asList(
"{YOUR_AUDIO_URL}"))
.build();
| Parameter | Tipe | Bawaan | Wajib | Deskripsi |
|---|---|---|---|---|
model | String | Ya | Menentukan nama model Paraformer untuk transkripsi file audio/video. Lihat Model yang didukung. | |
fileUrls | List<String> | Ya | Daftar URL file audio/video untuk transkripsi. Mendukung protokol HTTP/HTTPS. Hanya satu URL yang didukung per permintaan. Jika file audio disimpan di Alibaba Cloud OSS, SDK tidak mendukung URL sementara dengan awalan oss://. | |
vocabularyId | String | Tidak | ID hot word terbaru. Mendukung model seri v2 terbaru dengan konfigurasi bahasa. Hot word yang terkait dengan ID ini berlaku untuk pengenalan ucapan ini. Dinonaktifkan secara bawaan. Untuk petunjuk penggunaan, lihat Hotword kustom. | |
channelId | List<Integer> | [0] | Tidak | Menentukan indeks track audio yang akan dikenali dalam file audio multi-track. Indeks dimulai dari 0. Misalnya, [0] berarti mengenali track pertama, dan [0, 1] berarti mengenali track pertama dan kedua secara simultan. Jika parameter ini dihilangkan, hanya track pertama yang diproses secara bawaan. PentingSetiap track yang ditentukan ditagih secara independen. Misalnya, meminta [0, 1] untuk satu file dikenai dua biaya terpisah. |
disfluencyRemovalEnabled | Boolean | false | Tidak | Menyaring kata pengisi. Dinonaktifkan secara bawaan. |
timestampAlignmentEnabled | Boolean | false | Tidak | Apakah akan mengaktifkan fitur penyelarasan timestamp. Dinonaktifkan secara bawaan. |
specialWordFilter | String | Tidak | Menentukan kata sensitif yang akan diproses selama pengenalan ucapan dan mendukung pengaturan metode pemrosesan berbeda untuk kata sensitif berbeda. Jika parameter ini tidak diberikan, sistem menggunakan logika penyaringan kata sensitif bawaan, dan kata-kata yang cocok dengan daftar kata sensitif Alibaba Cloud Model Studio dalam hasil pengenalan akan diganti dengan Jika parameter ini diberikan, strategi pemrosesan kata sensitif berikut dapat diterapkan:
Nilai parameter ini harus berupa string JSON dengan struktur berikut: Deskripsi bidang JSON:
| |
language_hints | String[] | ["zh", "en"] | Tidak | Menentukan kode bahasa dari ucapan yang akan dikenali. Parameter ini hanya berlaku untuk model paraformer-v2. Kode bahasa yang didukung:
Catatan |
diarizationEnabled | Boolean | false | Tidak | Diarisasi pembicara otomatis. Dinonaktifkan secara bawaan. Hanya berlaku untuk audio mono. Audio multi-channel tidak mendukung diarisasi pembicara. Saat fitur ini diaktifkan, hasil pengenalan akan menyertakan bidang CatatanJika diarisasi pembicara diaktifkan, disarankan agar durasi audio tidak melebihi 2 jam, jika tidak pengenalan mungkin gagal atau timeout. Untuk contoh |
speakerCount | Integer | Tidak | Nilai referensi untuk jumlah pembicara. Nilai yang valid: bilangan bulat dari 2 hingga 100 (inklusif). Berlaku saat diarisasi pembicara diaktifkan ( Secara bawaan, sistem secara otomatis menentukan jumlah pembicara. Jika parameter ini dikonfigurasi, parameter ini hanya berfungsi sebagai petunjuk bagi algoritma untuk mencoba menghasilkan jumlah pembicara yang ditentukan, tetapi jumlah pastinya tidak dijamin. | |
apiKey | String | Tidak | Kunci API. Jika Kunci API sudah dikonfigurasi dalam variabel lingkungan, Anda tidak perlu mengaturnya dalam kode. Jika tidak, Anda harus mengaturnya dalam kode. |
Respons
Hasil tugas (TranscriptionResult)
TranscriptionResult membungkus hasil tugas saat ini.
| Antarmuka/Metode | Parameter | Nilai kembali | Deskripsi |
|---|---|---|---|
| Tidak ada | requestId | Mendapatkan requestId. |
| Tidak ada | taskId | Mendapatkan taskId. |
| Tidak ada |
| Mendapatkan status tugas.
CatatanSaat tugas berisi beberapa subtugas, selama ada satu subtugas yang berhasil, status tugas keseluruhan ditandai sebagai |
| Tidak ada | Mendapatkan Hasil subtugas (TranscriptionTaskResult). Setiap tugas mengenali satu atau beberapa file audio. File audio berbeda diproses dalam subtugas berbeda, sehingga setiap tugas berkorespondensi dengan satu atau beberapa subtugas. | |
| Tidak ada | Hasil tugas dalam format JSON | Mendapatkan hasil tugas. Hasilnya dalam format JSON. Jika Anda menggunakan antarmuka Klik untuk melihat contoh JSON Contoh normal Contoh error" |
Hasil subtugas (TranscriptionTaskResult)
TranscriptionTaskResult membungkus hasil subtugas. Satu subtugas mengenali satu file audio.
| Antarmuka/Metode | Parameter | Nilai kembali | Deskripsi |
|---|---|---|---|
| Tidak ada | URL file audio yang dikenali | Mendapatkan URL file audio yang dikenali. |
| Tidak ada | URL hasil pengenalan | Mendapatkan URL hasil pengenalan. URL ini berlaku selama 24 jam. Setelah kedaluwarsa, Anda tidak dapat mengkueri tugas atau mengunduh hasil melalui URL yang sebelumnya diberikan. Hasil pengenalan disimpan sebagai file JSON. Anda dapat mengunduh file tersebut melalui URL di atas atau langsung membaca isinya melalui permintaan HTTP. Untuk makna setiap bidang dalam data JSON, lihat Deskripsi hasil pengenalan. |
| Tidak ada |
| Mendapatkan status subtugas.
|
| Tidak ada | Informasi penting selama eksekusi tugas, yang mungkin kosong | Mendapatkan informasi penting selama eksekusi tugas. Saat tugas gagal, Anda dapat memeriksa konten ini untuk menganalisis penyebabnya. |
Deskripsi hasil pengenalan
Hasil pengenalan disimpan sebagai file JSON.
Klik untuk melihat contoh hasil pengenalan
{
"file_url":"{YOUR_AUDIO_URL}",
"properties":{
"audio_format":"pcm_s16le",
"channels":[
0
],
"original_sampling_rate":16000,
"original_duration_in_milliseconds":3834
},
"transcripts":[
{
"channel_id":0,
"content_duration_in_milliseconds":3720,
"text":"Hello world, this is the Alibaba speech laboratory.",
"sentences":[
{
"begin_time":100,
"end_time":3820,
"text":"Hello world, this is the Alibaba speech laboratory.",
"sentence_id":1,
"speaker_id":0, //Bidang ini hanya ditampilkan saat diarisasi pembicara otomatis diaktifkan
"words":[
{
"begin_time":100,
"end_time":596,
"text":"Hello ",
"punctuation":""
},
{
"begin_time":596,
"end_time":844,
"text":"world",
"punctuation":", "
}
// Konten lain dihilangkan di sini
]
}
]
}
]
}
Parameter utama adalah sebagai berikut:
Parameter | Type | Deskripsi |
|---|---|---|
audio_format | string | Format audio file sumber. |
channels | array[integer] | Informasi indeks track audio file sumber. Mengembalikan [0] untuk audio mono, [0, 1] untuk audio dual-track, dan seterusnya. |
original_sampling_rate | integer | Frekuensi sampling (Hz) audio dalam file sumber. |
original_duration | integer | Durasi audio asli (ms) file sumber. |
channel_id | integer | Indeks track audio dari hasil transkripsi, dimulai dari 0. |
content_duration | integer | Durasi (ms) konten yang diidentifikasi sebagai ucapan dalam track audio. Layanan model pengenalan ucapan Paraformer hanya mentranskripsi dan mengukur konten yang diidentifikasi sebagai ucapan dalam track audio, dan menagih sesuai dengan itu. Konten non-ucapan tidak diukur maupun ditagih. Biasanya, durasi konten ucapan lebih pendek daripada durasi audio asli. Karena penentuan apakah konten ucapan ada dilakukan oleh model AI, mungkin terjadi sedikit penyimpangan dari situasi aktual. |
transcript | string | Hasil transkripsi ucapan tingkat paragraf. |
sentences | array | Hasil transkripsi ucapan tingkat kalimat. |
words | array | Hasil transkripsi ucapan tingkat kata. |
begin_time | integer | Timestamp mulai (ms). |
end_time | integer | Timestamp akhir (ms). |
text | string | Hasil transkripsi ucapan. |
speaker_id | integer | Indeks pembicara saat ini, dimulai dari 0, digunakan untuk membedakan pembicara berbeda. Bidang ini hanya ditampilkan dalam hasil pengenalan saat diarisasi pembicara diaktifkan. |
punctuation | string | Tanda baca yang diprediksi setelah kata (jika ada). |
Antarmuka utama
Kelas parameter kueri tugas (TranscriptionQueryParam)
TranscriptionQueryParam digunakan saat menunggu tugas selesai (memanggil metode wait dari Transcription) atau mengkueri hasil tugas (memanggil metode fetch dari Transcription).
Buat instans TranscriptionQueryParam melalui metode statis FromTranscriptionParam.
Klik untuk melihat contoh
// Buat parameter permintaan transkripsi
TranscriptionParam param =
TranscriptionParam.builder()
// Jika Kunci API tidak dikonfigurasi dalam variabel lingkungan, ganti apiKey dengan Kunci API Anda sendiri
//.apiKey("apikey")
.model("paraformer-v2")
// "language_hints" hanya didukung oleh model paraformer-v2
.parameter("language_hints", new String[]{"zh", "en"})
.fileUrls(
Arrays.asList(
"{YOUR_AUDIO_URL}"))
.build();
try {
Transcription transcription = new Transcription();
// Kirim permintaan transkripsi
TranscriptionResult result = transcription.asyncCall(param);
System.out.println("RequestId: " + result.getRequestId());
TranscriptionQueryParam queryParam = TranscriptionQueryParam.FromTranscriptionParam(param, result.getTaskId());
} catch (Exception e) {
System.out.println("error: " + e);
}
| Antarmuka/Metode | Parameter | Nilai kembali | Deskripsi |
|---|---|---|---|
|
| Instans | Membuat instans |
Kelas inti (Transcription)
Transcription dapat diimpor dengan "import com.alibaba.dashscope.audio.asr.transcription.*;". Antarmuka utamanya adalah sebagai berikut:
| Antarmuka/Metode | Parameter | Nilai kembali | Deskripsi |
|---|---|---|---|
|
| Mengirimkan tugas pengenalan ucapan secara asinkron. | |
|
| Memblokir thread saat ini hingga tugas asinkron selesai (status tugas adalah | |
|
| Mengkueri hasil tugas saat ini secara asinkron. |
Kode kesalahan
Jika Anda mengalami kesalahan, lihat Kode kesalahan untuk troubleshooting.
Jika masalah berlanjut, bergabunglah dengan komunitas developer untuk melaporkan masalah dan memberikan Request ID untuk investigasi lebih lanjut.
Saat tugas berisi beberapa subtugas, selama ada satu subtugas yang berhasil, status tugas keseluruhan ditandai sebagai SUCCEEDED. Anda perlu memeriksa bidang subtask_status untuk menentukan hasil setiap subtugas.
Contoh respons error:
{
"task_id": "7bac899c-06ec-4a79-8875-xxxxxxxxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2024-12-16 16:30:59.170",
"scheduled_time": "2024-12-16 16:30:59.204",
"end_time": "2024-12-16 16:31:02.375",
"results": [
{
"file_url": "{YOUR_AUDIO_URL}",
"code": "InvalidFile.DownloadFailed",
"message": "File audio tidak dapat diunduh.",
"subtask_status": "FAILED"
}
],
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 0,
"FAILED": 1
}
}
Lebih banyak contoh
Untuk lebih banyak contoh, lihat GitHub.
FAQ
Pertanyaan fitur
T: Apakah mendukung audio terenkode Base64?
Tidak. Audio yang dienkripsi Base64 tidak didukung. Hanya audio yang dapat diakses melalui URL publik yang didukung. Aliran biner dan pengenalan file lokal langsung tidak didukung.
T: Bagaimana cara menyediakan file audio sebagai URL publik?
Umumnya, ikuti langkah-langkah berikut (ini memberikan pendekatan umum; spesifiknya bervariasi berdasarkan produk penyimpanan. Kami merekomendasikan mengunggah audio ke Alibaba Cloud OSS):
1. Pilih metode penyimpanan dan hosting
Misalnya:
-
Layanan Penyimpanan Objek (direkomendasikan):
- Gunakan layanan penyimpanan objek penyedia cloud (seperti Alibaba Cloud OSS) untuk mengunggah file audio ke bucket dan mengaturnya ke akses publik.
- Keuntungan: Ketersediaan tinggi, dukungan akselerasi CDN, manajemen mudah.
-
Server web:
- Tempatkan file audio di server web yang mendukung akses HTTP/HTTPS (seperti Nginx atau Apache).
- Keuntungan: Cocok untuk proyek kecil atau pengujian lokal.
-
Content Delivery Network (CDN):
- Host file audio di CDN dan akses melalui URL yang disediakan CDN.
- Keuntungan: Pengiriman file dipercepat, cocok untuk skenario konkurensi tinggi.
2. Unggah file audio
Unggah file audio berdasarkan metode penyimpanan/hosting yang Anda pilih, misalnya:
-
Layanan Penyimpanan Objek:
- Login ke konsol penyedia cloud dan buat bucket.
- Unggah file audio dan atur izin file ke "baca publik" atau hasilkan tautan akses sementara.
-
Server web:
- Tempatkan file audio di direktori yang ditentukan server (seperti
/var/www/html/audio/). - Pastikan file dapat diakses melalui HTTP/HTTPS.
- Tempatkan file audio di direktori yang ditentukan server (seperti
3. Hasilkan URL publik
Misalnya:
-
Layanan Penyimpanan Objek:
- Setelah diunggah, sistem secara otomatis menghasilkan URL akses publik (biasanya dalam format
https://<bucket-name>.<region>.aliyuncs.com/<file-name>). - Jika Anda membutuhkan domain yang lebih ramah pengguna, Anda dapat mengikat domain kustom dan mengaktifkan HTTPS.
- Setelah diunggah, sistem secara otomatis menghasilkan URL akses publik (biasanya dalam format
-
Server web:
- URL akses file biasanya merupakan alamat server ditambah jalur file (seperti
https://your-domain.com/audio/file.mp3).
- URL akses file biasanya merupakan alamat server ditambah jalur file (seperti
-
CDN:
- Setelah mengonfigurasi akselerasi CDN, gunakan URL yang disediakan CDN (seperti
https://cdn.your-domain.com/audio/file.mp3).
- Setelah mengonfigurasi akselerasi CDN, gunakan URL yang disediakan CDN (seperti
4. Verifikasi aksesibilitas URL
Di lingkungan jaringan publik, pastikan URL yang dihasilkan dapat diakses, misalnya:
- Buka URL di browser dan periksa apakah file audio dapat diputar.
- Gunakan alat (seperti
curlatau Postman) untuk memverifikasi apakah URL mengembalikan respons HTTP yang benar (kode status 200).
Saat menggunakan SDK, jika file audio disimpan di Alibaba Cloud OSS, URL sementara dengan awalan oss:// tidak didukung.
Saat menggunakan RESTful API, jika file audio disimpan di Alibaba Cloud OSS, URL sementara dengan awalan oss:// didukung:
- URL sementara berlaku selama 48 jam dan tidak dapat digunakan setelah kedaluwarsa. Jangan gunakan di lingkungan produksi.
- API untuk mendapatkan kredensial unggah dibatasi hingga 100 QPS dan tidak mendukung penskalaan keluar. Jangan gunakan di lingkungan produksi, skenario konkurensi tinggi, atau skenario uji stres.
- Untuk lingkungan produksi, gunakan layanan penyimpanan stabil seperti OSS untuk memastikan ketersediaan file jangka panjang dan menghindari masalah pembatasan laju.
T: Berapa lama waktu yang dibutuhkan untuk mendapatkan hasil pengenalan?
Setelah dikirim, tugas masuk ke status antrian (PENDING). Waktu antrian bergantung pada panjang antrian dan durasi file serta tidak dapat diprediksi secara tepat, tetapi biasanya selesai dalam beberapa menit. Harap tunggu dengan sabar. File audio yang lebih panjang memerlukan waktu pemrosesan lebih lama.
Troubleshooting
Jika Anda mengalami kesalahan kode, lakukan troubleshooting berdasarkan informasi di Kode kesalahan.
T: Apa yang harus dilakukan jika hasil pengenalan dan pemutaran audio tidak sinkron?
Atur Parameter permintaan timestampAlignmentEnabled ke true untuk mengaktifkan fitur penyelarasan timestamp, yang menyinkronkan hasil pengenalan dengan pemutaran audio.
T: Tidak dapat mendapatkan hasil setelah polling terus-menerus?
Ini mungkin karena pembatasan laju. Harap tunggu dengan sabar. Jika Anda membutuhkan ekspansi kapasitas, bergabunglah dengan komunitas developer untuk mengajukan permohonan.
T: Mengapa tidak ada hasil pengenalan (tidak dapat mengenali ucapan)?
- Periksa apakah audio memenuhi persyaratan (format, frekuensi sampling).
- Jika Anda menggunakan model
paraformer-v2, periksa apakah pengaturanlanguage_hintssudah benar. - Jika tidak ada yang menyelesaikan masalah, Anda dapat menyesuaikan hot word untuk meningkatkan pengenalan kata-kata tertentu.
Pertanyaan lainnya
Lihat GitHub QA.