All Products
Search
Document Center

Alibaba Cloud Model Studio:Voice Design

Last Updated:May 13, 2026

Voice Design memungkinkan Anda membuat voice kustom hanya dari deskripsi suara—tanpa memerlukan sampel audio. Sebagai contoh, Anda dapat mendeskripsikan "suara perempuan muda yang lembut dengan laju berbicara sedang, cocok untuk narasi buku audio," dan sistem akan menghasilkan suara yang sesuai dengan deskripsi tersebut.

Overview

Voice Design membuat voice kustom berdasarkan deskripsi suara—tanpa memerlukan sampel audio. Fitur ini cocok untuk prototipe cepat, produksi konten kreatif, suara karakter game, dan keperluan serupa.

Model Studio menyediakan Voice Design melalui keluarga model berikut:

  • CosyVoice: Buat voice melalui HTTP API. Mendukung sintesis suara . Tersedia di wilayah Beijing dan Singapura.

  • Qwen-TTS: Buat voice melalui HTTP API. Mendukung sintesis suara real-time dan non-real-time. Tersedia di wilayah Beijing dan Singapura.

Jika Anda memiliki sampel audio dan ingin mereplikasi suara seseorang secara spesifik, lihat Voice cloning. Untuk perbandingan mendetail dan panduan pemilihan lintas keluarga model, lihat Speech synthesis.

Prerequisites

Quick start

Alur kerja Voice Design mencakup tiga langkah: deskripsikan, buat, dan gunakan.

  1. Tulis deskripsi suara: Jelaskan karakteristik suara yang Anda inginkan dalam bahasa alami. Untuk panduan lengkap, lihat Tulis deskripsi suara.

  2. Buat voice: Panggil API Voice Design. Sistem akan menghasilkan voice berdasarkan deskripsi Anda dan mengembalikan audio pratinjau. Tinjau pratinjau sebelum menggunakan voice tersebut.

  3. Sintesis suara dengan voice tersebut: Panggil API speech synthesis, masukkan ID voice untuk menghasilkan ucapan.

Qwen-TTS Voice Design

Contoh berikut mencakup seluruh alur kerja Voice Design: buat voice, dengarkan audio pratinjau, dan gunakan voice tersebut untuk sintesis suara.

Catatan

Layanan Voice Design mengembalikan audio pratinjau. Dengarkan terlebih dahulu dan pastikan hasilnya sesuai harapan sebelum menggunakan voice tersebut untuk sintesis suara. Hal ini membantu menekan biaya API.

Python

import os
import requests
import dashscope

# ======= Constants =======
DEFAULT_TARGET_MODEL = "qwen3-tts-vd-2026-01-26"  # Gunakan model yang sama untuk voice design dan speech synthesis
DEFAULT_PREFERRED_NAME = "custom_voice"

# Deskripsi suara: jelaskan karakteristik suara yang diinginkan dalam bahasa alami
VOICE_PROMPT = "A young, lively female voice with a fast speaking pace and a noticeable rising intonation, suitable for introducing fashion products."

def create_voice_by_design(voice_prompt: str,
                           target_model: str = DEFAULT_TARGET_MODEL,
                           preferred_name: str = DEFAULT_PREFERRED_NAME) -> str:
    """
    Buat timbre suara melalui deskripsi suara dan kembalikan parameter voice
    """
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # Jika tidak ada variabel lingkungan yang dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx"
    api_key = os.getenv("DASHSCOPE_API_KEY")

    # URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
    url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization"
    payload = {
        "model": "qwen-voice-enrollment", # Jangan ubah nilai ini
        "input": {
            "action": "create",
            "target_model": target_model,
            "preferred_name": preferred_name,
            "voice_prompt": voice_prompt
        }
    }
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    resp = requests.post(url, json=payload, headers=headers)
    if resp.status_code != 200:
        raise RuntimeError(f"Failed to create voice: {resp.status_code}, {resp.text}")

    result = resp.json()
    preview_audio = result.get("output", {}).get("preview_audio")
    if preview_audio:
        print(f"Preview audio URL: {preview_audio}")

    try:
        return result["output"]["voice"]
    except (KeyError, ValueError) as e:
        raise RuntimeError(f"Failed to parse voice response: {e}")

if __name__ == '__main__':
    # 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'

    voice_id = create_voice_by_design(VOICE_PROMPT)
    print(f"Created voice ID: {voice_id}")

    text = "Hello everyone, welcome to our live stream! The product we are recommending today is truly amazing."
    response = dashscope.MultiModalConversation.call(
        model=DEFAULT_TARGET_MODEL,
        # Kunci API untuk wilayah Singapura dan Beijing berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # Jika tidak ada variabel lingkungan yang dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx"
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        text=text,
        voice=voice_id,
        stream=False
    )
    print(response)

cURL

