Skip to main content
Pengenalan Ujaran Non-Waktu-Nyata (Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR)

SDK Python untuk pengenalan ucapan non-real-time Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR

Topik ini menjelaskan parameter dan antarmuka SDK Python untuk pengenalan ucapan non-real-time Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR.

Panduan pengguna: Pengenalan ucapan non-real-time. Untuk persyaratan input seperti format audio yang didukung, batas ukuran file, dan batas durasi, lihat Spesifikasi audio.

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.
Saat Anda perlu memberikan akses sementara ke aplikasi atau pengguna pihak ketiga, atau saat ingin mengontrol secara ketat operasi berisiko tinggi seperti mengakses atau menghapus data sensitif, kami menyarankan menggunakan token otentikasi temporary.Dibandingkan dengan Kunci API jangka panjang, token otentikasi temporary memiliki periode validitas singkat (60 detik) dan keamanan lebih tinggi, sehingga cocok untuk skenario pemanggilan sementara dan secara efektif mengurangi risiko kebocoran Kunci API.Penggunaan: Dalam kode Anda, ganti Kunci API yang awalnya digunakan untuk otentikasi dengan token otentikasi temporary yang diperoleh.

Mulai cepat

Kelas inti (Transcription) menyediakan antarmuka untuk mengirimkan tugas secara asinkron, menunggu secara sinkron hingga tugas selesai, dan mengambil hasil tugas secara asinkron. Anda dapat menjalankan pengenalan ucapan non-real-time dengan salah satu cara berikut:
  • Kirim tugas secara asinkron dan tunggu secara sinkron: setelah mengirimkan tugas, blokir thread saat ini hingga tugas selesai dan kembalikan hasil pengenalan.
  • Kirim tugas secara asinkron dan ambil hasil secara asinkron: setelah mengirimkan tugas, panggil antarmuka query untuk mengambil hasil kapan pun Anda membutuhkannya.

Kirim secara asinkron dan tunggu secara sinkron

  1. Panggil metode async_call dari Kelas inti (Transcription) dan atur parameter permintaan.
    • Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah Anda mengirimkan tugas, tugas tersebut masuk ke status antrian (PENDING). Waktu antrian bergantung pada panjang antrian dan durasi file, sehingga tidak dapat ditentukan secara pasti, tetapi biasanya dalam hitungan beberapa menit. Setelah pemrosesan dimulai, pengenalan ucapan selesai dengan kecepatan ratusan kali lipat dari kecepatan real-time.
    • Setelah setiap tugas selesai, hasil pengenalan dan URL unduhan berlaku selama 24 jam. Setelah masa berlaku habis, Anda tidak dapat lagi mengambil tugas atau mengunduh hasil melalui URL yang dikembalikan dalam query sebelumnya.
  2. Panggil metode wait dari Kelas inti (Transcription) untuk menunggu secara sinkron hingga tugas selesai. Tugas dapat berada dalam salah satu status berikut: PENDING, RUNNING, SUCCEEDED, dan FAILED. Selama tugas berada dalam status PENDING atau RUNNING, antarmuka wait akan memblokir. Ketika tugas mencapai status SUCCEEDED atau FAILED, antarmuka wait berhenti memblokir dan mengembalikan hasil tugas. wait mengembalikan TranscriptionResponse.
from http import HTTPStatus
from dashscope.audio.asr import Transcription
import dashscope
import os
import json

# Berikut adalah konfigurasi untuk wilayah Singapura. Ganti "{WorkspaceId}" dengan ID ruang kerja aktual Anda. Konfigurasi berbeda-beda di tiap wilayah.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# Kunci API untuk wilayah Singapura dan Beijing berbeda. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")

task_response = Transcription.async_call(
    model='qwen-audio-3.0-asr-flash-filetrans',
    file_urls=['{YOUR_AUDIO_URL}']
)

transcribe_response = Transcription.wait(task=task_response.output.task_id)
if transcribe_response.status_code == HTTPStatus.OK:
    print(json.dumps(transcribe_response.output, indent=4, ensure_ascii=False))
    print('transkripsi selesai!')

