Trong bài viết này mình sẽ hướng dẫn chi tiết từng bước từ cách tạo API key đến cách sử dụng API TTS để tạo ra những giọng đọc truyền cảm, như người thật. Bài viết này cũng phù hợp với những bạn không rành về công nghệ.
OpenAI TTS là gì?
TTS là viết tắt của Text-to-Speech, ngày nay công nghệ TTS (chuyển văn bản thành giọng nói) đã rất phổ biến và được ứng dụng rộng rãi.
TTS của OpenAI có khả năng chuyển đổi văn bản thành giọng nói tự nhiên và mượt mà, giọng nói được tạo ra có cảm xúc giống như người thật. Ví dụ như clip truyện ma dưới đây mình làm từ API TTS của OpenAI, giọng đọc không hề qua chỉnh sửa, mặc dù đang còn mới nhưng giọng đọc tiếng Việt cũng rất truyền cảm, nghe lần đầu có thể sẽ không nghĩ là giọng đọc của AI.
Đăng nhập vào OpenAI và tạo API key
Những bạn nào cần hướng dẫn về API của OpenAI thì hãy xem bài viết bên dưới, mình đã có hướng dẫn rất chi tiết kèm hình ảnh minh họa:
Ở thời điểm hiện tại đầu năm 2024, OpenAI TTS chưa có giao diện web, do đó để sử dụng được thì phải dùng thông qua API. Những bạn không chuyên về kỹ thuật cũng không cần để ý API nghĩa là gì đâu, tí nữa các bạn chỉ cần chạy code thông qua Terminal (macOS) hoặc Command Prompt (Windows)
Sau khi đăng nhập vào OpenAI, ở thanh menu bạn click vào Text-to-speech để chuyển đến trang hướng dẫn sử dụng chức năng này, hoặc có thể vào trực tiếp từ đường link bên dưới:
OpenAI TTS hiện tại có các giọng đọc sau, model "tts-1" hiện tại còn khá mới mẻ nên phát âm tiếng Việt nhiều chỗ chưa chuẩn lắm, nhưng nói chung là đủ chất lượng để có thể dùng rồi.
<api_key>: Đây là API key mà bạn đã tạo ở bước trước, ví dụ: "sk-abcdef..."
model: Có 2 model là tts-1 và tts-1-hd, trong một số trường hợp, âm thanh có thể không có sự khác biệt rõ rệt trong 2 model này. Tuy nhiên theo trải nghiệm ban đầu của mình thì nếu đọc tiếng Việt dùng model "tts-1" sẽ chuẩn hơn.
tts-1: Tốc độ tạo nhanh
tts-1-hd: Chất lượng cao
input: Đoạn văn bản cần đọc
voice: Tên giọng đọc, danh sách giọng đọc mình có mô tả bên trên, bao gồm: alloy, echo, fable, onyx, nova, shimmer
speed: Tốc độ đọc, trong khoảng 0.25 đến 4.0, 0.25 là đọc siêu chập, 4.0 là đọc siêu nhanh. Mặc định là 1.0
<tên file>: Tên file kết quả sau khi tạo
Ví dụ: Giả sử mình chạy đoạn code như sau:
Copy
curl https://api.openai.com/v1/audio/speech \
-H "Authorization: Bearer sk-abcdefghijklmno" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "Cảm ơn các bạn đã xem blog của mình",
"voice": "alloy",
"speed": 1.0
}' \
--output speech.mp3
Mình sẽ có file kết quả là speech.mp3 nằm ở thư mục hiện tại, giống như sau:
Trên website của OpenAI có mô tả chi phí sử dụng như sau:
Đối với model TTS: $0.015 / 1000 ký tự
Đối với model TTS HD: $0.030 / 1000 ký tự
Có vẻ cũng khó hình dung 😂 Theo kinh nghiệm thực tế của mình khi dùng model tts-1-hd và tạo ra file khoảng 45 phút thì tốn tầm 1 USD, cũng không hẳn là đắt lắm.
Một vài mẹo nhỏ khi sử dụng OpenAI TTS
Chèn ngắt quãng
Trong một đoạn văn, bạn có thể chèn thêm [pause] vào giữa để cho AI ngắt quãng, thường thì AI sẽ ngắt quãng khoảng 1, 2 giây.
Ví dụ đoạn văn bản "Hôm nay trời đẹp quá [pause] đi chơi không em?" thì sẽ cho ra kết quả như sau:
Khi bạn viết một đoạn văn bản ngắn chỉ vài từ, sẽ có lúc kết quả cho ra là giọng đọc tiếng gì đó chứ không phải tiếng Việt. Lúc này để khắc phục thì các bạn có thể chèn [Vietnamese] vào đầu đoạn văn bản.
Ví dụ: [Vietnamese] Chào bạn
Khắc phục khi không đọc được số
Có lẽ do còn mới, nên AI này chưa đọc rõ những con số, để khắc phục, bạn thay số thành chữ thì AI sẽ đọc tốt hơn.
Ví dụ: 275 thì bạn nên viết là hai trăm bảy mươi lăm
Một vài câu hỏi thường gặp
Làm thế nào tôi có thể kiểm soát phạm vi cảm xúc của âm thanh được tạo ra?
Không có cơ chế trực tiếp nào để kiểm soát đầu ra cảm xúc của âm thanh được tạo.
Một số yếu tố có thể ảnh hưởng đến âm thanh đầu ra như việc sử dụng chữ in hoa hoặc ngữ pháp, nhưng các thử nghiệm nội bộ của OpenAI đã cho kết quả không nhất quán.
Liệu tôi có thể tạo bản sao giọng nói của mình không?
Không, điều này không phải là điều OpenAI hỗ trợ.
Tôi có sở hữu các tệp âm thanh được xuất ra không?
Có, giống như với tất cả sản phẩm đầu ra từ API của OpenAI, người tạo ra chúng sở hữu sản phẩm đầu ra.
Bạn vẫn cần phải thông báo cho người dùng cuối rằng họ đang nghe âm thanh được tạo bởi AI chứ không phải là giọng nói thực của một người. Bài viết trên mình đã giới thiệu và hướng dẫn các bạn về chức năng TTS của OpenAI, chuyển văn bản thành giọng nói có cảm xúc như người thật. Ngoài ra các bạn có thể vào tài liệu chính thức trên trang chủ của OpenAI để xem chi tiết nhé.
Lưu ý quan trọng: Đừng bao giờ chia sẻ hoặc để lộ API key của bạn, vì nếu người khác dùng API key của bạn để sử dụng trong API, thì bạn sẽ là người phải trả tiền.
Link để chia sẻ:
Author
Yuto
Mình lập blog này từ năm 2024, trong giai đoạn phát triển chóng mặt của công nghệ AI. Mục tiêu của blog này là chia sẻ những kiến thức cơ bản, những mẹo vặt về máy tính, và hướng dẫn sử dụng một số công cụ AI cơ bản.
Cảm ơn bạn đã ghé thăm website của mình. Hy vọng những bài viết trên website này sẽ có ích cho bạn.