Cần một giải pháp dễ dàng và hoàn chỉnh cho văn bản để nói trong tiếng việt? Hãy thử Responsive
Voice! Tạo một trang web tương lai chứng minh với không flash hoặc plugins, không cho mỗi từ chi phí, văn bản vô hạn để nói!
Văn bản để nói trong tiếng việt cần công nghệ tốt để làm việc tốt, nhưng công nghệ đó là khó khăn để đi qua, và nó luôn luôn là một nỗi đau để thực hiện. Responsive
Voice được bạn một tất cả-trong-một, giá cả phải chăng và đau-free giải pháp, một trong đó chỉ có trọng lượng 14k
B và giải quyết các vấn đề tổng hợp lời nói vô đòi hỏi, trong đó bao gồm (nhưng tiếc là không giới hạn) cho mỗi nhân vật chi phí, cần phải khởi tạo động cơ phát biểu sau khi tải trang, thời gian chậm trễ giữa các cuộc gọi API, vấn đề tỷ lệ phát biểu, đó là một mớ hỗn độn, chúng tôi đã chọn để sắp xếp gọn gàng để bạn không phải!
Voice
Khả năng tương thích
Responsive
Voice văn bản để nói trong tiếng việt được hỗ trợ nguyên bản trong máy tính để bàn Chrome, Safari, và i
OS. Chrome trên Android không hỗ trợ tiếng nói chính của chúng tôi trong các hệ điều hành, nhưng nó không được truy cập vào trình duyệt, vì vậy Responsive
Voice rơi trở lại việt nam như trường hợp tốt nhất có sẵn. Giọng nói việt nam cũng được sử dụng trong các trình duyệt không hỗ trợ hữu phiên bản chính của chúng tôi, chẳng hạn như Internet Explorer, Firefox và Opera.
Bạn đang xem: Speak any text
Giọng nói chính là nam, và được hỗ trợ trong Chrome dành cho máy tính để bàn, OSX Safari, và i
OS Chrome và Safari. Đánh giá: 5/10
Giọng nói dự trữ cũng là nam, và được sử dụng trong trình duyệt mặc định của Android, Internet Explorer, Firefox và Opera. Đánh giá: 5/10
Hai giọng nam được thực hiện cho âm thanh rất giống nhau, do đó người dùng có một trải nghiệm nhất quán trên cả hai thiết bị được hỗ trợ và không được hỗ trợ.
Khả năng tiếp cậnHướng dẫn tiếp cận đang ở đây để ở lại, để tạo ra các trang web và các ứng dụng được tốt hơn cho tất cả mọi người. Mỗi tiểu bang đã thiết lập riêng của mình hướng dẫn, nhưng đối với nội dung trực tuyến gần như nhà nước đã làm rõ chi tiết. Hầu hết các cơ quan lập pháp đề cập đến các Hướng dẫn Truy nhập Nội dung Web 2.0 – và đặc biệt là mức AA của họ – là tập hợp lý các hướng dẫn để làm theo, cho đến khi pháp luật chính thức bao gồm tất cả các nội dung đăng tải trên web. Responsive
Voice có thể giúp làm cho trang web của bạn WCAG 2.0, đặc biệt là đối với những người đang in vô hiệu hóa, và những người đau khổ từ một loạt các trở ngại đó có chứng khó đọc, suy giảm thị lực, và tứ chi. Các kinh nghiệm duyệt web hiện nay đặt nhiều trở ngại ở phía trước của họ, trở thành không cần thiết khó khăn và bực bội. Các tiêu chuẩn WCAG 2.0 đã được thành lập để giải quyết vấn đề đó, và chúng tôi rất vui khi được làm một phần của chúng tôi.
Với khả năng tiếp cận trở thành một tiêu chuẩn cho thiết kế đáp ứng, chúng tôi đã xây dựng một giải pháp thị trường đã được chứng minh rằng không chỉ cung cấp văn bản để nói trong tiếng việt, mà còn là một sự phong phú của các ngôn ngữ khác, trong đó mở ra các kênh truyền thông mới và những nguồn doanh thu tiềm năng với một dòng mã!
Responsive
Voice is the solution for your Vietnamese speech synthesis needs, including Vietnamese accent and inflection. Deploy text to speech Vietnamese in your website or application in minutes.
Nhận diện giọng nói là một task khá thú vị. Ngày nay, có rất nhiều API resources có sẵn trên thị trường, giúp người dùng dễ dàng lựa chọn cái này hay cái khác như Google, Amazon, IBM, Microsoft, Nuance, Rev.ai, Open source Wavenet, Open source CMU Sphinx. Trong bài viết này mình sẽ trình bày sơ lược về Google Speech to Text API nền tảng Nodejs.
Before you begin
Trước khi bắt đầu bạn cần set up dự án Google Cloud Platform và Authorization cho dự án. phần này bạn có thể xem chi tiết tại document của Google Speech to Text API phần Before you begin
Google Speech to Text API
Trong bài viết này mình sẽ hướng dẫn bạn gửi yêu cầu nhận dạng giọng nói tới Speech-to-Text bằng cách sử dụng Google Cloud Client Libraries và mình làm trên nền tảng Node.js sử dụng thư viện
google-cloud/speech .
Google Speech to Text có 3 loại API requests dựa trên nội dung của audio.