Kirim secara asinkron dan ambil hasil secara asinkron

  1. Panggil metode async_call dari Kelas inti (Transcription) dan atur parameter permintaan.
    • Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah Anda mengirimkan tugas, tugas tersebut masuk ke status antrian (PENDING). Waktu antrian bergantung pada panjang antrian dan durasi file, sehingga tidak dapat ditentukan secara pasti, tetapi biasanya dalam hitungan beberapa menit. Setelah pemrosesan dimulai, pengenalan ucapan selesai dengan kecepatan ratusan kali lipat dari kecepatan real-time.
    • Setelah setiap tugas selesai, hasil pengenalan dan URL unduhan berlaku selama 24 jam. Setelah masa berlaku habis, Anda tidak dapat lagi mengambil tugas atau mengunduh hasil melalui URL yang dikembalikan dalam query sebelumnya.
  2. Panggil metode fetch dari Kelas inti (Transcription) dalam loop hingga Anda mendapatkan hasil akhir tugas. Saat status tugas adalah SUCCEEDED atau FAILED, hentikan polling dan proses hasilnya. fetch mengembalikan TranscriptionResponse.
from http import HTTPStatus
from dashscope.audio.asr import Transcription
import dashscope
import os
import json

# Berikut adalah konfigurasi untuk wilayah Singapura. Saat memanggil, ganti "{WorkspaceId}" dengan ID ruang kerja aktual Anda. Konfigurasi berbeda-beda di tiap wilayah.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# Kunci API berbeda antara wilayah Singapura dan Beijing. Dapatkan Kunci API: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")

transcribe_response = Transcription.async_call(
    model='qwen-audio-3.0-asr-flash-filetrans',
    file_urls=['{YOUR_AUDIO_URL}']
)

while True:
    if transcribe_response.output.task_status == 'SUCCEEDED' or transcribe_response.output.task_status == 'FAILED':
        break
    transcribe_response = Transcription.fetch(task=transcribe_response.output.task_id)

if transcribe_response.status_code == HTTPStatus.OK:
    print(json.dumps(transcribe_response.output, indent=4, ensure_ascii=False))
    print('transkripsi selesai!')

Titik akhir layanan

Secara default, SDK menggunakan titik akhir layanan wilayah Beijing. Untuk beralih ke wilayah lain, ubah dashscope.base_http_api_url sebelum inisialisasi.
  • Singapura
  • China (Beijing)
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1Ganti {WorkspaceId} dengan ID Ruang Kerja aktual Anda.
Untuk beralih ke wilayah Singapura:
import dashscope

# Atur ini di awal kode Anda
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
Catatan:
  • Kunci API berbeda di tiap wilayah. Pastikan Anda menggunakan Kunci API yang sesuai dengan wilayah tersebut.
  • Konfigurasi wilayah adalah pengaturan global yang memengaruhi semua pemanggilan API melalui SDK DashScope.

Parameter permintaan

Atur parameter permintaan melalui metode async_call dari Kelas inti (Transcription).
ParameterTipeWajibDeskripsi
modelstrYaNama model. Nilai yang didukung mencakup keluarga model Qwen-Audio-3.0-ASR-Flash-Filetrans dan Fun-ASR. Untuk detailnya, lihat Model dan wilayah yang didukung.
file_urlslist[str]YaDaftar URL file audio atau video yang akan ditranskripsi. 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, RESTful API mendukung URL sementara dengan awalan oss://, sedangkan SDK tidak mendukung URL sementara dengan awalan oss://.
  • URL sementara berlaku selama 48 jam dan tidak dapat digunakan setelah masa berlaku habis. Jangan gunakan di lingkungan produksi.
  • Antarmuka unggah kredensial memiliki Pembatasan laju hingga 100 QPS dan tidak dapat diskalakan. Jangan gunakan di lingkungan produksi, skenario konkurensi tinggi, atau skenario uji stres.
  • Untuk produksi, gunakan penyimpanan stabil seperti Alibaba Cloud OSS agar file tersedia dalam jangka panjang dan menghindari Pembatasan laju.
  • Jika URL file audio yang diatur ke URL publik sementara OSS tidak dapat diakses, atur X-DashScope-OssResourceResolve ke enable di header permintaan (tidak disarankan). SDK tidak mendukung konfigurasi header permintaan.
