All Products
Search
Document Center

Alibaba Cloud Model Studio:Voice Design

Last Updated:Jul 08, 2026

Voice Design memungkinkan Anda membuat voice kustom hanya dari deskripsi bahasa alami, tanpa memerlukan sampel audio.

Overview

Voice Design cocok untuk prototipe cepat, produksi konten kreatif, dan pengisi suara karakter game. Alibaba Cloud Model Studio menyediakan Voice Design melalui keluarga model berikut:

  • CosyVoice: Mendukung sintesis suara real-time . Tersedia di Wilayah Beijing (seri v3.5 dan seri v3).

  • Qwen-TTS: Mendukung speech synthesis real-time dan non-real-time dengan batas deskripsi voice yang lebih tinggi (2.048 karakter). Tersedia di wilayah Beijing dan Singapura.

Jika Anda sudah memiliki sampel audio, lihat Voice cloning. Untuk panduan memilih model, lihat Speech synthesis.

Prerequisites

QuickStart

Voice Design mengikuti alur kerja tiga langkah: deskripsikan, buat, dan gunakan.

  1. Tulis deskripsi voice: Jelaskan karakteristik voice yang diinginkan dalam bahasa alami. Untuk panduan detail, lihat Tulis deskripsi voice.

  2. Buat voice: Panggil API Voice Design. Sistem menghasilkan voice berdasarkan deskripsi Anda dan mengembalikan klip audio pratinjau. Dengarkan audio pratinjau sebelum menggunakan voice tersebut di lingkungan produksi.

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

CosyVoice Voice Design

Contoh berikut menunjukkan cara membuat voice CosyVoice dari deskripsi teks dan menggunakannya untuk speech synthesis.

Penting

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

Langkah 1: Buat suara dari deskripsi

Panggil API dengan dua parameter: voice_prompt untuk deskripsi voice, dan preview_text untuk teks yang dibacakan dalam audio pratinjau.

curl -X POST 'https://{WorkspaceId}.cn-beijing.maas.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"
    },
    "parameters": {
        "sample_rate": 24000,
        "response_format": "wav"
    }
}'

Langkah 2: Sintesis ucapan dengan voice yang dirancang

Dalam permintaan berikut, gunakan nilai voice_id yang dikembalikan pada langkah sebelumnya.

# coding=utf-8

import dashscope
from dashscope.audio.tts_v2 import *
import os

# Kunci API untuk wilayah Singapura dan Beijing berbeda. Dapatkan Kunci API: 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.environ.get('DASHSCOPE_API_KEY')

# Konfigurasi berikut untuk wilayah China (Beijing). Ganti "{WorkspaceId}" dengan ID ruang kerja aktual Anda.
dashscope.base_websocket_api_url='wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference'

# Gunakan model yang sama untuk voice design dan speech synthesis
model = "cosyvoice-v3.5-plus"
# Ganti parameter voice dengan voice kustom yang dihasilkan oleh voice design
voice = "voice_id"

# Instansiasi SpeechSynthesizer, meneruskan model, voice, dan parameter permintaan lainnya dalam konstruktor
synthesizer = SpeechSynthesizer(model=model, voice=voice)
# Kirim teks untuk sintesis dan dapatkan audio biner
audio = synthesizer.call("What is the weather like today?")
# Membangun koneksi WebSocket diperlukan saat mengirim teks untuk pertama kalinya, sehingga latensi paket pertama mencakup waktu penyiapan koneksi
print('[Metric] requestId: {}, first-package latency: {} ms'.format(
    synthesizer.get_last_request_id(),
    synthesizer.get_first_package_delay()))

# Simpan audio ke file lokal
with open('output.mp3', 'wb') as f:
    f.write(audio)

Qwen-TTS Voice Design

Contoh berikut menunjukkan cara membuat voice dan menggunakannya untuk speech synthesis.

Catatan

