venv\Scripts\activate deactivate pyinstaller --onefile --windowed main.py
VoiceTyping là một ứng dụng máy tính cho phép người dùng nhập văn bản bằng giọng nói tại vị trí con trỏ chuột, sử dụng công nghệ nhận dạng giọng nói của Google Speech Recognition.
Dự án được chia thành hai phần chính:
- Frontend: Giao diện người dùng (GUI)
- Backend:
- Mô-đun nhận dạng giọng nói
- Mô-đun xử lý văn bản
- Mô-đun điều khiển con trỏ và nhập liệu
- Ngôn ngữ lập trình: Python
- GUI Framework: PyQt5
- Nhận dạng giọng nói: SpeechRecognition với Google Speech API
- Điều khiển con trỏ và nhập liệu: PyAutoGUI, pyperclip, keyboard
- Xử lý văn bản: NLTK (Natural Language Toolkit)
- Xử lý âm thanh: PyAudio, pydub (yêu cầu FFmpeg)
VoiceTyping/ │ ├── frontend/ │ ├── main_window.py # Giao diện chính của ứng dụng │ └── test_gui.py # Kiểm thử giao diện người dùng │ ├── backend/ │ ├── recognizer.py # Xử lý nhận dạng giọng nói │ ├── processor.py # Xử lý và định dạng văn bản │ ├── controller.py # Điều khiển con trỏ và nhập liệu │ ├── test_speech_recognition.py # Kiểm thử nhận dạng giọng nói │ └── init.py # File khởi tạo module │ ├── main.py # Điểm khởi đầu của ứng dụng ├── requirements.txt # Danh sách các thư viện cần thiết ├── run.bat # Script tự động cài đặt và chạy ứng dụng ├── README.md # Tài liệu hướng dẫn sử dụng └── .gitignore # Cấu hình Git ignore
-
Frontend:
main_window.py
: Tạo giao diện chính của ứng dụng, bao gồm các nút điều khiển và hiển thị trạng thái.
-
Backend:
recognizer.py
: Xử lý việc nhận dạng giọng nói, kết nối với Google Speech Recognition API.processor.py
: Xử lý và định dạng văn bản nhận được từ nhận dạng giọng nói.controller.py
: Điều khiển con trỏ chuột và thực hiện việc nhập liệu tại vị trí con trỏ.
-
File chính:
main.py
: Điểm khởi đầu của ứng dụng, kết nối frontend và backend.requirements.txt
: Liệt kê các thư viện Python cần thiết cho dự án.run.bat
: Script tự động cài đặt môi trường và chạy ứng dụng.README.md
: Cung cấp thông tin về dự án và hướng dẫn sử dụng.
-
Tải và cài đặt Python:
- Tải Python (khuyến nghị phiên bản 3.8 trở lên)
- Khi cài đặt, đảm bảo chọn "Add Python to PATH"
-
Tải và giải nén dự án:
- Tải về và giải nén dự án VoiceTyping vào thư mục tùy chọn
-
Chạy file run.bat:
- Nhấp đúp vào file
run.bat
trong thư mục dự án - Script sẽ tự động tạo môi trường ảo, cài đặt các thư viện cần thiết và khởi động ứng dụng
- Nhấp đúp vào file
-
Tạo và kích hoạt môi trường ảo:
python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # Linux/Mac
-
Cài đặt các thư viện cần thiết:
pip install -r requirements.txt
-
Chạy ứng dụng:
python main.py
FFmpeg là một công cụ xử lý âm thanh và video cần thiết cho thư viện pydub để xử lý âm thanh từ microphone.
- Cài đặt Chocolatey (nếu chưa có)
- Mở Command Prompt hoặc PowerShell với quyền Administrator
- Chạy lệnh:
choco install ffmpeg
-
Tải bản FFmpeg dành cho Windows từ trang chính thức hoặc từ gyan.dev (khuyến nghị tải bản "essentials")
-
Giải nén tệp đã tải vào thư mục, ví dụ:
C:\ffmpeg
-
Thêm thư mục bin vào PATH hệ thống:
- Mở Control Panel > System > Advanced System Settings > Environment Variables
- Trong phần "System Variables", tìm biến "Path", nhấp vào Edit
- Nhấp vào New và thêm đường dẫn đến thư mục bin, ví dụ:
C:\ffmpeg\bin
- Nhấp OK để lưu thay đổi
-
Kiểm tra cài đặt:
- Mở Command Prompt và chạy lệnh:
ffmpeg -version
- Nếu hiện thông tin phiên bản FFmpeg, cài đặt đã thành công
- Mở Command Prompt và chạy lệnh:
- Tải bản FFmpeg như hướng dẫn ở Cách 2
- Tạo thư mục
C:\ffmpeg\bin
- Giải nén và đặt các file thực thi (
ffmpeg.exe
,ffprobe.exe
,ffplay.exe
) vào thư mục bin - Ứng dụng VoiceTyping sẽ tự động tìm FFmpeg tại đường dẫn này
PyAudio đôi khi gặp vấn đề khi cài đặt thông qua pip. Nếu gặp lỗi:
- Tải PyAudio phù hợp với phiên bản Python và hệ điều hành từ trang này
- Cài đặt thủ công:
pip install [đường_dẫn_đến_file_whl_đã_tải]
- Sau khi khởi động, chương trình sẽ hiển thị nút "Start"
- Nhấn nút "Start" hoặc giữ phím Ctrl để bắt đầu nhận dạng giọng nói
- Nói vào microphone, văn bản sẽ được nhận dạng và nhập vào vị trí con trỏ hiện tại
- Nhấn nút "Stop" hoặc thả phím Ctrl để dừng nhận dạng giọng nói
- Không tìm thấy FFmpeg: Đảm bảo FFmpeg đã được cài đặt và thêm vào PATH hệ thống
- Không tìm thấy microphone: Kiểm tra microphone đã được kết nối và cài đặt đúng cách
- Lỗi nhận dạng giọng nói: Đảm bảo kết nối Internet ổn định (Google Speech API yêu cầu kết nối Internet)
- Văn bản không xuất hiện tại vị trí con trỏ: Kiểm tra ứng dụng đích có cho phép dán văn bản không
Chúng tôi rất hoan nghênh sự đóng góp từ cộng đồng. Để đóng góp cho dự án:
- Fork repository
- Tạo nhánh mới (
git checkout -b feature/AmazingFeature
) - Commit thay đổi của bạn (
git commit -m 'Add some AmazingFeature'
) - Push lên nhánh (
git push origin feature/AmazingFeature
) - Tạo Pull Request
Dự án này được phân phối dưới giấy phép MIT. Xem file LICENSE
để biết thêm thông tin.