Buat suara kustom dari sampel audio untuk sintesis ucapan atau percakapan suara real-time.
Gambaran umum fitur
Kloning suara mendukung asisten suara yang dipersonalisasi, pengumuman khusus merek, dan konten audio kustom tanpa pelatihan model.
CatatanUntuk membuat suara dari deskripsi bahasa alami tanpa sampel audio, gunakan Desain suara.
Prasyarat
-
Dapatkan API key dan atur variabel lingkungan
DASHSCOPE_API_KEY. -
Dapatkan ID workspace dan ganti
YOUR_WORKSPACE_IDpada contoh dengan nilai sebenarnya. Lihat Wilayah dan endpoint. -
Instal pustaka HTTP Python
requests:pip install requests -
Siapkan file audio yang memenuhi persyaratan audio. Qwen-Audio-TTS, Qwen-Audio-Realtime, dan CosyVoice mendukung URL publik atau Base64 Data URI; MiniMax tetap menggunakan URL publik. Contoh berikut menggunakan URL sampel audio. Untuk pengodean dan parameter audio lokal, lihat HTTP API.
Mulai menggunakan
CatatanSuara hasil kloning untuk Qwen-Audio-TTS / Qwen-Audio-Realtime / CosyVoice terikat ke target_model saat dibuat dan tidak dapat digunakan pada model lain. Untuk menggunakan suara referensi yang sama pada beberapa model, buat suara terpisah untuk setiap model.
Qwen-Audio-TTS / CosyVoice
Qwen-Audio-TTS dan CosyVoice menggunakan alur pembuatan suara dan sintesis dasar yang sama. Contoh berikut menggunakan qwen-audio-3.1-tts-flash.
- Buat suara: masukkan URL audio referensi atau Base64 Data URI melalui kolom
audiopada HTTP API. Tetapkantarget_modelke model target danprefixke awalan nama suara. - Sintesis ucapan: teruskan ID suara yang dikembalikan sebagai
voice, gunakan model target yang sama, lalu simpan audio hasil sintesis.
import os
import time
import requests
workspace_id = "YOUR_WORKSPACE_ID"
target_model = "qwen-audio-3.1-tts-flash"
base_url = f"https://{workspace_id}.cn-beijing.maas.aliyuncs.com/api/v1"
headers = {"Authorization": f"Bearer {os.environ['DASHSCOPE_API_KEY']}"}
response = requests.post(
f"{base_url}/services/audio/tts/customization",
headers=headers,
json={
"model": "voice-enrollment",
"input": {
"action": "create_voice",
"target_model": target_model,
"prefix": "myvoice",
"audio": "https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/cosyvoice/cosyvoice-zeroshot-sample.wav",
},
},
timeout=60,
)
response.raise_for_status()
voice_id = response.json()["output"]["voice_id"]
print(f"voice_id: {voice_id}")
for _ in range(30):
response = requests.post(
f"{base_url}/services/audio/tts/customization",
headers=headers,
json={
"model": "voice-enrollment",
"input": {"action": "query_voice", "voice_id": voice_id},
},
timeout=60,
)
response.raise_for_status()
status = response.json()["output"]["status"]
if status == "OK":
break
if status != "DEPLOYING":
raise RuntimeError(f"Voice status: {status}")
time.sleep(1)
else:
raise TimeoutError("Voice is not ready")
response = requests.post(
f"{base_url}/services/audio/tts/SpeechSynthesizer",
headers=headers,
json={
"model": target_model,
"input": {
"text": "The weather is pleasant today. Enjoy a walk outside and have a wonderful day.",
"voice": voice_id,
"format": "wav",
"sample_rate": 24000,
},
},
timeout=60,
)
response.raise_for_status()
audio_url = response.json()["output"]["audio"]["url"]
audio_response = requests.get(audio_url, timeout=60)
audio_response.raise_for_status()
with open("output.wav", "wb") as f:
f.write(audio_response.content)
Contoh menyimpan audio hasil sintesis ke output.wav. Simpan ID suara yang ditampilkan untuk digunakan kembali.
Qwen-Audio-Realtime
Suara hasil kloning Qwen-Audio-Realtime menyesuaikan suara respons dalam percakapan suara real-time. Contoh berikut membuat suara untuk qwen-audio-3.1-realtime-plus.
import os
import time
import requests
workspace_id = "YOUR_WORKSPACE_ID"
target_model = "qwen-audio-3.1-realtime-plus"
base_url = f"https://{workspace_id}.cn-beijing.maas.aliyuncs.com/api/v1"
headers = {"Authorization": f"Bearer {os.environ['DASHSCOPE_API_KEY']}"}
response = requests.post(
f"{base_url}/services/audio/tts/customization",
headers=headers,
json={
"model": "voice-enrollment",
"input": {
"action": "create_voice",
"target_model": target_model,
"prefix": "myvoice",
"audio": "https://dashscope.oss-cn-beijing.aliyuncs.com/samples/audio/cosyvoice/cosyvoice-zeroshot-sample.wav",
},
},
timeout=60,
)
response.raise_for_status()
voice_id = response.json()["output"]["voice_id"]
print(f"voice_id: {voice_id}")
for _ in range(30):
response = requests.post(
f"{base_url}/services/audio/tts/customization",
headers=headers,
json={
"model": "voice-enrollment",
"input": {"action": "query_voice", "voice_id": voice_id},
},
timeout=60,
)
response.raise_for_status()
status = response.json()["output"]["status"]
if status == "OK":
break
if status != "DEPLOYING":
raise RuntimeError(f"Voice status: {status}")
time.sleep(1)
else:
raise TimeoutError("Voice is not ready")
Setelah terhubung ke layanan percakapan suara real-time, tetapkan session.voice ke ID suara yang dikembalikan pada peristiwa session.update pertama. Ganti VOICE_ID di bawah dengan ID tersebut. Model sesi harus sama dengan target_model saat suara dibuat.
{
"type": "session.update",
"session": {
"voice": "VOICE_ID"
}
}
Untuk parameter dan contoh kloning suara lainnya, lihat HTTP API, Python SDK, dan Java SDK.
Untuk menggunakan suara hasil kloning dalam sintesis ucapan atau percakapan suara real-time, lihat:
- Qwen-Audio-TTS: Akses model
- CosyVoice: Akses model
- Qwen-Audio-Realtime: Akses model
Persyaratan audio
Kualitas audio input memengaruhi kemiripan dan kealamian suara. Ikuti spesifikasi model target serta tips perekaman di bawah untuk mengurangi noise, gema, dan suara orang lain.
| Item | Persyaratan |
|---|---|
Format | WAV (16-bit), MP3, M4A |
Durasi | Disarankan 10–20 detik; maksimum 60 detik. |
Ukuran file | ≤ 10 MB |
Sample rate | ≥ 16 kHz |
Kanal | Mono atau stereo. Hanya kanal pertama audio stereo yang diproses, dan kanal tersebut harus berisi suara yang valid. |
Konten | Setidaknya 5 detik pembacaan yang jelas dan berkesinambungan, dengan jeda singkat (≤ 2 detik) pada bagian lainnya. Hindari musik latar, noise lingkungan, dan suara orang lain. Gunakan ucapan dengan kecepatan normal, bukan lagu atau rekaman bernyanyi. |
Bahasa yang didukung |
Klik untuk melihat bahasa yang didukung per model CosyVoice
|
Rekaman yang jelas dan alami membantu menghasilkan audio referensi berkualitas tinggi serta mempertahankan karakteristik suara. Sebelum merekam, baca tips perekaman dan pengoperasian berikut.
Klik untuk melihat tips perekaman dan pengoperasian
Perangkat perekaman
Anda dapat menggunakan smartphone, perekam suara digital, atau perangkat perekaman profesional. Kami merekomendasikan perangkat yang mendukung perekaman laju sampel tinggi (≥ 24 kHz) untuk memenuhi persyaratan audio.
Lingkungan perekaman
Lokasi
- Rekam di ruang kecil tertutup seluas 10 meter persegi atau kurang.
- Utamakan ruangan dengan material penyerap suara seperti busa akustik, karpet, atau gorden.
- Hindari aula terbuka, ruang konferensi, ruang kelas, dan ruang lain dengan gema tinggi.
Kontrol kebisingan
- Kebisingan eksternal: Tutup pintu dan jendela untuk menghindari gangguan lalu lintas, konstruksi, dan lainnya.
- Kebisingan internal: Matikan AC, kipas angin, ballast lampu neon, dan peralatan lainnya. Anda dapat merekam suara ambient dengan ponsel dan memutarnya dengan volume tinggi untuk mengidentifikasi sumber kebisingan potensial.
Kontrol gema
- Gema menyebabkan suara menjadi buram dan mengurangi kejelasan.
- Kurangi pantulan dari permukaan halus: tutup gorden, buka pintu lemari pakaian, dan letakkan pakaian atau selimut di atas meja dan lemari.
- Gunakan benda tidak beraturan (seperti rak buku dan furnitur berlapis kain) untuk menciptakan pantulan difus.
Naskah perekaman
- Tidak ada batasan konten khusus. Kami merekomendasikan agar konten disesuaikan dengan kasus penggunaan target Anda.
- Hindari frasa pendek (seperti "halo" atau "ya"). Gunakan kalimat lengkap.
- Pertahankan koherensi semantik dan hindari jeda berulang saat membaca (disarankan minimal 3 detik berkelanjutan tanpa gangguan).
- Pertahankan kecepatan berbicara yang konsisten sepanjang rekaman. Hindari berbicara terlalu cepat di awal atau akhir, yang dapat menyebabkan tersendat selama sintesis.
- Sertakan ekspresi emosional yang sesuai (seperti kehangatan, keramahan, atau keseriusan). Hindari membaca secara mekanis.
- Jangan sertakan konten sensitif (seperti materi politik, pornografi, atau kekerasan). Hal ini akan menyebabkan kloning gagal.
Praktik terbaik
Menggunakan kamar tidur tipikal sebagai contoh, setelah menyelesaikan kontrol kebisingan dan gema:
- Pahami naskah terlebih dahulu, tetapkan nada karakter, dan sampaikan secara alami.
- Pertahankan jarak sekitar 10 cm dari perangkat perekaman untuk menghindari distorsi plosif atau sinyal lemah.
Pengelolaan suara
Qwen-Audio-TTS, Qwen-Audio-Realtime, dan CosyVoice menggunakan API kueri, pembaruan, dan penghapusan suara yang sama. Untuk antarmuka dan parameter, lihat Referensi HTTP API kloning suara.
- Daftar suara: lihat suara kustom yang sudah ada di akun.
- Kueri detail suara: lihat informasi seperti waktu pembuatan dan model yang terikat.
- Perbarui suara: ganti audio referensi dengan tetap mempertahankan ID suara yang ada.
- Hapus suara: hapus suara yang tidak digunakan untuk mengosongkan kuota.
Suara yang dibuat berlaku untuk jangka panjang secara default. Simpan ID suara dan gunakan API kueri saat perlu memeriksa ketersediaannya.
Model yang didukung
Tiongkok (Beijing)
Gunakan API key untuk wilayah ini guna memanggil model berikut:
-
Qwen-Audio-TTS: qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash, qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash
-
Qwen-Audio-Realtime: qwen-audio-3.1-realtime-plus, qwen-audio-3.0-realtime-plus, qwen-audio-3.0-realtime-flash
-
CosyVoice: cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-plus, cosyvoice-v3-flash, cosyvoice-v2
Singapura
Gunakan API key untuk wilayah ini guna memanggil model berikut:
-
Qwen-Audio-TTS: qwen-audio-3.1-tts-plus, qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash
-
CosyVoice: cosyvoice-v3-plus, cosyvoice-v3-flash
Kuota dan batasan
-
Jumlah suara: setiap akun Alibaba Cloud Model Studio dapat memiliki total maksimum 1.000 suara kustom. Kloning suara dan desain suara berbagi kuota akun ini untuk semua model.
Catatan
- Permintaan pembuatan suara melalui kloning atau desain akan gagal saat kuota tercapai. Hapus suara yang tidak digunakan untuk mengosongkan kuota sebelum membuat suara baru.
Penagihan
- Qwen-Audio-TTS / Qwen-Audio-Realtime / CosyVoice: Pembuatan suara gratis. Sintesis ucapan dan percakapan suara real-time yang menggunakan suara hasil kloning ditagih sesuai model target. Lihat Harga model.