Langkah 1: Buat voice

# URL di bawah mengarah ke wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti dengan: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
# Catatan: Kunci API berbeda antara wilayah Singapura dan Beijing. Untuk mendapatkan Kunci API, kunjungi: https://www.alibabacloud.com/help/zh/model-studio/get-api-key

curl -X POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen-voice-enrollment",
    "input": {
        "action": "create",
        "target_model": "qwen3-tts-vd-2026-01-26",
        "preferred_name": "custom_voice",
        "voice_prompt": "A composed middle-aged male announcer with a deep, rich and magnetic voice, a steady speaking speed and clear articulation, is suitable for news broadcasting or documentary commentary."
    }
}'

Langkah 2: Sintesis suara

Ganti voice pada permintaan berikut dengan nilai yang dikembalikan pada langkah sebelumnya.

# Ganti YOUR_VOICE_ID dengan nilai voice yang dikembalikan pada langkah sebelumnya
# URL di bawah mengarah ke wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

curl -X POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen3-tts-vd-2026-01-26",
    "input": {
        "text": "Dear listeners, hello everyone. Welcome to the evening news.",
        "voice": "YOUR_VOICE_ID"
    }
}'

CosyVoice Voice Design

CosyVoice juga membuat voice dari deskripsi suara. Alur kerjanya sama seperti Qwen-TTS Voice Design.

Penting

CosyVoice Voice Design hanya tersedia di wilayah Beijing (seri v3.5) dan wilayah Singapura (seri v3).

Langkah 1: Buat voice

Panggil API Voice Cloning/Design. Masukkan deskripsi suara dalam parameter voice_prompt dan tentukan teks untuk audio pratinjau dalam parameter preview_text.

# URL di bawah mengarah ke wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti dengan: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
# Untuk mendapatkan Kunci API, kunjungi: https://www.alibabacloud.com/help/zh/model-studio/get-api-key

curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "voice-enrollment",
    "input": {
        "action": "create_voice",
        "target_model": "cosyvoice-v3.5-plus",
        "voice_prompt": "A composed middle-aged male announcer with a deep, rich and magnetic voice, a steady speaking speed and clear articulation, is suitable for news broadcasting or documentary commentary.",
        "preview_text": "Dear listeners, hello everyone. Welcome to the evening news.",
        "prefix": "announcer",
        "language_hints": ["zh"]
    },
    "parameters": {
        "sample_rate": 24000,
        "response_format": "wav"
    }
}'

Langkah 2: Sintesis suara

Ganti voice pada permintaan berikut dengan nilai yang dikembalikan pada langkah sebelumnya.

# Ganti YOUR_VOICE_ID dengan nilai voice yang dikembalikan pada langkah sebelumnya
# URL di bawah mengarah ke wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti dengan: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer

curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "cosyvoice-v3.5-plus",
    "input": {
      "text": "Dear listeners, hello everyone. Welcome to the evening news.",
      "voice": "YOUR_VOICE_ID",
      "format": "wav",
      "sample_rate": 24000
    }
}'

Tulis deskripsi suara

Deskripsi suara (voice_prompt) menentukan kualitas voice yang dihasilkan. Deskripsi yang jelas dan spesifik membantu model menghasilkan voice yang lebih sesuai dengan maksud Anda.

Persyaratan dan batasan

  • Batas panjang: Panjang maksimum voice_prompt bervariasi tergantung model: hingga 500 karakter untuk CosyVoice dan hingga 2.048 karakter untuk Qwen-TTS.

  • Bahasa yang didukung: Deskripsi suara hanya mendukung bahasa Mandarin dan Inggris.

Prinsip utama

  1. Bersifat spesifik, bukan samar: Gunakan istilah deskriptif untuk karakteristik suara, seperti "dalam," "jernih," atau "cepat." Hindari istilah subjektif atau samar seperti "menyenangkan" atau "biasa."

  2. Bersifat multidimensi: Deskripsi yang baik mencakup beberapa dimensi (seperti jenis kelamin, usia, dan emosi). Deskripsi seperti "suara perempuan" saja terlalu umum untuk menghasilkan voice yang khas.

  3. Bersifat objektif, bukan subjektif: Fokus pada karakteristik yang objektif dan terukur. Misalnya, gunakan "nada tinggi dengan intonasi energik" daripada "suara favorit saya."

  4. Bersifat orisinal, bukan imitatif: Jelaskan karakteristik suara, bukan meminta peniruan terhadap orang tertentu (seperti selebriti atau aktor). Model tidak mendukung peniruan, dan permintaan semacam itu dapat menimbulkan masalah hak cipta.

  5. Bersifat ringkas, bukan redundan: Pastikan setiap kata bernilai. Hindari pengulangan sinonim atau penambahan modifier yang tidak perlu.

Dimensi deskripsi

