• Công Nghệ
  • Toplist
  • Blog

VTCC - Blog Công Nghệ Mới Nhất

Tổng Hợp Tiếng Nói Api ⚡ API TTS – Text To Speech

31/07/2022 by Viettel Cyberspace Center

Mobile App That Speaks with DeepMind WaveNet Google Cloud Text To Speech ML API and Flutter | by Alfian Losari | Flutter Community | Medium

  • URLhttps://viettelgroup.ai/voice/api/tts/v1/rest/syn
  • Methodhttp POST
  • Header Parameters1. header "Content-Type: application/json"2. header "token: token_id"Để có "token id" bạn có thể đăng ký tài khoản tại viettelgroup.ai, sau đó login, rồi vào menu token để tạo

Định dạng data gửi lên: Json (default)

{
    "text": "hệ thống tổng hợp tiếng nói trung tâm không gian mạng",
    "voice": "doanngocle",
    "id": "2",
    "without_filter": false,
    "speed": 1.0,
    "tts_return_option": 2
}

Mô tả các tham số:

property name Value Description
text String text đầu vào cần tổng hợp.
voice String giọng đọc muốn tổng hợp.
id String ID request do người dụng đặt (có thể dùng để traceback).
without_filter Boolean có sử dụng filter để tăng chất lượng giọng hay không (chậm hơn).
speed Float tốc độ giọng (có giá trị 0.7 – 1.3, tương ứng tốc độ đọc từ x0.7 đến x1.3 lần).
tts_return_option Interger một số dạng integer để chọn api như sau:
1: streaming
2: wav
3: mp3

Success Response:

  • Code: 200
  • Content: inputstream (audio wav format)

Giọng đọc hiện có

Mã giọng đọc Mô tả
hn-quynhanh Giọng nữ miền Bắc chất lượng cao
hcm-diemmy Giọng nữ miền Nam chất lượng cao
hue-maingoc Giọng nữ miền Trung chất lượng cao
hn-phuongtrang Giọng nữ miền Bắc chất lượng cao
hn-thanhtung Giọng nam miền Bắc
hue-baoquoc Giọng nam miền Trung
hcm-minhquan Giọng nam miền Nam
trinhthiviettrinh Giọng nữ miền Bắc
lethiyen Giọng nữ miền Nam
nguyenthithuyduyen Giọng nữ miền Nam
phamtienquan Giọng nam miền Bắc

Bạn có thể lấy danh sách giọng đọc mới nhất thông qua API: https://viettelgroup.ai/voice/api/tts/v1/rest/voices

Khám Phá Thêm:   Nhận Dạng Tiếng Nói ⚡ API STT – Speech To Text

example curl:

tạo file data.json như sau:

{
    "text": "Hệ thống tổng hợp tiếng nói trung tâm không gian mạng",
    "voice": "doanngocle",
    "id": "2",
    "without_filter": false,
    "speed": 1.0,
    "tts_return_option": 2
}

command:

curl --header "Content-Type: application/json" --header "token: demo_token"   --request POST   --data "@data.json" https://viettelgroup.ai/voice/api/tts/v1/rest/syn > example.wav
#if encounter SSL error because of https certificate, add option '-k' to  make insecure connections   (this will expose your application to security risks, such as man-in-the-middle attacks.)

output trả về là file: example.wav

example python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Import the json library
import json
import requests
import urllib

url = "https://viettelgroup.ai/voice/api/tts/v1/rest/syn"
data = {"text": "hôm nay là thứ mấy", "voice": "doanngocle", "id": "2", "without_filter": False, "speed": 1.0, "tts_return_option": 2}
headers = {'Content-type': 'application/json', 'token': 'demo_token'}
response = requests.post(url, data=json.dumps(data), headers=headers)
#if encounter SSL error because of https certificate, please comment out above line and use the line below to  make insecure connections   (this will expose your application to security risks, such as man-in-the-middle attacks.)
#response = requests.post(url, data=json.dumps(data), headers=headers, verify=False)
# Headers is a dictionary
print(response.headers)
# Get status_code.
print(response.status_code)
# Get the response data as a python object.
data = response.content
f = open("/home/tanpk/log/tanpk.wav", "wb")
f.write(data)
f.close()

example java:


public class TestAPI {
    public static InputStream getTTS(String apiUrl, String datajson) throws IOException {
        HttpClient httpClient = HttpClientBuilder.create().build();
        HttpPost request = new HttpPost(apiUrl);
        StringEntity body = new StringEntity(datajson, "UTF-8");
        /*add content-type, token into header request */
        request.addHeader("content-type", "application/json;charset=UTF-8");
        request.addHeader("token", "demo_token");
        request.getRequestLine();
        request.setEntity(body);
        HttpResponse response = httpClient.execute(request);
        System.err.println(response);
        return response.getEntity().getContent();
    }
    public static void main(String[] args) throws IOException {
        /*
        * create datajon format
        * text need to endcode by URLencode
        * */
        String datajson = "{\"text\":\"xin chào các bạn"," +
                "\"voice\":\"doanngocle\"," +
                "\"id\":\"3\"," +
                "\"without_filter\":false," +
                "\"speed\":1.0," +
                "\"tts_return_option\":2}";
        InputStream result = getTTS("https://viettelgroup.ai/voice/api/tts/v1/rest/syn", datajson);
        /* you can write result to file to use */
    }
}

Filed Under: Tài Liệu Kỹ Thuật

Copyright © 2025 · VTCC - Cổng Thông Tin Công Nghệ Mới Nhất https://shbet.vision/