AI Hunter
Member
Speech-to-Text miễn phí: Dùng OpenAI Whisper (Local) để làm tool gỡ băng ghi âm tự động
Bạn vừa kết thúc cuộc họp kéo dài 2 tiếng. Sếp yêu cầu: "Em làm biên bản cuộc họp (Meeting Minutes) gửi anh trước 5h chiều nhé."
Bạn nhìn file ghi âm `họp_chiến_lược.mp3` nặng 100MB và thở dài. Ngồi nghe rồi gõ lại từng chữ là cực hình.
Đừng làm thủ công nữa. Hãy để AI làm.
OpenAI Whisper là mô hình nhận dạng giọng nói (ASR) mạnh mẽ nhất hiện nay. Nó nghe được tiếng Việt (kể cả giọng vùng miền, giọng ngọng), tự động thêm dấu câu, và chạy hoàn toàn Offline.
Bước 1: Cài FFmpeg (Bắt buộc)
* Windows: Tải từ trang chủ hoặc dùng lệnh `winget install ffmpeg`.
* Mac: `brew install ffmpeg`.
* Linux: `sudo apt install ffmpeg`.
Bước 2: Cài thư viện Python
Bạn vừa kết thúc cuộc họp kéo dài 2 tiếng. Sếp yêu cầu: "Em làm biên bản cuộc họp (Meeting Minutes) gửi anh trước 5h chiều nhé."
Bạn nhìn file ghi âm `họp_chiến_lược.mp3` nặng 100MB và thở dài. Ngồi nghe rồi gõ lại từng chữ là cực hình.
Đừng làm thủ công nữa. Hãy để AI làm.
OpenAI Whisper là mô hình nhận dạng giọng nói (ASR) mạnh mẽ nhất hiện nay. Nó nghe được tiếng Việt (kể cả giọng vùng miền, giọng ngọng), tự động thêm dấu câu, và chạy hoàn toàn Offline.
1. Tại sao lại là Whisper?
- Miễn phí 100%: Không tốn tiền API như Google Speech-to-Text.
- Bảo mật tuyệt đối: Dữ liệu âm thanh không bao giờ rời khỏi máy tính của bạn.
- Đa ngôn ngữ: Hỗ trợ 99 ngôn ngữ, tự động dịch từ tiếng Anh sang tiếng Việt nếu cần.
2. Cài đặt
Bạn cần cài thư viện Whisper và công cụ xử lý âm thanh FFmpeg.Bước 1: Cài FFmpeg (Bắt buộc)
* Windows: Tải từ trang chủ hoặc dùng lệnh `winget install ffmpeg`.
* Mac: `brew install ffmpeg`.
* Linux: `sudo apt install ffmpeg`.
Bước 2: Cài thư viện Python
Bash:
pip install openai-whisper
3. Code Tool "Gỡ băng" cơ bản
Tạo file `transcribe.py`. Chỉ cần 5 dòng code là bạn có một tool xịn.
Python:
import whisper
# 1. Chọn Model
# Các loại model: tiny, base, small, medium, large
# - 'base': Nhanh, nhẹ, độ chính xác khá.
# - 'large': Chậm, nặng (cần 10GB VRAM), nhưng tiếng Việt cực chuẩn.
print("⏳ Đang tải model...")
model = whisper.load_model("medium") # Khuyên dùng medium cho tiếng Việt
# 2. Đường dẫn file ghi âm
audio_file = "meeting.mp3"
# 3. Bắt đầu gỡ băng
print("🎧 Đang nghe và gõ lại văn bản...")
result = model.transcribe(audio_file)
# 4. Xuất kết quả
print("\n--- KẾT QUẢ ---")
print(result["text"])
# 5. Lưu ra file text
with open("bien_ban.txt", "w", encoding="utf-8") as f:
f.write(result["text"])
print("✅ Đã lưu vào bien_ban.txt")
4. Nâng cao: Tạo phụ đề phim (SRT)
Whisper không chỉ trả về văn bản thô, nó trả về cả Timestamp (thời gian bắt đầu/kết thúc của từng câu). Chúng ta có thể dùng nó để làm sub phim tự động.
Python:
from datetime import timedelta
def format_timestamp(seconds: float):
td = timedelta(seconds=seconds)
# Format chuẩn SRT: 00:00:20,000
# (Code xử lý string format đơn giản hóa cho ví dụ)
return str(td)
# Duyệt qua các phân đoạn (Segments)
with open("subtitle.srt", "w", encoding="utf-8") as f:
for i, segment in enumerate(result["segments"]):
start = format_timestamp(segment["start"])
end = format_timestamp(segment["end"])
text = segment["text"].strip()
# Ghi theo chuẩn SRT
f.write(f"{i+1}\n")
f.write(f"{start} --> {end}\n")
f.write(f"{text}\n\n")
print("✅ Đã tạo file phụ đề subtitle.srt")
5. Tối ưu tốc độ (Faster-Whisper)
Nếu bạn chạy trên CPU hoặc thấy bản gốc quá chậm, hãy dùng thư viện `faster-whisper`. Nó sử dụng CTranslate2 để tăng tốc lên gấp 4 lần.
Bash:
pip install faster-whisper
Python:
from faster_whisper import WhisperModel
model_size = "medium"
# device="cpu" nếu máy không có card rời
# compute_type="int8" để giảm bộ nhớ RAM
model = WhisperModel(model_size, device="cuda", compute_type="float16")
segments, info = model.transcribe("meeting.mp3", beam_size=5)
print(f"Ngôn ngữ phát hiện: {info.language} ({info.language_probability:.0%})")
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")