vocabulary_idstrTidakID daftar kata kunci panas yang telah dikompilasi sebelumnya.Hasilkan ID ini terlebih dahulu dengan memanggil API pembuatan daftar kata kunci panas. Masukkan ID ini selama pengenalan untuk menggunakan kata kunci dalam daftar tersebut.Cocok untuk skenario di mana kosakata diketahui dan relatif stabil, serta Anda perlu menggunakan kembali daftar kata yang sama di berbagai permintaan.Untuk detail penggunaan, lihat Kata kunci panas yang telah dikompilasi.
vocabularydictTidakHotword instan.Diteruskan sebagai pasangan kunci-nilai, di mana kunci adalah teks kata kunci panas (string) dan nilai adalah bobot kata kunci panas (integer). Tidak perlu membuat daftar kata kunci panas terlebih dahulu. Bobot berkisar dari [1, 5] atau diatur ke 50: nilai dalam [1, 5] membuat model lebih cenderung menghasilkan kata tersebut seiring peningkatan nilainya; nilai 50 menandakan kata kunci super panas, yang sangat meningkatkan recall, tetapi jumlah kata kunci super panas tidak boleh melebihi 50.Cocok untuk optimasi kata kunci panas tingkat sesi yang bersifat sementara.Saat dikonfigurasi bersama kata kunci panas yang telah dikompilasi, hanya kata kunci panas instan yang berlaku. Untuk detail penggunaan, lihat Kata kunci panas instan.
Hanya qwen-audio-3.0-asr-flash-filetrans yang mendukung kata kunci panas inline.
Contoh:
from dashscope.audio.asr import Transcription

vocab = {"Zhang San": 5, "Li Si": 5}
result = Transcription.async_call(
    model="qwen-audio-3.0-asr-flash-filetrans",
    vocabulary=vocab,
    file_urls=['{YOUR_AUDIO_URL}']
)
channel_idlist[int]TidakIndeks track audio yang akan dikenali dalam file audio multi-track. Indeks dimulai dari 0. Misalnya, [0] mengenali track pertama, dan [0, 1] mengenali track pertama dan kedua secara bersamaan. Jika Anda mengabaikan parameter ini, hanya track pertama yang diproses.
Setiap track yang ditentukan ditagih secara independen. Misalnya, meminta [0, 1] untuk satu file dikenai dua biaya terpisah.
Nilai default: [0].
special_word_filterstrTidakKata sensitif yang akan diproses selama pengenalan ucapan. Anda dapat mengatur metode penanganan berbeda untuk setiap kata sensitif. Untuk detailnya, lihat Penyaringan kata sensitif.
diarization_enabledboolTidakApakah akan mengaktifkan diarization pembicara. Secara default dinonaktifkan.Hanya berlaku untuk audio mono. Audio multi-channel tidak mendukung diarization pembicara.Saat diaktifkan, hasil pengenalan mencakup bidang speaker_id yang membedakan pembicara berbeda.
Saat diarization pembicara diaktifkan, pastikan durasi audio tidak melebihi 2 jam. Jika tidak, pengenalan mungkin gagal atau timeout.
Nilai default: False.Untuk contoh speaker_id, lihat Deskripsi hasil pengenalan.
speaker_countintTidak
Hanya berlaku saat diarization pembicara diaktifkan (diarization_enabled diatur ke True).
Nilai referensi jumlah pembicara. Rentang valid adalah bilangan bulat dari 2 hingga 100 (inklusif).Secara default, jumlah pembicara dideteksi secara otomatis. Jika Anda mengatur nilai ini, nilai tersebut hanya membimbing algoritma untuk menghasilkan jumlah yang ditentukan jika memungkinkan dan tidak menjamin jumlah pasti tersebut.Tidak ada nilai default.
language_hintslist[str]TidakKode bahasa yang akan dikenali. Jika Anda tidak dapat menentukan bahasa sebelumnya, biarkan tidak diatur dan model akan mendeteksi bahasa secara otomatis.Untuk model Qwen-Audio-3.0-ASR-Flash-Filetrans, Anda dapat mengatur hingga 4 nilai; nilai apa pun yang melebihi 4 nilai pertama akan diabaikan. Untuk model Fun-ASR, Anda hanya dapat mengatur 1 nilai; jika Anda mengatur beberapa nilai, hanya nilai pertama yang berlaku.
  • qwen-audio-3.0-asr-flash-filetrans, fun-asr, fun-asr-2025-11-07, fun-asr-mtl, fun-asr-mtl-2025-08-25:
    • zh: Chinese
    • en: English
    • ja: Japanese
    • ko: Korean
    • vi: Vietnamese
    • th: Thai
    • id: Indonesian
    • ms: Malay
    • tl: Filipino
    • hi: Hindi
    • ar: Arabic
    • fr: French
    • de: German
    • es: Spanish
    • pt: Portuguese
    • ru: Russian
    • it: Italian
    • nl: Dutch
    • sv: Swedish
    • da: Danish
    • fi: Finnish
    • no: Norwegian
    • el: Greek
    • pl: Polish
    • cs: Czech
    • hu: Hungarian
    • ro: Romanian
    • bg: Bulgarian
    • hr: Croatian
    • sk: Slovak
  • fun-asr-2025-08-25:
    • zh: Chinese
    • en: English