Gabungkan dimensi berikut untuk mendeskripsikan suara. Semakin banyak dimensi yang Anda sertakan, semakin akurat hasilnya.

Dimensi

Contoh

Gender

Male, female, neutral

Usia

Child (5-12), teenager (13-18), young adult (19-35), middle-aged (36-55), elderly (55+)

Pitch

High, mid, low, slightly high, slightly low

Laju berbicara

Fast, moderate, slow, slightly fast, slightly slow

Emosi

Cheerful, calm, gentle, serious, lively, composed, soothing

Karakteristik

Magnetic, crisp, husky, smooth, sweet, rich, powerful

Kasus penggunaan

News broadcasting, advertisement voice-over, audiobook, animated character, voice assistant, documentary narration

Contoh

  • Gaya penyiaran standar: pelafalan jelas dan tepat, artikulasi baik

  • Suara perempuan muda yang hidup dengan laju berbicara cepat, intonasi naik yang jelas, cocok untuk perkenalan produk fesyen

  • Pria paruh baya yang tenang dengan laju berbicara lambat, suara dalam dan magnetis, cocok untuk penyiaran berita atau narasi dokumenter

  • Perempuan lembut dan intelektual, sekitar 30 tahun, nada merata, cocok untuk narasi buku audio

  • Suara anak lucu, kira-kira perempuan berusia 8 tahun, nada sedikit kekanak-kanakan, cocok untuk pengisi suara karakter animasi

Manage custom voices

Voice yang dibuat melalui Voice Design dan Voice Cloning menggunakan API manajemen yang sama. Anda dapat menampilkan daftar voice, melihat detail voice, atau menghapus voice yang tidak lagi diperlukan.

Untuk detail endpoint API dan parameter, lihat API reference.

Supported scope

Ketersediaan model bervariasi tergantung wilayah penerapan.

Internasional

Jika Anda memilih cakupan penerapan Internasional, sumber daya komputasi inferensi model dijadwalkan secara dinamis di seluruh dunia, kecuali Tiongkok daratan. Data statis disimpan di wilayah yang Anda pilih. Wilayah yang didukung: Singapura.

Untuk memanggil model berikut, pilih Kunci API dari wilayah Singapura:

  • CosyVoice: cosyvoice-v3-plus, cosyvoice-v3-flash

  • Qwen-TTS:

    • Qwen3-TTS-VD-Realtime: qwen3-tts-vd-realtime-2026-01-15 (latest snapshot), qwen3-tts-vd-realtime-2025-12-16 (snapshot)

    • Qwen3-TTS-VD: qwen3-tts-vd-2026-01-26 (latest snapshot)

Tiongkok daratan

Jika Anda memilih cakupan penerapan Tiongkok daratan, sumber daya komputasi inferensi model dibatasi hanya di Tiongkok daratan. Data statis disimpan di wilayah yang Anda pilih. Wilayah yang didukung: Tiongkok (Beijing).

Untuk memanggil model berikut, pilih Kunci API dari wilayah Beijing:

  • CosyVoice: cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-plus, cosyvoice-v3-flash

  • Qwen-TTS:

    • Qwen3-TTS-VD-Realtime: qwen3-tts-vd-realtime-2026-01-15 (latest snapshot), qwen3-tts-vd-realtime-2025-12-16 (snapshot)

    • Qwen3-TTS-VD: qwen3-tts-vd-2026-01-26 (latest snapshot)

Catatan
  • Voice Design CosyVoice didukung oleh model FunAudioGen-VD.

  • Deskripsi suara yang sama dapat menghasilkan voice yang sedikit berbeda setiap kali. Hasilkan beberapa voice dan dengarkan masing-masing untuk menemukan yang paling sesuai.

API reference

Voice Design

FAQ

Q: Apakah deskripsi suara yang sama selalu menghasilkan voice yang sama?

Tidak selalu. Voice Design merupakan proses generatif, sehingga deskripsi yang sama dapat menghasilkan voice yang sedikit berbeda setiap kali. Hasilkan beberapa voice, dengarkan masing-masing, dan pilih yang paling sesuai.

Q: Bahasa apa saja yang dapat saya gunakan untuk deskripsi suara?

Saat ini, deskripsi suara (voice_prompt) hanya mendukung bahasa Mandarin dan Inggris. Namun, voice yang dihasilkan dapat mensintesis ucapan dalam berbagai bahasa.

Q: Apa perbedaan antara Voice Design dan Voice Cloning?

Voice Design membuat voice dari nol menggunakan deskripsi suara, tanpa memerlukan sampel audio. Fitur ini ideal untuk merancang identitas suara yang benar-benar baru. Voice Cloning mereplikasi suara dari sampel audio nyata dan paling cocok untuk mereproduksi suara seseorang secara spesifik. Untuk detail selengkapnya, lihat Voice cloning.