Model Fun-ASR/Paraformer untuk pengenalan file audio mengonversi rekaman audio menjadi teks. Model ini mendukung pemrosesan file tunggal maupun batch, sehingga cocok untuk skenario non-real-time.
Fitur utama
Pengenalan multibahasa: Mendukung transkripsi dalam berbagai bahasa, termasuk Tiongkok (dengan berbagai dialek), Inggris, Jepang, Korea, Jerman, Prancis, dan Rusia.
Dukungan format luas: Mendukung laju sampel apa pun dan format audio utama, termasuk AAC, WAV, dan MP3.
Pemrosesan file audio panjang: Mendukung transkripsi asinkron untuk file audio hingga durasi 12 jam dan ukuran 2 GB.
Pengenalan nyanyian: Menyalin seluruh lagu, bahkan dengan musik latar (BGM). (Fitur ini hanya didukung oleh model fun-asr dan fun-asr-2025-11-07.)
Fitur pengenalan lengkap: Mendukung speaker diarization, penyaringan kata sensitif, timestamp tingkat kalimat dan kata.
Ketersediaan
Model yang didukung:
Internasional
Dalam Mode Penyebaran Internasional, Endpoints dan Penyimpanan Data berada di Wilayah Singapura. Sumber Daya Komputasi untuk Inferensi Model dijadwalkan secara dinamis di seluruh dunia, kecuali Tiongkok Daratan.
Untuk memanggil model berikut, gunakan API Key dari Wilayah Singapura:
Fun-ASR: fun-asr (Stable Version, saat ini setara dengan fun-asr-2025-11-07), fun-asr-2025-11-07 (Snapshot), fun-asr-2025-08-25 (Snapshot), fun-asr-mtl (Stable Version, saat ini setara dengan fun-asr-mtl-2025-08-25), fun-asr-mtl-2025-08-25 (Snapshot)
Tiongkok daratan
Dalam Mode Penyebaran Tiongkok Daratan, Endpoints dan Penyimpanan Data berada di Wilayah Beijing. Sumber Daya Komputasi untuk Inferensi Model dibatasi hanya di Tiongkok Daratan.
Untuk memanggil model berikut, gunakan API Key dari Wilayah Beijing:
Fun-ASR: fun-asr (Stable Version, saat ini setara dengan fun-asr-2025-11-07), fun-asr-2025-11-07 (Snapshot), fun-asr-2025-08-25 (Snapshot), fun-asr-mtl (Stable Version, saat ini setara dengan fun-asr-mtl-2025-08-25), fun-asr-mtl-2025-08-25 (Snapshot)
Paraformer: paraformer-v2, paraformer-8k-v2
Lihat Daftar Model untuk informasi lebih lanjut.
Pemilihan model
Skenario | Model yang direkomendasikan | Alasan |
Pengenalan bahasa Tiongkok (rapat/streaming langsung) | fun-asr | Dioptimalkan khusus untuk bahasa Tiongkok, model ini mendukung berbagai dialek. Noise Robustness yang kuat dan Voice Activity Detection (VAD) jarak jauh memberikan akurasi lebih tinggi di lingkungan bising dengan banyak pembicara yang berada jauh. |
Pengenalan multibahasa (konferensi internasional) | fun-asr-mtl, paraformer-v2 | Satu model menangani berbagai bahasa, menyederhanakan pengembangan dan Penyebaran. |
Analisis konten hiburan dan pembuatan takarir | fun-asr | Pengenalan nyanyian uniknya secara efektif menyalin lagu dan segmen bernyanyi dalam streaming langsung. Noise Robustness yang kuat menjadikannya ideal untuk menangani audio media kompleks. |
Pembuatan takarir untuk program berita/wawancara | fun-asr, paraformer-v2 | Langsung menghasilkan takarir terstruktur dari Long-form Audio menggunakan fitur Punctuation Prediction dan Timestamp. |
Interaksi suara jarak jauh untuk perangkat pintar | fun-asr | VAD jarak jauh yang dioptimalkan lebih akurat menangkap dan mengenali perintah pengguna dari kejauhan di lingkungan bising seperti rumah dan kendaraan. |
Untuk informasi lebih lanjut, lihat Perbandingan fitur model.
Mulai
Contoh berikut menunjukkan cara memanggil API.
Dapatkan kunci API dan ekspor kunci API sebagai variabel lingkungan. Jika Anda menggunakan SDK untuk melakukan panggilan, instal DashScope SDK.
Fun-ASR
API Transkripsi File memproses permintaan secara asinkron karena file audio sering kali berukuran besar dan proses Speech Recognition dapat memakan waktu lama. Anda mengirimkan tugas transkripsi, lalu menggunakan Query API untuk mengambil hasilnya setelah tugas selesai.
Python
from http import HTTPStatus
from dashscope.audio.asr import Transcription
from urllib import request
import dashscope
import os
import json
# URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
task_response = Transcription.async_call(
model='fun-asr',
file_urls=['https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_female2.wav',
'https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_male2.wav'],
language_hints=['zh', 'en'] # language_hints adalah parameter opsional yang menentukan kode bahasa audio yang akan dikenali. Untuk daftar nilai yang valid, lihat referensi API.
)
transcription_response = Transcription.wait(task=task_response.output.task_id)
if transcription_response.status_code == HTTPStatus.OK:
for transcription in transcription_response.output['results']:
if transcription['subtask_status'] == 'SUCCEEDED':
url = transcription['transcription_url']
result = json.loads(request.urlopen(url).read().decode('utf8'))
print(json.dumps(result, indent=4,
ensure_ascii=False))
else:
print('transkripsi gagal!')
print(transcription)
else:
print('Error: ', transcription_response.output.message)Java
import com.alibaba.dashscope.audio.asr.transcription.*;
import com.alibaba.dashscope.utils.Constants;
import com.google.gson.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
// URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1.
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
// Buat parameter transkripsi.
TranscriptionParam param =
TranscriptionParam.builder()
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("fun-asr")
// language_hints adalah parameter opsional yang menentukan kode bahasa audio yang akan dikenali. Untuk daftar nilai yang valid, lihat referensi API.
.parameter("language_hints", new String[]{"zh", "en"})
.fileUrls(
Arrays.asList(
"https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_female2.wav",
"https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_male2.wav"))
.build();
try {
Transcription transcription = new Transcription();
// Kirim permintaan transkripsi.
TranscriptionResult result = transcription.asyncCall(param);
System.out.println("RequestId: " + result.getRequestId());
// Tunggu hingga tugas selesai dan ambil hasilnya.
result = transcription.wait(
TranscriptionQueryParam.FromTranscriptionParam(param, result.getTaskId()));
// Dapatkan hasil transkripsi.
List<TranscriptionTaskResult> taskResultList = result.getResults();
if (taskResultList != null && taskResultList.size() > 0) {
for (TranscriptionTaskResult taskResult : taskResultList) {
String transcriptionUrl = taskResult.getTranscriptionUrl();
HttpURLConnection connection =
(HttpURLConnection) new URL(transcriptionUrl).openConnection();
connection.setRequestMethod("GET");
connection.connect();
BufferedReader reader =
new BufferedReader(new InputStreamReader(connection.getInputStream()));
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonElement jsonResult = gson.fromJson(reader, JsonObject.class);
System.out.println(gson.toJson(jsonResult));
}
}
} catch (Exception e) {
System.out.println("error: " + e);
}
System.exit(0);
}
}Paraformer
API Transkripsi File memproses permintaan secara asinkron karena file audio sering kali berukuran besar dan proses Speech Recognition dapat memakan waktu lama. Anda mengirimkan tugas transkripsi, lalu menggunakan Query API untuk mengambil hasilnya setelah tugas selesai.
Python
from http import HTTPStatus
from dashscope.audio.asr import Transcription
from urllib import request
import dashscope
import os
import json
# URL berikut untuk wilayah Beijing. Jika Anda menggunakan model di wilayah Singapura, ganti URL dengan https://dashscope-intl.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope.aliyuncs.com/api/v1'
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: dashscope.api_key = "sk-xxx"
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
task_response = Transcription.async_call(
model='paraformer-v2',
file_urls=['https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_female2.wav',
'https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_male2.wav'],
language_hints=['zh', 'en'] # language_hints adalah parameter opsional yang menentukan kode bahasa audio yang akan dikenali. Parameter ini hanya didukung oleh model paraformer-v2. Untuk daftar nilai yang valid, lihat referensi API.
)
transcription_response = Transcription.wait(task=task_response.output.task_id)
if transcription_response.status_code == HTTPStatus.OK:
for transcription in transcription_response.output['results']:
if transcription['subtask_status'] == 'SUCCEEDED':
url = transcription['transcription_url']
result = json.loads(request.urlopen(url).read().decode('utf8'))
print(json.dumps(result, indent=4,
ensure_ascii=False))
else:
print('transkripsi gagal!')
print(transcription)
else:
print('Error: ', transcription_response.output.message)Java
import com.alibaba.dashscope.audio.asr.transcription.*;
import com.alibaba.dashscope.utils.Constants;
import com.google.gson.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
// URL berikut untuk wilayah Beijing. Jika Anda menggunakan model di wilayah Singapura, ganti URL dengan https://dashscope-intl.aliyuncs.com/api/v1.
Constants.baseHttpApiUrl = "https://dashscope.aliyuncs.com/api/v1";
// Buat parameter transkripsi.
TranscriptionParam param =
TranscriptionParam.builder()
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("paraformer-v2")
// language_hints adalah parameter opsional yang menentukan kode bahasa audio yang akan dikenali. Parameter ini hanya didukung oleh model paraformer-v2. Untuk daftar nilai yang valid, lihat referensi API.
.parameter("language_hints", new String[]{"zh", "en"})
.fileUrls(
Arrays.asList(
"https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_female2.wav",
"https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/paraformer/hello_world_male2.wav"))
.build();
try {
Transcription transcription = new Transcription();
// Kirim permintaan transkripsi.
TranscriptionResult result = transcription.asyncCall(param);
System.out.println("RequestId: " + result.getRequestId());
// Tunggu hingga tugas selesai dan ambil hasilnya.
result = transcription.wait(
TranscriptionQueryParam.FromTranscriptionParam(param, result.getTaskId()));
// Dapatkan hasil transkripsi.
List<TranscriptionTaskResult> taskResultList = result.getResults();
if (taskResultList != null && taskResultList.size() > 0) {
for (TranscriptionTaskResult taskResult : taskResultList) {
String transcriptionUrl = taskResult.getTranscriptionUrl();
HttpURLConnection connection =
(HttpURLConnection) new URL(transcriptionUrl).openConnection();
connection.setRequestMethod("GET");
connection.connect();
BufferedReader reader =
new BufferedReader(new InputStreamReader(connection.getInputStream()));
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonElement jsonResult = gson.fromJson(reader, JsonObject.class);
System.out.println(gson.toJson(jsonResult));
}
}
} catch (Exception e) {
System.out.println("error: " + e);
}
System.exit(0);
}
}API
Perbandingan fitur
Fitur | Fun-ASR | Paraformer |
Bahasa | Bervariasi tergantung model:
| Bervariasi tergantung model:
|
Format audio | aac, amr, avi, flac, flv, m4a, mkv, mov, mp3, mp4, mpeg, ogg, opus, wav, webm, wma, wmv | aac, amr, avi, flac, flv, m4a, mkv, mov, mp3, mp4, mpeg, ogg, opus, wav, webm, wma, wmv |
Laju sampel | Apa saja | Bervariasi tergantung model:
|
Saluran audio | Apa saja | |
Format masukan | Menerima hingga 100 URL file audio yang dapat diakses publik per permintaan. | |
Ukuran/durasi audio | Hingga 2 GB per file dan durasi maksimal 12 jam. | |
Pengenalan emosi | ||
Timestamp | Diaktifkan secara default. | Nonaktif secara default, dapat diaktifkan. |
Prediksi tanda baca | Diaktifkan secara default. | |
Hotwords | ||
Inverse Text Normalization (ITN) | Diaktifkan secara default. | |
Pengenalan nyanyian | hanya untuk model fun-asr dan fun-asr-2025-11-07. | |
Penolakan kebisingan | Diaktifkan secara default. | |
Penyaringan kata sensitif | Menyaring kata dari daftar kata sensitif Alibaba Cloud Model Studio secara default. Penyaringan konten tambahan memerlukan konfigurasi khusus. | |
Speaker diarization | Nonaktif secara default, dapat diaktifkan. | |
Penyaringan kata pengisi | Nonaktif secara default, dapat diaktifkan. | |
Voice Activity Detection (VAD) | Diaktifkan secara default. | |
Batas laju (RPS) | API pengiriman tugas: 10 API kueri tugas: 20 | API pengiriman tugas: 20 API kueri tugas: 20 |
Metode akses | SDK DashScope (Java, Python) dan RESTful API | |
Harga | Internasional: $0,000035/detik Tiongkok Daratan: $0,000032/detik | Tiongkok Daratan: $0,000012/detik |
FAQ
T: Bagaimana cara meningkatkan akurasi pengenalan?
Akurasi pengenalan bergantung pada beberapa faktor, mulai dari kualitas audio input hingga kosakata spesifik yang diucapkan. Untuk hasil terbaik, ikuti rekomendasi berikut.
Faktor utama yang memengaruhi akurasi:
Kualitas audio: Kejelasan rekaman sangat penting untuk akurasi tinggi. Faktor utama meliputi kualitas mikrofon, laju sampel, dan tingkat kebisingan lingkungan.
Karakteristik pembicara: Perbedaan nada suara, kecepatan bicara, aksen, dan dialek dapat mempersulit pengenalan, terutama dengan dialek langka atau aksen kuat.
Bahasa dan kosakata: Penggunaan campuran bahasa, istilah teknis khusus, atau bahasa gaul dapat mempersulit pengenalan.
Konteks: Kurangnya konteks dapat menyebabkan ambiguitas semantik, sehingga model kesulitan memilih kata yang tepat.
Rekomendasi untuk optimasi:
Tingkatkan kualitas audio: Gunakan mikrofon berkinerja tinggi dan rekam pada laju sampel yang direkomendasikan. Kurangi kebisingan lingkungan dan gema.
Cocokkan model dengan pembicara: Untuk audio dengan aksen kuat atau dialek tertentu, pilih model yang mendukung dialek tersebut.
Berikan konteks yang cukup: Hindari membagi audio menjadi segmen yang sangat pendek. Segmen yang lebih panjang memberikan konteks lebih banyak, yang membantu model menyelesaikan ambiguitas.