Tanggapan

TranscriptionResponse

TranscriptionResponse membungkus informasi tugas dasar (task_id dan task_status) dan hasil tugas (konten atribut output, lihat TranscriptionOutput).
{
    "status_code":200,
    "request_id":"251aceab-a6aa-9fc4-b7f7-0cc6d3e2a9f3",
    "code":null,
    "message":"",
    "output":{
        "task_id":"7d0a58a3-1dbe-4de9-8cff-5f48213128b0",
        "task_status":"PENDING",
        "submit_time":"2025-02-13 16:55:08.573",
        "scheduled_time":"2025-02-13 16:55:08.592",
        "task_metrics":{
            "TOTAL":1,
            "SUCCEEDED":0,
            "FAILED":0
        }
    },
    "usage":null
}
Parameter yang perlu diperhatikan:

Parameter

Deskripsi

status_code

Kode status HTTP dari permintaan.

code

  • code paling luar dapat diabaikan.

  • code di bawah output.results adalah kode kesalahan. Gabungkan dengan bidang message dan rujuk ke Kode kesalahan untuk memecahkan masalah.

message

  • message paling luar dapat diabaikan.

  • message di bawah output.results adalah pesan kesalahan. Gabungkan dengan bidang code dan rujuk ke Kode kesalahan untuk memecahkan masalah.

task_id

ID Tugas.

task_status

Status tugas.

Salah satu dari empat status: PENDING, RUNNING, SUCCEEDED, dan FAILED.

Saat tugas berisi beberapa subtugas, status tugas keseluruhan ditandai sebagai SUCCEEDED selama ada subtugas yang berhasil. Periksa bidang subtask_status untuk menentukan hasil setiap subtugas.

results

Hasil pengenalan subtugas.

subtask_status

Status subtugas.

Salah satu dari empat status: PENDING, RUNNING, SUCCEEDED, dan FAILED.

file_url

URL audio yang dikenali.

transcription_url

URL hasil pengenalan audio.

Hasil pengenalan disimpan sebagai file JSON. Anda dapat mengunduh file tersebut dari tautan yang terkait dengan transcription_url atau membaca isinya langsung melalui permintaan HTTP. Untuk isi file JSON, lihat Deskripsi hasil pengenalan.

TranscriptionOutput

TranscriptionOutput sesuai dengan atribut output dari TranscriptionResponse dan merepresentasikan hasil tugas saat ini.
  • Status PENDING
  • Status RUNNING
  • SUCCEEDED status
  • FAILED
{
    "task_id":"f2f7c2fa-0cd9-4bb2-a283-27b26ee4bb67",
    "task_status":"PENDING",
    "submit_time":"2025-02-13 17:59:27.754",
    "scheduled_time":"2025-02-13 17:59:27.789",
    "task_metrics":{
        "TOTAL":1,
        "SUCCEEDED":0,
        "FAILED":0
    }
}
Parameter yang perlu diperhatikan:

Parameter

Deskripsi

code

Kode kesalahan. Gabungkan dengan bidang message dan rujuk ke Kode kesalahan untuk memecahkan masalah.

message

Pesan kesalahan. Gabungkan dengan bidang code dan rujuk ke Kode kesalahan untuk memecahkan masalah.

task_id

ID Tugas.

task_status

Status tugas.

Salah satu dari empat status: PENDING, RUNNING, SUCCEEDED, dan FAILED.

Saat tugas berisi beberapa subtugas, status tugas keseluruhan ditandai sebagai SUCCEEDED selama ada subtugas yang berhasil. Periksa bidang subtask_status untuk menentukan hasil setiap subtugas.

results

Hasil pengenalan subtugas.

subtask_status

Status subtugas.

Salah satu dari empat status: PENDING, RUNNING, SUCCEEDED, dan FAILED.

file_url

URL audio yang dikenali.

transcription_url

