Kể từ khi đọc được thông tin về mô hình máy học Whisper giúp chuyển giọng nói thành văn bản bởi OpenAI vào tháng 9/2022 tôi nhận thấy đây sẽ là một công nghệ rất thiết thực trong cuộc sống. Sau một thời gian theo dõi và thử nghiệm, tôi cũng đã sử dụng thành cô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ết sức các câu lệnh cần thiết giúp chuyển giọng nói thành văn bản. Whisper giúp nhận diện giọng nói từ nhiều ngôn ngữ khác nhau trong đó ~15 ngôn ngữ có tỉ lệ sai số 10%. Trong tutorial này, tôi sẽ hướng dẫn các bạn tạo phụ đề cho youtube video và chuyển đổi file ghi âm thành văn bản chỉ với 3 bước cực kỳ đơn giản.
Đối với tôi, đây là một công cụ rất hữu ích, có thể kể ra 3 ứng dụng thường gặp nhất là (1.) chuyển nội dung cuộc họp từ video thành văn bản để ghi chú và tìm kiếm thông tin dễ dàng, (2.) là tạo phụ đề cho video Youtube / Tiktok (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 có trên Github, các bạn có thể tham khảo thêm thông tin tại đây. Mô hình whisper mặc định ở đây là “medium”, tutorial này khuyến khích bạn sử dụng Google Colab, giúp các bạn tận dụng sức mạnh của máy ảo Google trong việc train model nhanh chóng vượt trội 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ị kể cả với smartphone.
Nếu bạn thực hiện tutorial này với máy tính cá nhân thì nên sử dụng model nhẹ hơn như “base” hoặc “small” của whisper để cân bằng độ chính xác với thời gian thực thi.
Nội dung chính
I. Chuyển giọng nói thành văn bản trên Google Colab
Bạn có thể xem trực tiếp video demo ngắn này để dễ hình dung trước khi đọc tóm tắt các công đoạn thực hiện như 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 > Hình minh hoạ H.1
- Mở notebook trên Google Colab. Đảm bảo Google Colab được chạy với GPU runtime. > Hình minh hoạ H.2
- Chạy nhóm dòng lệnh giúp cài đặt các thư viện cần thiết > Hình minh hoạ H.3
Bước 2: Chuẩn bị nguồn âm thanh cần chuyển đổi
Video từ Youtube
Tìm video bạn cần tạo phụ đề từ Youtube, copy 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 bộ nhớ tạm Google Colab hoặc bạn có thể kết nối Google Colab với Google Drive và tìm đường dẫn file âm thanh lưu trữ trong Drive của mình. Nhấp chuột phải vào file, chọn Copy path để chép được dẫn file vào bộ nhớ tạm.
Mình có 2 lời khuyên sau:
- Bạn nên tải file âm thanh hoặc video lên Google Drive sau đó dẫn link thay vì upload trực tiếp từ Google Colab vì cách này có tốc độ rất chậm.
- Chuyển đổi video thành file âm thanh trước khi tạo phụ đề có thể giúp quá trình xử lý nhanh hơn, upload file cũng nhanh chóng. Bạn có thể sử dụng ứng dụng CapCut có trên máy tính hoàn toàn miễn phí để làm việc này rất đơn giản. Trong nhiều trường hợp mình tạo phụ đề cho cả buổi học dài 2.5 tiếng thì việc này thể hiện khác biệt rõ ràng vì khi đó video ghi hình có dung lượng lên tới 2GB, rõ ràng là tốn bộ nhớ Google Drive và xử lý cũng rất chậm.
Bước 3: Chuyển giọng nói thành văn bản
Youtube video
Paste đường link của video vào hàm ytSub('https://www.youtube.com/shorts/o3qURBllpGM')
, chạy dòng lệnh này và chờ trong giây lát. Sau khi chạy xong, file phụ đề của bạn sẽ hiển thị ở mục File Browser, bạn có thể tải xuống sử dụng.
File âm thanh
Paste đường dẫn file âm thanh vào hàm subGen_path('/content/mary.mp3')
và chạy dòng lệnh này. Trong ví dụ này /content/mary.mp3
là đường dẫn file âm thanh tôi muốn chuyển đổi thành văn bản. Chờ câu lệnh thực hiện xong, bạn sẽ tìm thấy phụ đề của mình ở mục File Browser.
Bạn hãy dành chút thời gian xem video hướng dẫn ở trên để hình dung các bước thực hiện một cách trực quan nhất nhé.
II. Cập nhật mới nhất
Tháng 9/2023
Gói phần mềm ur_audio_sub hiện tại 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 vì gói phần mềm phụ thuộc pytube có sử dụng cho phần mềm này gặp lỗi nghiêm trọng vẫn chưa được xử lý xong. Hy vọng trong thời gian sớm nhất chúng ta sẽ có giải pháp thay thế. Mong bạn thông cảm.
III. Giới thiệu OpenAI & Whisper
OpenAi là công ty nghiên cứu về lĩnh vực trí tuệ nhân tạo được tỉ phú Elon Musk thành lập năm 2015. Sứ mệnh của họ là đảm bảo trí tuệ nhân tạo mang lại lợi ích cho toàn nhân loại.
Whisper là mô hình nhận diện giọng nói đa năng được đào tạo trên 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 đa 5 mô hình máy học với dung lượng khác nhau từ bé (tiny) đến lớn (large), cho phép người dung lựa chọn mô hình tối ưu nhằm cân đối tốc độ xử lý với độ 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 thể hiện thống kê tỉ lệ sai 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ệ này là 10.7% còn đối với tiếng Anh là 4.5%. Tỉ lệ lỗi thấp nhất với tiếng Tây Ban Nha, chỉ với 3.5%.
Như vậy là tôi đã hướng dẫn xong các bạn thực hiện chuyển giọng nói thành văn bản sử dụng mô hình máy học whisper. 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, bạn hãy chia sẻ cảm nghĩ của bạn và giới thiệu tới network của mình.