Kể từ khi tôi đọc về mô hình máy học Whisper của OpenAI, có khả năng chuyển giọng nói thành văn bản vào tháng 9/2022, tôi nhận thấy đây là một công nghệ vô cùng hữu ích trong cuộc sống. Qua thời gian theo dõi và thử nghiệm, tôi đã thành công sử dụng mô hình này với Python trên Google Colab. Nhằm giúp những người không quen thuộc với lập trình cũng có thể sử dụng Whisper, tôi đã viết thư viện python ur_audio_sub và tối giản hóa các câu lệnh cần thiết để chuyển đổi giọng nói thành văn bản. Mô hình Whisper có khả năng nhận diện giọng nói từ nhiều ngôn ngữ khác nhau, với tỉ lệ sai sót khoảng 10% đối với khoảng 15 ngôn ngữ. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo phụ đề cho video trên YouTube và chuyển đổi file ghi âm thành văn bản chỉ với 3 bước đơn giản.
Đối với tôi, Whisper có 3 ứng dụng phổ biến nhất: (1) chuyển nội dung cuộc họp từ video thành văn bản để dễ dàng ghi chú và tìm kiếm thông tin, (2) tạo phụ đề cho video trên YouTube/Tiktok, và (3) chuyển nội dung podcast thành văn bản.
Bài hướng dẫn dưới đây dựa trên thư viện python ur_audio_sub của tôi, bạn có thể tìm thấy nó trên Github để biết thêm thông tin chi tiết. Mô hình Whisper mặc định ở đây là “medium”. Tôi khuyến khích bạn sử dụng Google Colab để tiran dụng sức mạnh của máy ảo Google, cho phép train model nhanh hơn so với máy tính cá nhân. Đặc biệt, bạn có thể truy cập Google Colab thông qua trình duyệt web trên mọi thiết bị, bao gồm cả smartphone.
Nếu bạn thực hiện hướng dẫn này trên máy tính cá nhân, tôi đề xuất sử dụng các mô hình nhẹ hơn như “base” hoặc “small” của Whisper để đạt được sự cân bằng giữa độ chính xác và thời gian xử lý.
I. Chuyển Giọng Nói Thành Văn Bản Trên Google Colab
Bạn có thể xem video demo ngắn dưới đây để hiểu rõ hơn về quá trình chuyển giọng nói thành văn bản trên Google Colab trước khi đọc các bước thực hiện chi tiết bên dưới.
Bước 1: Thiết lập môi trường Python
- Truy cập Demo notebook được đính kèm trong thư viện ur_audio_sub.
- Mở notebook trên Google Colab, đảm bảo sử dụng runtime GPU.
- Chạy nhóm lệnh để cài đặt các thư viện cần thiết.
Bước 2: Chuẩn bị nguồn âm thanh cần chuyển đổi
Video từ Youtube
- Tìm video trên Youtube mà bạn muốn tạo phụ đề, sao chép link vào bộ nhớ tạm.
File âm thanh
- Tải file âm thanh từ máy tính/điện thoại lên Google Colab hoặc kết nối Google Colab với Google Drive và tìm đường dẫn đến file âm thanh trong Drive của bạn. Nhấp chuột phải vào file đó, chọn “Copy path” để sao chép đường dẫn vào bộ nhớ tạm.
- Mình có 2 lời khuyên:
- Bạn nên tải file âm thanh hoặc video lên Google Drive và sử dụng link đến file đó thay vì tải trực tiếp từ Google Colab vì cách này nhanh hơn rất nhiều.
- Chuyển video thành file âm thanh trước khi tạo phụ đề có thể giúp quá trình xử lý nhanh hơn. Bạn có thể sử dụng ứng dụng CapCut trên máy tính miễn phí để thực hiện công việc này một cách dễ dàng. Trong nhiều trường hợp, tôi đã tạo phụ đề cho buổi học kéo dài 2.5 tiếng và việc này thực sự mang lại sự khác biệt, vì khi đó, video có dung lượng lên tới 2GB, việc tải lên và xử lý trên Google Drive sẽ nhanh chóng hơn.
II. Cập Nhật Mới Nhất
Tháng 9/2023
Hiện tại, gói phần mềm ur_audio_sub không thể tạo phụ đề trực tiếp từ Youtube, mà chỉ có thể tạo phụ đề từ file âm thanh đã được tải lên. Lý do là gói phần mềm này phụ thuộc vào pytube, một thư viện mà tôi sử dụng, và hiện vẫn đang gặp lỗi nghiêm trọng chưa được khắc phục. Hi vọng chúng ta sẽ có một giải pháp thay thế sớm nhất có thể. Xin lỗi vì sự bất tiện này.
III. Giới Thiệu OpenAI & Whisper
OpenAI là một công ty nghiên cứu về trí tuệ nhân tạo được tỉ phú Elon Musk thành lập vào năm 2015. Sứ mệnh của họ là đảm bảo rằng trí tuệ nhân tạo mang lại lợi ích cho toàn nhân loại.
Whisper là một mô hình nhận diện giọng nói đa năng được đào tạo trên một tập dữ liệu lớn và đa dạng, giúp thực hiện các tác vụ nhận diện giọng nói và dịch ngôn ngữ.
Whisper có tới 5 mô hình máy học với dung lượng khác nhau từ nhỏ (tiny) đến lớn (large), cho phép người dùng lựa chọn mô hình phù hợp nhằm cân đối tốc độ xử lý và độ chính xác. Tỉ lệ nhận diện sai của Whisper phụ thuộc vào loại ngôn ngữ, bảng dưới đây cho thấy tỉ lệ sai sót của từng loại ngôn ngữ khi sử dụng mô hình lớn nhất (large) của Whisper. Với tiếng Việt, tỉ lệ sai sót là 10.7%, còn với tiếng Anh là 4.5%. Tỉ lệ lỗi thấp nhất là với tiếng Tây Ban Nha, chỉ với 3.5%.
Vậy là tôi đã chia sẻ cho bạn cách sử dụng mô hình máy học Whisper để chuyển giọng nói thành văn bản. Nếu bạn có bất kỳ câu hỏi nào, hãy để lại comment phía dưới bài viết. Nếu bài viết hữu ích, hãy chia sẻ cảm nghĩ của bạn và giới thiệu tới mạng lưới của bạn.