URL hasil pengenalan audio.

Hasil pengenalan disimpan sebagai file JSON. Anda dapat mengunduh file tersebut dari tautan yang terkait dengan transcription_url atau membaca isinya langsung melalui permintaan HTTP. Untuk isi file JSON, lihat Deskripsi hasil pengenalan.

Deskripsi hasil pengenalan

Hasil pengenalan disimpan sebagai file JSON.
{
    "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 Alibaba Speech Lab.",
            "sentences":[
                {
                    "begin_time":100,
                    "end_time":3820,
                    "text":"Hello world, this is Alibaba Speech Lab.",
                    "sentence_id":1,
                    "speaker_id":0, //Bidang ini ditampilkan hanya saat diarization pembicara otomatis diaktifkan
                    "words":[
                        {
                            "begin_time":100,
                            "end_time":596,
                            "text":"Hello ",
                            "punctuation":""
                        },
                        {
                            "begin_time":596,
                            "end_time":844,
                            "text":"world",
                            "punctuation":", "
                        }
                        // Konten lainnya dihilangkan di sini
                    ]
                }
            ]
        }
    ]
}
Parameter berikut perlu diperhatikan:

Parameter

Tipe

Deskripsi

audio_format

string

Format audio file sumber.

channels

array[integer]

Indeks track audio dalam file sumber. Untuk audio single-track, [0] dikembalikan; untuk audio dual-track, [0, 1] dikembalikan; dan seterusnya.

original_sampling_rate

integer

Laju sampel (Hz) audio dalam file sumber.

original_duration_in_milliseconds

integer

Durasi audio asli (ms) dalam file sumber.

channel_id

integer

Indeks track hasil transkripsi, dimulai dari 0.

content_duration

integer

Durasi (ms) konten dalam track yang diidentifikasi sebagai ucapan.

Layanan model pengenalan ucapan hanya mentranskripsi konten dalam track yang diidentifikasi sebagai ucapan, dan melakukan metering serta penagihan berdasarkan durasi tersebut. Konten non-ucapan tidak di-metering atau ditagih. Biasanya, durasi konten ucapan lebih pendek daripada durasi audio asli. Karena keberadaan konten ucapan ditentukan oleh model AI, hasilnya mungkin sedikit berbeda dari situasi aktual.

transcript

string

Hasil transkripsi tingkat paragraf.

sentences

array

Hasil transkripsi tingkat kalimat.

words

array

Hasil transkripsi tingkat kata.

begin_time

integer

Timestamp mulai (ms).

end_time

integer

Timestamp akhir (ms).

text

string

Hasil transkripsi.

speaker_id

integer

Indeks pembicara saat ini, dimulai dari 0, digunakan untuk membedakan pembicara berbeda.

Bidang ini muncul dalam hasil pengenalan hanya saat diarization pembicara diaktifkan.

punctuation

string

Tanda baca yang diprediksi setelah kata, jika ada.

Antarmuka utama

Kelas inti (Transcription)

Impor Transcription dengan "from dashscope.audio.asr import Transcription".
MetodeSignatureDeskripsi
async_call
@classmethod
def async_call(cls,
               model: str,
               file_urls: List[str],
               phrase_id: str = None,
               api_key: str = None,
               workspace: str = None,
               **kwargs) -> TranscriptionResponse
Mengirimkan tugas pengenalan ucapan secara asinkron.
wait
@classmethod
def wait(cls,
         task: Union[str, TranscriptionResponse],
         api_key: str = None,
         workspace: str = None,
         **kwargs) -> TranscriptionResponse
Memblokir thread saat ini hingga tugas asinkron selesai (status tugas adalah SUCCEEDED atau FAILED).Metode ini mengembalikan TranscriptionResponse.
fetch
@classmethod
def fetch(cls,
          task: Union[str, TranscriptionResponse],
          api_key: str = None,
          workspace: str = None,
          **kwargs) -> TranscriptionResponse
Mengambil hasil tugas saat ini secara asinkron.Metode ini mengembalikan TranscriptionResponse.

Kode kesalahan

Jika Anda mengalami kesalahan, lihat Kode kesalahan untuk memecahkan masalah. Saat tugas berisi beberapa subtugas, status tugas keseluruhan ditandai sebagai SUCCEEDED selama setidaknya satu subtugas berhasil. Periksa bidang subtask_status untuk menentukan hasil setiap subtugas. Contoh tanggapan kesalahan:
{
    "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": "The audio file cannot be downloaded.",
            "subtask_status": "FAILED"
        }
    ],
    "task_metrics": {
        "TOTAL": 1,
        "SUCCEEDED": 0,
        "FAILED": 1
    }
}