Dengarkan audio pratinjau sebelum menggunakan voice untuk sintesis guna memastikan hasilnya dan menghindari biaya API yang tidak perlu.

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 voice: jelaskan karakteristik voice yang diinginkan dalam bahasa alami
VOICE_PROMPT = "A young and lively female voice with a fast speaking rate and a noticeably 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 voice kustom berdasarkan deskripsi voice dan kembalikan parameter voice.
    """
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Dapatkan Kunci API: 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: api_key = "sk-xxx"
    api_key = os.getenv("DASHSCOPE_API_KEY")

    # Wilayah Singapura
    url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization"
    payload = {
        "model": "qwen-voice-design",
        "input": {
            "action": "create",
            "target_model": target_model,
            "preferred_name": preferred_name,
            "voice_prompt": voice_prompt,
            "preview_text": "Hello everyone, welcome to our live stream! The product we are recommending today is truly amazing."
        },
        "parameters": {
            "sample_rate": 24000,
            "response_format": "wav"
        }
    }
    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:
        import base64
        audio_data = base64.b64decode(preview_audio["data"])
        with open("preview_audio.wav", "wb") as f:
            f.write(audio_data)
        print(f"Preview audio disimpan ke preview_audio.wav ({len(audio_data)} byte)")

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

if __name__ == '__main__':
    # Wilayah Singapura
    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/en/model-studio/get-api-key
        # Jika Anda belum mengonfigurasi variabel lingkungan, 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 dari deskripsi

Konfigurasi berikut untuk wilayah Singapura.

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-design",
    "input": {
        "action": "create",
        "target_model": "qwen3-tts-vd-2026-01-26",
        "preferred_name": "custom_voice",
        "voice_prompt": "A young and lively female voice with a fast speaking rate and a noticeably rising intonation, suitable for introducing fashion products.",
        "preview_text": "Hello everyone, welcome to our live stream! The product we are recommending today is truly amazing."
    },
    "parameters": {
        "sample_rate": 24000,
        "response_format": "wav"
    }
}'

Langkah 2: Sintesis ucapan menggunakan suara yang telah didesain

Ganti YOUR_VOICE_ID dengan nilai voice yang dikembalikan pada langkah sebelumnya.

Konfigurasi berikut untuk wilayah Singapura.

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": "Hello everyone, welcome to our live stream! The product we are recommending today is truly amazing.",
        "voice": "YOUR_VOICE_ID"
    }
}'

Tulis deskripsi voice

Deskripsi voice (voice_prompt) menentukan kualitas voice yang dihasilkan. Semakin spesifik dan detail deskripsi Anda, semakin sesuai hasilnya dengan ekspektasi Anda.

Persyaratan dan batasan

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

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

Prinsip utama

  1. Bersifat spesifik, bukan samar: Gunakan kata-kata yang menggambarkan kualitas suara, seperti "deep," "crisp," atau "fast-paced." Hindari istilah subjektif atau ambigu seperti "nice" atau "normal."

  2. Bersifat multidimensi, bukan satu dimensi: Deskripsi yang baik mencakup beberapa dimensi (seperti jenis kelamin, usia, dan emosi). Hanya mendeskripsikan "female voice" terlalu luas untuk menghasilkan hasil yang khas.

  3. Bersifat objektif, bukan subjektif: Fokus pada karakteristik fisik dan perseptual suara. Misalnya, gunakan "high-pitched with an energetic tone" daripada "my favorite voice."

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

  5. Bersifat ringkas, bukan redundan: Hindari pengulangan sinonim atau penambahan pengubah yang tidak berarti. Pastikan setiap kata memiliki tujuan yang jelas.

Dimensi deskripsi

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

Dimension

Examples

Gender

Male, female, neutral

Age

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

Pitch

High, medium, low, slightly high, slightly low

Speed

Fast, medium, slow, slightly fast, slightly slow

Emotion

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

Characteristics

Resonant, crisp, husky, mellow, sweet, deep, powerful

Use case

News broadcast, advertising, audiobook, animation character, voice assistant, documentary narration

Contoh

  • Gaya siaran standar: artikulasi jelas dan tepat dengan pelafalan sempurna

  • Voice perempuan muda dan hidup, cepat dengan intonasi naik yang jelas, cocok untuk presentasi produk fesyen

  • Voice pria paruh baya yang tenang dan berbicara lambat, dalam dan resonan, cocok untuk membaca berita atau narasi dokumenter

  • Perempuan lembut dan bijaksana, sekitar 30 tahun, nada merata, cocok untuk membaca buku audio

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

Mengelola suara kustom

Voice Design mendukung pencatatan voice, melihat detail voice, dan menghapus voice. Untuk titik akhir API dan detail parameter, lihat Referensi API.

Kuota dan penagihan

Kuota voice dan pembersihan otomatis

Batas total voice: Setiap akun Alibaba Cloud Model Studio memiliki batas terpisah sebanyak 1.000 voice kustom untuk CosyVoice dan 1.000 untuk Qwen-TTS. Kedua kuota dihitung secara independen.

Pembersihan otomatis: Jika voice tidak digunakan dalam permintaan speech synthesis apa pun selama satu tahun, sistem akan menghapusnya secara otomatis.

Aturan penagihan

  • CosyVoice: Pembuatan voice gratis.

  • Qwen-TTS: Setiap pembuatan voice dikenai biaya USD 0,2. Pembuatan yang gagal tidak dikenai biaya.

    Kuota gratis (wilayah Singapura saja):

    • Anda mendapatkan 10 pembuatan voice gratis selama 90 hari pertama setelah mengaktifkan Alibaba Cloud Model Studio.

    • Pembuatan yang gagal tidak mengurangi kuota gratis.

    • Menghapus voice tidak mengembalikan kuota gratis.

    • Setelah kuota gratis habis atau periode 90 hari berakhir, pembuatan voice ditagih sebesar USD 0,2 per voice.

Model dan wilayah yang didukung

Singapura

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

  • 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)

China (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
  • CosyVoice Voice Design didukung oleh model FunAudioGen-VD.

  • Teks deskripsi (prompt) yang sama dapat menghasilkan voice yang sedikit berbeda setiap kali. Hasilkan beberapa voice dan pilih yang terbaik.

Referensi API

Referensi API Voice Design

FAQ

Apakah deskripsi voice yang sama selalu menghasilkan voice yang sama?

Tidak selalu. Voice Design melibatkan elemen acak, sehingga deskripsi yang sama dapat menghasilkan voice yang sedikit berbeda setiap kali. Hasilkan beberapa voice, dengarkan, lalu pilih yang terbaik.

Bahasa apa saja yang didukung untuk deskripsi voice?

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

Apa perbedaan antara Voice Design dan Voice Cloning?

Voice Design membuat voice dari awal menggunakan deskripsi teks, tanpa memerlukan sampel audio. Cocok untuk merancang identitas voice yang benar-benar baru. Voice Cloning mereplikasi voice berdasarkan sampel audio nyata dan cocok untuk mereproduksi voice orang tertentu. Untuk detailnya, lihat Voice cloning.