Text-to-Speech (TTS) là một công nghệ AI chuyển đổi văn bản thành âm thanh, cho phép máy tính hoặc thiết bị đọc to nội dung được chỉ định. TTS sử dụng trí tuệ nhân tạo và xử lý ngôn ngữ tự nhiên để tạo ra giọng nói tự nhiên và dễ nghe.
Trong ứng dụng bạn vừa trải nghiệm, TTS được sử dụng để tăng trải nghiệm người dùng và hỗ trợ người khiếm thị/người có khó khăn khi đọc. Ngoài ra, TTS còn có các ứng dụng thực tế sau:
Học ngôn ngữ (ứng dụng học phát âm chuẩn)
Tương tác tự nhiên (chatbot, trợ lý ảo)
Đọc thông báo (ứng dụng sân bay, ứng dụng GPS)
Import QPushButton
from PyQt6.QtWidgets import QMainWindow, QApplication, QMessageBox, QPushButton
Tìm các nút QPushButton
# Khiến tất cả các nút "nói"
all_buttons = self.findChildren(QPushButton)
for button in all_buttons:
button.clicked.connect(lambda _, b=button: self.speak_text(b))
Cài đặt pyttsx3: pip install pyttsx3
Tạo engine trong MainWindow
# Setup engine TTS
self.tts_engine = pyttsx3.init()
Định nghĩa phương thức speak_text
def speak_text(self, button:QPushButton):
# Phương thức text to speech
self.tts_engine.say(button.text())
self.tts_engine.runAndWait()
Xây dựng thêm các tính năng hữu ích cho ứng dụng
Vận dụng thư viện AI vào xây dựng phần mềm
Triển khai phần mềm
Khi đã thiết kế và viết xong phần mềm, bước cuối cùng là bước triển khai phần mềm trên môi trường thực tế. Việc triển khai (deploy) phục vụ nhiều mục đích: thương mại, chia sẻ trực tuyến hay đơn giản là chia sẻ cho người thân và bạn bè.
Phần mềm đã được đóng gói (packaged) sẽ tự động xử lý các package và các thư viện, người dùng sẽ không cần phải tự cài đặt từ đầu và chỉ cần chạy phần mềm ngay khi họ tải về.
Các bước đóng gói phần mềm desktop
Xác định nền tảng sẽ triển khai của ứng dụng
Cài đặt công cụ để đóng gói phần mềm
Đóng gói phần mềm
Triển khai phần mềm
Xác định nền tảng
Vì ứng dụng xây dựng hiện tại đang là ứng dụng desktop nên có thể chọn nền tảng chạy của ứng dụng là Windows, MacOS hoặc Linux.
Cài đặt công cụ đóng gói
Cài đặt thư viện pyinstaller sử dụng terminal: pip install pyinstaller
Đóng gói phần mềm
Trong terminal, tiếp tục chạy câu lệnh
pyinstaller --noconfirm --onefile --windowed --name "CRUD Ranking APP" main.py
Trong đó:
--noconfirm là flag để viết đè lên folder output của ứng dụng đã được đóng gói
--onefile là flag để đóng gói ứng dụng thành một file .exe duy nhất
--windowed là flag chỉ hiển thị cửa sổ của ứng dụng, không hiển thị cửa sổ console
--name là flag đặt lại tên của ứng dụng
main.py là script python để chạy ứng dụng cần đóng gói
Sau khi chạy xong sẽ được 02 folder mới là dist, build và một file .spec
Cấu trúc folder project sẽ như sau:
.
├── main.py
├── CRUD Ranking App.spec
├── build
│ └── app
│ ├── localpycos
│ ├── Analysis-00.toc
│ ├── COLLECT-00.toc
│ ├── EXE-00.toc
│ ├── PKG-00.pkg
│ ├── PKG-00.toc
│ ├── PYZ-00.pyz
│ ├── PYZ-00.toc
│ ├── app
│ ├── app.pkg
│ ├── base_library.zip
│ ├── warn-app.txt
│ └── xref-app.html
└── dist
└── CRUD Ranking App.exe
...
Trong đó:
Folder build là folder pyinstaller tạo ra để đóng gói app. Có thể bỏ qua nội dung của folder này.
Folder dist chứa file mà chúng ta sẽ triển khai. Thường folder này sẽ chứa file .exe để chạy ứng dụng và các thư viện khác để chạy thư viện, nhưng do đã chọn flag --onefile nên sẽ chỉ gồm một file .exe.
Tuy nhiên khi chạy file .exe này sẽ báo lỗi vì không load được các resource và material của app (bao gồm hình ảnh, dữ liệu, icon, ...). Thế nên ta cần copy (các) folder resource của app vào chung folder với file .exe này để chạy.
Cấu trúc folder dist sẽ như sau sau khi copy folder ui và data vào trong:
.
└── dist
├──ui
│ ├──images
│ ├──main_window.ui
│ ├──…..
├── data
│ └──data.json
└── CRUD Ranking App.exe
Khi triển khai phần mềm, ta sẽ sử dụng folder dist này.
Triển khai phần mềm
Sau khi đã có folder chứa phần mềm đã được đóng gói, ta sẽ đặt lại tên folder dist thành folder tên version của ứng dụng (crud-ranking-app_v1.0) để chia sẻ cho bạn bè hoặc tải lên các nền tảng.
Ví dụ: Triển khai lên nền tảng Github
Tạo repository trên github
Push code lên repo
Vào mục Releases
Chọn Draft a new release
Chọn Choose a tag và viết tag tương ứng
Điền vào các mục:
Release title
Release description
Nén folder ứng dụng thành file .zip hoặc .rar và tải lên bằng cách chọn
Chọn Publish release để hoàn thành
Một số công cụ chọn màu sắc phù hợp
AI Color Hunt: Công cụ tự động gợi ý các bảng màu phổ biến hoặc theo chủ đề. Giáo viên giải thích cách học viên có thể nhập từ khóa hoặc chọn các bảng màu có sẵn.
Adobe Color: Công cụ cho phép tạo bảng màu bằng cách tùy chỉnh màu sắc dựa trên các nguyên tắc phối màu như tương phản, bổ sung. Học sinh có thể sử dụng vòng tròn màu để chọn các màu phù hợp.
Coolors: Giáo viên giới thiệu Coolors như một công cụ dễ dùng, giúp học viên nhanh chóng thử nghiệm nhiều bảng màu khác nhau và lưu lại bảng màu yêu thích.
Một vài nguyên tắc phối màu phổ biến
Màu bổ sung (vd: tím và vàng)
Màu tương phản (vd: nền tối với chữ sáng màu)
Màu tương tự (vd: sắc thái xanh dương, xanh lá, xanh ngọc)
Các bước kiểm thử
B1. Tiến hành cài đặt lại chương trình để đảm bảo tính hoạt động.
B2. Xác định lại các giao diện và thành phần cần có của chương trình
B3. Kiểm thử bằng cách kiểm tra màu sắc, các trang, thành phần và đảm bảo từng thành phần giao diện được hiển thị đúng
B4. Xác định lại các chức năng cần có của chương trình
B5. Kiểm thử bằng cách chạy các chức năng, cần kiểm tra kỹ các chức năng CRUD như thêm, xóa, sửa.
B6 (optional). Kiểm thử các trường điền vào cửa sổ thêm/sửa để đảm bảo đúng kiểu dữ liệu