AI sinh sinh và Trí tuệ nhân tạo đã tiến bộ vượt bậc. Chuyển văn bản thành giọng nói là một khái niệm cũ, xuất hiện từ khá lâu. Có rất nhiều khía cạnh để phân tích và tôi sẽ trình bày rõ ràng từ nhiều góc độ. Dù bạn là người mới hay chuyên gia, bài này sẽ giúp bạn nắm vững Google Text to Speech API.
Trước tiên, chúng ta cần thống nhất một số nguyên tắc. Hãy cùng định nghĩa vài thuật ngữ và xây dựng nền tảng để hiểu bài sâu hơn.
Hãy tách riêng hai công nghệ: chuyển văn bản thành giọng nói (TTS) và API, cùng vai trò của Google Cloud.
Ghi chú: Đang tìm API chuyển văn bản thành giọng nói tốt nhất? Xem API chuyển văn bản thành giọng nói của Speechify – dễ dùng, tài liệu rõ ràng.
Chuyển văn bản thành giọng nói
Tôi đã viết khá nhiều về chủ đề này, bạn có thể đọc blog Chuyển văn bản thành giọng nói là gì và tìm hiểu thêm về speech synthesis để nắm chắc chủ đề. Những tài liệu này chuyên sâu hơn, bạn có thể tạm gác lại. Tôi sẽ tóm tắt vài ý chính dưới đây.
TTS sử dụng công nghệ tổng hợp giọng nói để chuyển văn bản thành âm thanh do AI tạo ra. Ứng dụng của công nghệ này rất đa dạng: từ hỗ trợ người khiếm thị, rối loạn đọc (dyslexia), thị lực kém cho đến bất kỳ ai muốn tăng năng suất.
API
API là viết tắt của Application Programming Interface – tức Giao diện lập trình ứng dụng. Đây là cầu nối giữa hai ứng dụng. Nếu bạn muốn phát triển ứng dụng có tính năng chuyển văn bản sang giọng nói, bạn cần tự xây dựng hoặc kết nối với API chuyển văn bản thành giọng nói đã có sẵn.
Bạn chỉ cần tập trung phát triển ứng dụng của mình, còn phần chuyển văn bản thành giọng nói để API của bên thứ ba lo.
Google Cloud API
Đây là lúc Google Cloud phát huy tác dụng. Google đã phát triển API chuyển văn bản thành giọng nói mạnh mẽ và cung cấp cho lập trình viên với nhiều mức giá. Ai muốn xây dựng ứng dụng tùy chỉnh cần chức năng chuyển văn bản sang nói chỉ cần dùng tính năng TTS của Google. TTS tức là text to speech.
Xem phần bắt đầu nhanh tại Google Cloud Console https://cloud.google.com/. Ở đó có hướng dẫn chi tiết, quản lý tài khoản dịch vụ, truy cập các giọng WaveNet, v.v.
Google Cloud là nền tảng đám mây do Google cung cấp, gồm nhiều dịch vụ dạng module. Bạn có thể chọn dùng một, vài, hoặc tất cả dịch vụ. Chỉ cần tạo khóa truy cập API để xác thực – chính là cầu nối. Hầu hết dịch vụ đều trả phí, nhưng thường có mức dùng miễn phí ban đầu.
Google đã mua lại DeepMind năm 2014 nhờ công nghệ chuyển văn bản thành giọng nói và nghiên cứu mạng nơ-ron. DeepMind hiện là Google DeepMind.
Sau khi đã nắm được các khái niệm, cùng đi sâu vào Google Cloud Text to Speech API.
Tính năng nổi bật của Google Text to Speech API
Google là hãng công nghệ hàng đầu thế giới. Với API TTS, bạn sẽ trải nghiệm các tính năng top đầu, được cập nhật liên tục.
Giọng nói chất lượng cao
Giọng chuyển văn bản thành giọng nói của Google thuộc nhóm tốt nhất hiện nay. Nghe như người thật, ngữ điệu tự nhiên. Ai tổng hợp được giọng tự nhiên nhất sẽ là người thắng cuộc trong đường đua này.
Đa dạng tùy chọn giọng nói
Google sở hữu số lượng giọng nói rất lớn. Dự án của bạn sẽ khác biệt, không bị na ná hàng loạt ứng dụng khác hay đối thủ.
Tạo giọng nói riêng
Đây là công nghệ nhân bản giọng nói. Bạn có thể ghi âm chính mình (hoặc người được cho phép), rồi dùng mẫu này làm giọng đọc cho toàn bộ văn bản.
Giọng nơ-ron
Giọng nơ-ron có chất lượng cao nhất trong số nhiều loại giọng. Bạn có thể quốc tế hóa sản phẩm để tiếp cận đông đảo người dùng ở nhiều quốc gia.
Studio Voices
Studio Voices là các giọng cao cấp, nghe chuyên nghiệp như thu âm trong phòng thu.
Tùy chỉnh giọng nói
Chọn giọng rồi điều chỉnh tốc độ, cao độ và nhiều thông số khác để cá nhân hoá giọng nói cho phù hợp với dự án.
Chi phí sử dụng Google Text to Speech API?
Giá dựa vào chất lượng giọng và độ dài văn bản. Giọng càng tự nhiên, giá càng cao. Tuy vậy, chi phí vẫn khá hợp lý và dễ tiếp cận.
| Loại giọng | Miễn phí/tháng | Vượt ngưỡng miễn phí |
| Neural2 | 0 – 1 triệu byte | $16/1 triệu byte |
| Polyglot | 0 – 1 triệu byte | $16/1 triệu byte |
| Studio | 0 – 100.000 byte | $160/1 triệu byte |
| Chuẩn | 0 – 4 triệu ký tự | $4/1 triệu ký tự |
| Wavenet | 0 – 1 triệu ký tự | $16/1 triệu ký tự |
Sự khác biệt giữa ký tự & byte
Như bạn đã thấy, giá thay đổi tùy theo chất lượng giọng nói. Quá trình mã hóa và xử lý để chuyển văn bản thành âm thanh khác nhau ở mỗi gói. Giọng Chuẩn có giá thấp và tính theo số ký tự.
Ví dụ, nếu dự án của bạn có 4 triệu ký tự, giá là $16 để chuyển sang giọng nói với gói Chuẩn.
Studio Voices cần sức mạnh xử lý cao hơn và tính phí bằng byte. Một số ngôn ngữ như tiếng Nhật, mỗi ký tự có thể gồm nhiều byte.
Để biết giá chính xác, cần xác định rõ ngôn ngữ bạn dùng, nắm được số byte trung bình trên mỗi ký tự để ước lượng sát thực tế.
Cách thiết lập dự án API Text to Speech trên Google Cloud Platform?
- Tạo tài khoản Google Cloud hoặc đăng nhập tại đây
- Tạo dự án mới và đặt tên phù hợp
- Thêm phương thức thanh toán. Bạn chỉ bị tính đúng phần đã dùng.
- Chọn dự án rồi liên kết với tài khoản thanh toán.
- Kích hoạt Text-to-Speech API. Ở thanh tìm kiếm trên cùng, gõ "speech".
- Từ kết quả hiện ra, chọn Cloud Text-to-Speech API
- Cài đặt xác thực cho môi trường phát triển của bạn. Xem hướng dẫn xác thực Text-to-Speech.
Bạn cũng có thể thử Text-to-Speech mà chưa cần liên kết với dự án:
- Chọn mục DÙNG THỬ API NÀY.
- Để bật API, nhấn ENABLE để kích hoạt Text-to-Speech API cho dự án.
Tham khảo thêm tại Tài liệu Google Cloud để được hỗ trợ chi tiết hơn.
Cách vô hiệu hoá Text to Speech API
Để tắt Text-to-Speech API, vào dashboard Google Cloud, bấm vào liên kết "Go to APIs overview" trong khung APIs. Tìm Text-to-Speech API rồi bấm vào, chọn "DISABLE API" ở đầu trang.
Bắt đầu với Google Text to Speech API
Sau khi thiết lập dự án, bạn có thể bắt đầu ngay bằng dòng lệnh.
gcloud initTạo xác thực cục bộ
gcloud auth application-default loginGiờ bạn có thể cài đặt thư viện client. Ở ví dụ này là Node.js
npm install --save @google-cloud/text-to-speechGoogle Cloud Text to Speech API hỗ trợ các ngôn ngữ:
- Go
- Java
- Node.js
- C++
- C#
- PHP
- Python
- Ruby
- TypeScript
- Terraform
- YAML
Cách hoạt động của Google Cloud API?
Chỉ với một API call đơn giản. Gửi văn bản dưới dạng transcript call, bạn sẽ nhận lại tệp âm thanh. Bạn có thể chỉ định giọng, ngôn ngữ,… rồi API sẽ trả lại file giọng đọc tương ứng.
Tìm hiểu cách cài đặt, sử dụng thư viện client chuyển văn bản thành giọng nói tại đây. Các ví dụ dùng Node.js, bạn cũng có thể dùng Python, PHP, v.v. tuỳ sở thích.
const textToSpeech = require('@google-cloud/text-to-speech');
const fs = require('fs');
const util = require('util');
const client = new textToSpeech.TextToSpeechClient();
/**
* TODO(developer): Uncomment the following lines before running the sample.
*/
// const text = 'Text to synthesize, eg. hello';
// const outputFile = 'Local path to save audio file to, e.g. output.mp3';
const request = {
input: {text: text},
voice: {languageCode: 'en-US', ssmlGender: 'FEMALE'},
audioConfig: {audioEncoding: 'MP3'},
};
const [response] = await client.synthesizeSpeech(request);
const writeFile = util.promisify(fs.writeFile);
await writeFile(outputFile, response.audioContent, 'binary');
console.log(`Audio content written to file: ${outputFile}`);Vậy là xong! Bạn đã thiết lập xong Google Cloud Text to Speech API và gửi request đầu tiên. Có thể chọn nhiều định dạng file: OGG hoặc MP3.
Một số ứng dụng Google Text to Speech API
Google Text-to-Speech API (TTS) được ứng dụng linh hoạt, rộng rãi ở nhiều ngành khác nhau. Một vài ví dụ phổ biến:
- Chuyển văn bản sang nói cho người khiếm thị: Tích hợp TTS vào các ứng dụng để đọc nội dung, giúp người khiếm thị tiếp cận thông tin số.
- Tổng đài tự động: Dùng TTS để tạo lời thoại, phản hồi tự nhiên cho hệ thống trả lời tự động chăm sóc khách hàng.
- Lồng tiếng nội dung media: Tạo voiceover tự nhiên cho video, podcast… nâng cao trải nghiệm người dùng.
- Chuyển văn bản dịch thành âm thanh: Đọc to văn bản đã dịch – hỗ trợ học ngoại ngữ, giao tiếp quốc tế, tiêu thụ nội dung đa ngôn ngữ.
- Hỗ trợ đọc cho người rối loạn chữ: Cung cấp TTS cho người rối loạn đọc (dyslexia) hoặc khó đọc để tiếp nhận nội dung tốt hơn.
- Dẫn đường bằng giọng nói: Tích hợp TTS vào ứng dụng dẫn đường để phát thông tin chỉ dẫn bằng âm thanh.
- E-learning: Chuyển tài liệu học tập thành giọng nói, giúp học sinh dễ nắm bắt hơn và tăng tương tác.
- Tăng năng suất cho app: Tích hợp TTS vào các phần mềm ghi chú, quản lý công việc để cung cấp phản hồi bằng tiếng nói.
- Trợ lý ảo giọng tự nhiên: Sử dụng TTS giọng tự nhiên cho trợ lý ảo để giao tiếp tự nhiên hơn với người dùng.
- Thông báo bằng âm thanh: Gửi cảnh báo, thông báo, hoặc trạng thái lên thiết bị IoT bằng file âm thanh TTS.
Một số lựa chọn thay thế Google Cloud TTS API
Tính đến tháng 01/2022, có nhiều giải pháp thay thế Google Text-to-Speech API. Độ phổ biến và tính năng của các dịch vụ này có thể đã thay đổi. Dưới đây là một số lựa chọn nổi bật:
- Speechify Text to Speech API: Speechify Text to Speech API cung cấp hơn 1.000 giọng AI tự nhiên, cảm xúc AI voices cho hơn 60+ ngôn ngữ, vùng miền. Đăng ký trải nghiệm ngay.
- Amazon Polly: Dịch vụ TTS của Amazon (AWS), cung cấp giọng nói tự nhiên cho nhiều ngôn ngữ, dễ tích hợp với các dịch vụ AWS khác.
- Microsoft Azure Speech Service: Azure tích hợp TTS với nhiều ứng dụng: trợ lý giọng nói, dẫn đường, v.v.
- IBM Watson Text to Speech: IBM Watson cung cấp dịch vụ chuyển văn bản thành giọng nói tự nhiên, đa giọng cho lập trình viên.
- Nuance Communications: Nuance có nhiều giải pháp nhận diện và chuyển văn bản thành giọng nói, dùng trong y tế, ô tô, dịch vụ khách hàng.
- CereProc: CereProc là công ty TTS chất lượng cao cho các ứng dụng hỗ trợ, giải trí, giao tiếp.
- iSpeech: iSpeech cung cấp dịch vụ TTS đám mây, nhiều giọng, đa ngôn ngữ, ứng dụng cho web, di động, v.v.
- ResponsiveVoice: ResponsiveVoice là API TTS giá rẻ, đơn giản, hỗ trợ nhiều ngôn ngữ, dùng cho các ứng dụng web.
- Neospeech: Neospeech cung cấp TTS với chất giọng tự nhiên, ứng dụng cho e-learning, giải trí…
- ReadSpeaker: ReadSpeaker có cả giải pháp TTS online và offline cho web, đào tạo, dịch vụ hỗ trợ người dùng.
- Acapelabox: Acapela Group cung cấp API TTS đám mây Acapelabox với nhiều giọng, đa ngôn ngữ, ứng dụng đa ngành.
Câu hỏi thường gặp
Google có nhiều gói giọng nói: gần như mỗi gói đều có hạn mức miễn phí. Ví dụ, giọng chuẩn miễn phí 1 triệu byte đầu. Sau đó $16 cho mỗi 1 triệu byte. Vậy nên bạn có thể sử dụng miễn phí trong một giới hạn ký tự/byte nhất định.
Chỉ cần tạo tài khoản ở https://cloud.google.com/text-to-speech/ và làm theo hướng dẫn. Bài này cũng đã có hướng dẫn chi tiết ở phía trên.
Đăng nhập tài khoản Google Cloud, tạo dự án. Sau khi có dự án, bạn tạo API key.
Địa chỉ URL của Google text to speech API là https://cloud.google.com/text-to-speech/
Thực chất không có một gói dùng thử Google Cloud chung cho tất cả dịch vụ. Mỗi dịch vụ của Google Cloud có chính sách và giới hạn miễn phí riêng.
Không. API Google Cloud Text to Speech bắt buộc phải có kết nối Internet.
Khi xác thực với các dịch vụ Google Cloud, gồm Text-to-Speech API, bạn có thể dùng API key, OAuth 2.0, hoặc account dịch vụ. Loại xác thực tuỳ vào mục đích và ứng dụng sử dụng.
Tôi chấm 5 sao. Dễ dùng, tìm kiếm nhanh, giá hợp lý, tổng thể là một sản phẩm tốt.
Google Text-to-Speech API có thư viện client cho nhiều ngôn ngữ như Python. API RESTful tương thích với mọi ngôn ngữ lập trình gửi được HTTP request.
Tích hợp Google Text-to-Speech API trong app Android thông qua class TextToSpeech và các lệnh API liên quan. Xem hướng dẫn chính thức cho lập trình viên Android.
Để dùng Google Text-to-Speech API với JavaScript, bạn cần gửi các lệnh HTTP đến endpoint API, xây dựng request phù hợp và xử lý response trong code. Xem tài liệu chính thức để biết hướng dẫn chi tiết.

