Skip to content

tanbaycu/voiceFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoiceFlow

Ứng dụng web chuyển đổi giọng nói tiếng Anh thành văn bản và dịch sang tiếng Việt, sử dụng Whisper AI và Google Translator.

Tác giả: tanbaycu image image


Tính Năng

  • Nhận dạng giọng nói tiếng Anh với độ chính xác cao (Whisper AI)
  • Dịch tự động sang tiếng Việt (Google Translator)
  • Hỗ trợ nhiều định dạng: MP3, WAV, M4A, MP4, AAC, FLAC, OGG (tối đa 100MB)
  • Đồng bộ âm thanh với văn bản khi phát lại
  • Tải xuống kết quả dưới dạng file TXT
  • Quản lý phiên với URL riêng cho mỗi lần dịch
  • Giao diện responsive, hỗ trợ dark mode
  • Xử lý nhanh với GPU acceleration (tùy chọn)
  • Retry thông minh không cần upload lại

Yêu Cầu Hệ Thống

  • Python 3.10+
  • RAM: Tối thiểu 4GB (khuyến nghị 8GB+)
  • Ổ cứng: 2GB trống cho model
  • GPU NVIDIA với CUDA (tùy chọn, để tăng tốc)

Cài Đặt

  1. Clone repository:
git clone https://github.com/tanbaycu/voiceflow.git
cd voiceflow
  1. Cài đặt dependencies:
pip install -r requirements.txt
  1. Khởi chạy ứng dụng:
python app.py --web
  1. Truy cập: http://127.0.0.1:5000

Sử Dụng

Chế Độ Web

  1. Chọn file âm thanh (nhấn nút hoặc kéo thả)
  2. Hệ thống tự động xử lý và hiển thị kết quả
  3. Nghe lại audio với tính năng highlight từ đang phát
  4. Nhấn "Dịch ngay" để chuyển sang tiếng Việt
  5. Copy hoặc download kết quả

Chế Độ CLI

Xử lý file đơn giản:

python app.py input.mp3

Với tùy chọn nâng cao:

python app.py input.mp3 --model medium --device cuda --out-en english.txt --out-vi vietnamese.txt

Các tùy chọn:

  • --model: Kích thước model (tiny, base, small, medium, large) - mặc định: small
  • --device: Thiết bị xử lý (cpu, cuda) - mặc định: cpu
  • --out-en: File output tiếng Anh
  • --out-vi: File output tiếng Việt
  • --web: Khởi chạy web server

API Endpoints

Web Interface

  • GET / - Giao diện chính
  • GET /<session_id> - Truy cập phiên cụ thể

API

  • POST /upload - Upload và nhận dạng file
  • POST /translate - Dịch văn bản
  • POST /retry - Thử lại xử lý
  • GET /api/session/<session_id> - Lấy thông tin phiên
  • GET /uploads/<filename> - Download file audio
  • GET /outputs/<filename> - Download file văn bản

Cấu Trúc Thư Mục

voiceflow/
├── app.py                 # File chính
├── requirements.txt       # Dependencies
├── README.md             # Tài liệu
├── index.html            # Hướng dẫn (GitHub Pages)
├── templates/
│   └── index.html        # Template web
├── uploads/              # File âm thanh (tự động tạo)
├── outputs/              # File văn bản (tự động tạo)
└── sessions/             # Session data (tự động tạo)

Công Nghệ

  • Backend: Flask 3.0+
  • AI/ML: Whisper AI (faster-whisper), Google Translator (deep-translator)
  • Frontend: HTML5, CSS3, JavaScript, Tailwind CSS, Lucide Icons
  • Processing: PyTorch, NumPy

Cấu Hình

Tùy chỉnh qua biến môi trường:

Biến Mô Tả Mặc Định
WHISPER_MODEL Kích thước model small
MAX_CONTENT_LENGTH_MB Kích thước file tối đa (MB) 100
PORT Cổng server 5000
HOST Địa chỉ host 127.0.0.1

Ví dụ:

export WHISPER_MODEL=medium
export MAX_CONTENT_LENGTH_MB=200
python app.py --web

Mẹo Sử Dụng

image image image image

Tăng tốc độ:

  • Sử dụng GPU với --device cuda
  • Chọn model nhỏ hơn (tiny, base)

Cải thiện độ chính xác:

  • Sử dụng file âm thanh chất lượng cao, ít nhiễu
  • Giọng nói rõ ràng
  • Sử dụng model lớn hơn (medium, large)

Quản lý session:

  • Mỗi session có URL riêng (ví dụ: /abc123)
  • Bookmark URL để quay lại sau
  • Sử dụng "Thử lại" để xử lý lại mà không cần upload lại

Bảo Mật

  • Chạy hoàn toàn local, không gửi dữ liệu ra ngoài
  • Không thu thập dữ liệu người dùng
  • File được lưu cục bộ trên máy
  • Bạn có toàn quyền quản lý và xóa dữ liệu


Đóng Góp

Mọi đóng góp đều được hoan nghênh! Vui lòng tạo issue hoặc pull request trên GitHub.


Liên Hệ


Phát triển bởi tanbaycu

About

voiceFlow, chuẩn hóa mp3 sang text.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published