FAQ

Fitur

T: Apakah audio terenkode Base64 didukung?

Audio yang dienkripsi Base64 tidak didukung. Hanya audio di URL yang dapat diakses publik yang dapat dikenali. Aliran biner dan file lokal tidak dapat dikenali secara langsung.

T: Bagaimana cara membuat file audio tersedia di URL yang dapat diakses publik?

Langkah-langkah umum adalah sebagai berikut. Ini adalah salah satu pendekatan; proses sebenarnya bervariasi tergantung produk penyimpanan. Kami menyarankan Anda mengunggah audio ke Alibaba Cloud OSS:
Contohnya:
  • 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, dan manajemen mudah.
  • Server web:
    • Letakkan file audio di server web yang mendukung akses HTTP/HTTPS (seperti Nginx atau Apache).
    • Keuntungan: Cocok untuk proyek kecil atau pengujian lokal.
  • Jaringan pengiriman konten (CDN):
    • Host file audio di CDN dan akses melalui URL yang disediakan CDN.
    • Keuntungan: Mempercepat pengiriman file dan cocok untuk skenario konkurensi tinggi.
Unggah audio sesuai metode penyimpanan atau hosting yang Anda pilih. Contohnya:
  • Layanan penyimpanan objek:
    • Masuk ke konsol penyedia cloud dan buat bucket.
    • Unggah file audio, dan atur izinnya ke baca publik atau hasilkan tautan akses sementara.
  • Server web:
    • Letakkan file audio di direktori yang ditentukan di server (seperti /var/www/html/audio/).
    • Pastikan file dapat diakses melalui HTTP/HTTPS.
Contohnya:
  • Layanan penyimpanan objek:
    • Setelah file diunggah, sistem secara otomatis menghasilkan URL akses publik (biasanya dalam format https://<bucket-name>.<region>.aliyuncs.com/<file-name>).
    • Untuk Nama domain yang lebih ramah, ikat domain kustom dan aktifkan HTTPS.
  • Server web:
    • URL akses biasanya alamat server ditambah jalur file (seperti https://your-domain.com/audio/file.mp3).
  • CDN:
    • Setelah Anda mengonfigurasi akselerasi CDN, gunakan URL yang disediakan CDN (seperti https://cdn.your-domain.com/audio/file.mp3).
Pastikan URL yang dihasilkan dapat diakses melalui jaringan publik. Contohnya:
  • Buka URL di browser dan periksa apakah file audio dapat diputar.
  • Gunakan tool (seperti curl atau Postman) untuk memverifikasi bahwa 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 masa berlaku habis. Jangan gunakan di lingkungan produksi.
  • API untuk mendapatkan kredensial unggah dibatasi hingga 100 QPS dan tidak mendukung penskalaan. 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 tugas dikirim, tugas tersebut masuk ke status antrian (PENDING). Waktu antrian bergantung pada panjang antrian dan durasi audio, sehingga tidak dapat ditentukan secara pasti, tetapi biasanya dalam hitungan beberapa menit. Secara umum, semakin panjang audio, semakin lama waktunya.

Pemecahan masalah

Jika Anda mengalami kesalahan kode, pecahkan masalah berdasarkan informasi di Kode kesalahan.

T: Polling tidak pernah mengembalikan hasil?

Hal ini mungkin disebabkan oleh Pembatasan kecepatan. Tunggu sebentar dan coba lagi.

T: Mengapa ucapan tidak dapat dikenali (tidak ada hasil pengenalan)?

Periksa apakah format audio dan laju sampel sudah benar dan memenuhi batasan parameter. Gunakan tool ffprobe untuk mendapatkan container audio, kodek, laju sampel, channel, dan detail lainnya:
ffprobe -v error -show_entries format=format_name -show_entries stream=codec_name,sample_rate,channels -of default=noprint_wrappers=1 input.xxx
Pembuatan Gambar
  • FAQ
Video Generation
Model Dunia
Audio
  • Pembuatan audio
Realtime API
Penyematan Teks
TokenPlan
Model production
SDK Python untuk pengenalan ucapan non-real-time Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR - Alibaba Cloud Model Studio