- Các thành phần bắt buộc
- Sơ đồ mạch
- Kết nối loa với Arduino
- Lập trình Arduino cho TTS (Text To Speech)
Hệ thống chuyển văn bản thành giọng nói hoặc TTS chuyển văn bản bình thường thành giọng nói. Công nghệ này cho phép hệ thống đọc văn bản bằng giọng nói của con người. Có nhiều ví dụ về chuyển đổi Văn bản thành giọng nói như thông báo trên phương tiện giao thông công cộng, cuộc gọi chăm sóc khách hàng, trợ lý giọng nói trong điện thoại thông minh của bạn hoặc menu điều hướng của bất kỳ máy nào. Bạn thậm chí có thể tìm thấy TTS trong Microsoft Word nơi bạn đặt nó để đọc văn bản được viết trong tài liệu.
Hôm nay trong hướng dẫn này, chúng ta sẽ học cách tạo công cụ chuyển đổi Text To Speech bằng Arduino. Trước đây, chúng tôi đã sử dụng TTS với Raspberry pi khi nói Đồng hồ báo thức và cũng đã chuyển đổi giọng nói thành văn bản trong Raspberry pi bằng cách sử dụng bàn phím giọng nói của Google.
Bước đầu tiên trong TTS là tiền xử lý hoặc chuẩn hóa. Bước này liên quan đến việc chuyển đổi các ký hiệu, số và chữ viết tắt thành các từ mà máy có thể đọc được như '?' sẽ được chuyển thành "dấu chấm hỏi".
Bước thứ hai liên quan đến việc chuyển đổi văn bản chuẩn hóa thành các âm vị hoặc bảng phiên âm. Âm vị là những phần nhỏ của lời nói, tức là đây là những âm thanh tạo nên câu. Bước này thực sự cần thiết để máy móc có thể nói các từ như con người.
Bước cuối cùng là tổng hợp các âm vị thành giọng nói. Bước này có thể đạt được bằng các phương pháp khác nhau như ghi âm giọng nói của con người cho các từ / cụm từ khác nhau hoặc bằng cách tạo ra các tần số âm thanh cơ bản và dồn chúng lại dưới dạng âm vị hoặc bằng cách sao chép cơ chế nói của con người.
Các thành phần bắt buộc
- Bảng Arduino
- Người nói
- Một mạch khuếch đại
- Cung cấp điện theo quy định
- Kết nối dây
Sơ đồ mạch
Ở đây trong bộ chuyển đổi Văn bản sang Giọng nói này, chúng tôi đã sử dụng mạch khuếch đại để giảm tiếng ồn và có được âm thanh rõ ràng. Các mạch khuếch đại được thực hiện bằng cách sử dụng IC LM386. Sơ đồ mạch cho nó được hiển thị bên dưới:
Nồi 100K dùng để chỉnh âm thanh. Điều chỉnh nó để có được âm thanh rõ ràng. Nếu bạn có bất kỳ sự nhầm lẫn nào về mạch này, hãy xem Mạch Khuếch đại Âm thanh Dựa trên LM386. Nếu bạn không có giá trị chính xác của điện trở và tụ điện thì hãy sử dụng giá trị gần nhất.
Kết nối loa với Arduino
Các kết nối cực kỳ dễ dàng khi bạn tạo mạch khuếch đại.
Kết nối nguồn điện với mạch khuếch đại và kết nối chân số 3 của Arduino với điện trở 10K và kết nối đất của Arduino với mặt đất của mạch. Bây giờ kết nối loa bằng cách kết nối đầu cuối âm của nó với mặt đất và đầu cuối dương với tụ điện 220µF và kết nối nguồn điện.
Lập trình Arduino cho TTS (Text To Speech)
Chương trình cho TTS dựa trên Arduino này cũng rất dễ dàng vì thư viện có sẵn cho việc này. Thư viện này được gọi là Talkie và người quản lý thư viện có thể thêm nó vào. Để thêm thư viện, hãy đi tới Sketch-> include Library-> Mange Libraries .
Bây giờ Trình quản lý Thư viện sẽ xuất hiện trên màn hình của bạn. Trong thanh tìm kiếm, nhập Talkie và nhấp vào nút cài đặt. Thư viện sẽ được cài đặt.
Thư viện này rất tiện dụng và nó có hơn 1000 từ và lệnh. Nó có một số ví dụ, bạn có thể thử tất cả nhưng ở đây chúng tôi đang sử dụng một đoạn mã đơn giản để giải thích hoạt động.
Bạn cũng có thể thử các lệnh khác được đưa ra trong thư viện. Để nhận các lệnh đó, hãy truy cập Documents \ Arduino \ library \ Talkie \ src , sau đó mở tệp tiêu đề và nhận một số lệnh có thể được sử dụng cho các cảnh báo khác nhau. Có rất nhiều thư viện TTS khác như thư viện TTS jscrane, thư viện TTS google, v.v. Bạn cũng có thể thử chúng.
Vì vậy, hãy bắt đầu viết mã. Trước hết hãy bao gồm một số tệp tiêu đề. Talkie.h được sử dụng để khởi tạo thư viện này và đặt chân số 3 của Arduino làm chân đầu ra. Các Vocab_US_Large.h được sử dụng để sử dụng các cảnh báo chúng ta đang sử dụng và Vocab_Special.h được sử dụng để sử dụng tạm dừng chúng ta đang sử dụng.
#include "Talkie.h" #include "Vocab_US_Large.h" #include "Vocab_Special.h"
Bây giờ xác định một đối tượng 'giá trị' để sử dụng các lệnh:
Giọng bộ đàm;
Ở đây thông báo tương tự sẽ được lặp lại trong loa vì vậy hãy để trống chức năng thiết lập và đưa các lệnh vào chức năng lặp. Lệnh đầu tiên voice.say (spPAUSE2) là tạm dừng trong khi lặp lại thông báo cảnh báo. Và những câu lệnh tiếp theo chỉ là những từ đơn giản hàm ý: BÃO NGUY HIỂM Ở MIỀN BẮC.
void setup () { } void loop () { voice.say (spPAUSE2); voice.say (sp2_DANGER); voice.say (sp2_DANGER); voice.say (sp3_STORM); voice.say (sp3_IN); voice.say (sp3_THE); voice.say (sp3_NORTH); }
Cuối cùng tải lên mã trong Arduino và kết nối nguồn điện cho nó. Ngay sau khi bạn cấp nguồn cho mạch, bạn sẽ bắt đầu nghe thấy cảnh báo! Nếu bạn không nhận được âm thanh rõ ràng, hãy thử điều chỉnh núm nồi hoặc kiểm tra xem Arduino có được cấp điện thích hợp hay không và đảm bảo rằng GND của Arduino được kết nối với đất của mạch.
Kiểm tra mã hoàn chỉnh với video minh họa được đưa ra bên dưới.