Mình sẽ hướng dẫn thực hiện các requests trên để dịch các loaị audio khác nhau.
Dịch các audio files có độ dài ngắn
Phần này trình bày cách phiên âm một tệp âm thanh ngắn(dưới 1 phút) thành văn bản bằng cách sử dụng Synchronous Speech Recognition. Đối với audio dài ta sẽ sử dụng Asynchronous Speech Recognition.
Đầu tiên ta cần init project:
Tạo folder speech-to-text, tạo file app.jsDùng npm để quản lý các thư viên npm init
Cài thư viện google-cloud/speech npm i
google-cloud/speech
Cấu trúc thư mục sẽ có dạng như hình bên dưới:

Ở đây ta chuẩn bị sẵn một file audio.flac để thực hiện dịch file này. Để mang lại độ hiệu quả, độ chính xác cao hơn cũng như thời gian phản hồi hợp lý từ dịch vụ thì tài liệu này có đề xuất về cách cung cấp dữ liệu giọng nói, mọi người tham khảo để việc dịch sang text hiệu quả hơn recommended speech data
speech-to-text-service.json file này chính là private key để xác thực truy cập vào dịch vụ mà bạn đã download ở bước Before you begin. Lưu ý nếu bạn có đẩy dự án nào có key này lên repository của github hoăc bất kỳ công cụ quản lý source nào khác thì ignore file này ra không thì sẽ bị hacker chiếm quyền tài khoản google cloud của bạn.
.env file này chứa biến GOOGLE_APPLICATION_CREDENTIALS. Biến này có giá trị là đường dẫn trỏ tới file private key speech-to-text-service.json phía trên của bạn, trên bước Before you begin có đề cập tới phần này
Vậy là xong quá trính setup bây giờ chung ta xem qua đoạn code này trong app.js để cùng trải nghiệm dịch vụ này nhé
async function main() { // Import dotenv để đọc được biến môi trường trong .env // Nếu chưa có chạy npm i dotenv để cài đặt nó require("dotenv").config() // Import module fs để đọc file const fs = require("fs"); // Import thư viện Google Cloud client const speech = require("
google-cloud/speech"); // Creates a client const client = new speech.Speech
Client(); // Khai báo trỏ tới file local của bạn const filename = "./audio.flac"; // Số lượng kênh có trong âm thanh của bạn. Nếu không đúng sẽ raise error const audio
Channel
Count = 2; // Khai báo encoding const encoding = "FLAC"; // Tỉ lệ mẫu tính bằng Hertz của audio, nêú không đúng sẽ raise error const sample
Rate
Hertz = 44100; // Khai báo code ngôn ngữ cần nhận dạng const language
Code = "en-US"; const config = { audio
Channel
Count: audio
Channel
Count, encoding: encoding, sample
Rate
Hertz: sample
Rate
Hertz, language
Code: language
Code, }; const audio = { content: fs.read
File
Sync(filename).to
String("base64"), }; const request = { config: config, audio: audio, }; // Phát hiện giọng nói trong audio const
Cuối cùng thì run node app.js để trải nghiệm dịch vụ này. Khi mình chạy thì kết quả sẽ được như bên dưới và còn rất nhiều config để có được kết quả như mình mong muốn bạn chịu khó đọc document chính thức của dịch vụ này nhé Speech-to-Text basics.
Transcription: questions 44 through 46 refer to the following conversation
Dịch các audio files có độ dài dài
Phần này trình bày cách phiên âm các tệp âm thanh dài (hơn 1 phút) sang văn bản bằng tính năng nhận dạng giọng nói không đồng bộ.Bạn có thể truy xuất kết quả của thao tác bằng phương thức google.longrunning.Operations. Kết quả vẫn có sẵn để truy xuất trong 5 ngày (120 giờ).
Xem thêm: Nghị luận xã hội : tuổi trẻ như một cơn mưa rào, dù cảm vẫn muốn ướt thêm
async function main() { require("dotenv").config() const speech = require("
google-cloud/speech"); const fs = require("fs"); const client = new speech.Speech
Client(); const filename = "./audio.flac"; const audio
Channel
Count = 2; const encoding = "FLAC"; const sample
Rate
Hertz = 44100; const language
Code = "en-US"; const config = { audio
Channel
Count: audio
Channel
Count, encoding: encoding, sample
Rate
Hertz: sample
Rate
Hertz, language
Code: language
Code, }; const audio = { content: fs.read
File
Sync(filename).to
String("base64"), }; const request = { config: config, audio: audio, }; const
Running
Recognize(request); const
Dịch các âm thanh đầu vào một cách trực tiếp
Dưới đây là một ví dụ về thực hiện nhận dạng giọng nói phát trực tuyến trên luồng âm thanh nhận được từ micrô:
Ví dụ này yêu cầu bạn cài đặt So
X và nó phải có sẵn trong $PATH của bạn. Để cài đặt đối với linux sudo apt-get install sox libsox-fmt-all
require("dotenv").config()// Import node-record-lpcm16 để ghi lại âm thanh// Nếu chưa có chạy npm install node-record-lpcm16 để cài đặtconst recorder = require("node-record-lpcm16");const speech = require("
google-cloud/speech");const client = new speech.Speech
Client();const encoding = "LINEAR16";const sample
Rate
Hertz = 16000;const language
Code = "en-US";const request = { config: { encoding: encoding, sample
Rate
Hertz: sample
Rate
Hertz, language
Code: language
Code, }, interim
Results: false,};// Tạo luồng nhận dạngconst recognize
Stream = client .streaming
Recognize(request) .on("error", console.error) .on("data", data => process.stdout.write( data.results<0> && data.results<0>.alternatives<0> ? `Transcription: ${data.results<0>.alternatives<0>.transcript}\n` : "\n\n
Reached transcription time limit, press Ctrl+C\n" ) );// Bắt đầu ghi âm và gửi đầu vào micrô tới API giọng nói.// Đảm bảo So
X được cài đặtrecorder .record({ sample
Rate
Hertz: sample
Rate
Hertz, threshold: 0, // Các tùy chọn khác, xem https://www.npmjs.com/package/node-record-lpcm16#options verbose: false, record
Program: "rec", silence: "10.0", }) .stream() .on("error", console.error) .pipe(recognize
Stream);console.log("Listening, press Ctrl+C to stop.");Xong bạn chạy node app.js trên console sẽ xuất hiện dòng Listening, press Ctrl+C to stop, bắt đầu bạn ghi âm nó sẽ dịch trực tiếp cho bạn
Listening, press Ctrl+C to stop.Transcription: hello