Whisper được OpenAI giới thiệu vào tháng 9 năm 2022, như một phần trong nỗ lực phát triển công nghệ nhận dạng giọng nói tiên tiến. Ngay từ khi ra mắt, Whisper đã thu hút sự chú ý nhờ khả năng nhận diện đa ngôn ngữ và xử lý các âm thanh có chất lượng thấp hoặc nhiều tiếng ồn.
1. Whisper là gì?
Whisper là công nghệ chuyển giọng nói thành văn bản (speech-to-text) do OpenAI phát triển, giúp nhận diện chính xác nhiều ngôn ngữ và giọng nói khác nhau. Được huấn luyện từ một lượng lớn dữ liệu, Whisper có thể xử lý nhiều tác vụ như dịch thuật, phân tích âm thanh và chuyển lời nói thành văn bản một cách tự nhiên. Nhờ đó, nó hỗ trợ rất tốt trong việc tạo phụ đề, trợ lý ảo, và nhiều ứng dụng liên quan đến ngôn ngữ.
2. Whisper hoạt động như thế nào?
Whisper được huấn luyện trên một tập dữ liệu rất lớn, gồm 680.000 giờ âm thanh có giám sát, tập dữ liệu này bao gồm nhiều nguồn khác nhau từ internet và tài nguyên học thuật, với các điều kiện âm thanh đa dạng.
Whisper sử dụng mô hình "sequence-to-sequence", khi nhận vào giọng nói, Whisper sẽ mã hóa âm thanh thành các đoạn dữ liệu (vector), sau đó sử dụng kiến trúc Transformer để giải mã thành văn bản.
Điều đặc biệt là nó có thể xử lý được các âm thanh có chất lượng không tốt, ví dụ như giọng nói từ một cuộc gọi điện thoại kém chất lượng hoặc âm thanh bị nhiễu. Điều này giúp Whisper vượt trội so với nhiều công nghệ khác khi làm việc trong các môi trường âm thanh khó có thể nghe rõ.
3. Whisper có thể làm được những gì?
3.1 Nhận diện giọng nói đa ngôn ngữ
Whisper có khả năng nhận diện giọng nói từ nhiều ngôn ngữ khác nhau, bao gồm cả những ngôn ngữ ít phổ biến.
Whisper có thể nhận diện tiếng Nhật, tiếng Đức, tiếng Tây Ban Nha, và nhiều ngôn ngữ khác. Khi người dùng nói tiếng Tây Ban Nha, Whisper sẽ chuyển đổi lời nói thành văn bản tiếng Tây Ban Nha mà không cần phải cài đặt cấu hình phức tạp.
3.2 Chuyển giọng nói thành văn bản trong điều kiện không thuận lợi
Whisper có khả năng xử lý giọng nói ngay cả trong các môi trường có nhiều tiếng ồn hoặc khi chất lượng âm thanh không cao.
Trong một cuộc họp trực tuyến với kết nối internet không ổn định, âm thanh có thể bị rè hoặc gián đoạn. Whisper vẫn có thể hiểu và chuyển đổi nội dung giọng nói thành văn bản chính xác.
3.3 Dịch thuật trực tiếp giữa các ngôn ngữ
Whisper có thể dịch trực tiếp từ ngôn ngữ này sang ngôn ngữ khác khi chuyển đổi giọng nói thành văn bản.
Một người nói tiếng Pháp có thể nói câu “Comment ça va?”, và Whisper sẽ không chỉ nhận diện câu đó, mà còn có thể dịch trực tiếp thành văn bản tiếng Anh “How are you?”
3.4 Hỗ trợ tạo phụ đề tự động
Whisper có thể tự động tạo phụ đề cho video bằng nhiều ngôn ngữ khác nhau.
Khi một video YouTube có người nói tiếng Anh, Whisper có thể tự động tạo phụ đề tiếng Anh chính xác hoặc thậm chí dịch phụ đề sang các ngôn ngữ khác, như tiếng Tây Ban Nha hoặc tiếng Pháp.
3.5 Phân tích ngữ nghĩa từ giọng nói
Whisper có khả năng phân tích ngữ cảnh và ý nghĩa của giọng nói, giúp các ứng dụng AI hiểu sâu hơn về nội dung cuộc hội thoại.
Ví dụ: Trong một cuộc gọi chăm sóc khách hàng, Whisper không chỉ nhận diện các từ ngữ khách hàng sử dụng, mà còn có thể giúp hệ thống hiểu được ý định hoặc cảm xúc của họ dựa trên giọng điệu và ngữ cảnh của cuộc nói chuyện.
3.6 Xử lý giọng nói địa phương hoặc giọng nói không chuẩn
Whisper có thể nhận diện các giọng nói địa phương hoặc các giọng nói không chuẩn xác trong ngôn ngữ.
Một người nói tiếng Anh với giọng Anh-Mỹ, Anh-Anh, hay thậm chí các giọng vùng miền đều được Whisper nhận diện và xử lý một cách hiệu quả.
4. Những ứng dụng tiềm năng của Whisper
- Tạo phụ đề tự động cho video: Whisper có thể được sử dụng để tự động tạo phụ đề cho các video trên YouTube, phim ảnh, và các chương trình truyền hình. Điều này giúp nội dung trở nên dễ tiếp cận hơn đối với những người không nói cùng ngôn ngữ với nội dung.
- Trợ lý ảo điều khiển bằng giọng nói: Whisper có thể tích hợp vào các trợ lý ảo như Siri, Google Assistant để tăng cường khả năng nhận diện giọng nói, hiểu các ngữ điệu và giọng nói trong môi trường bị nhiễu.
- Ghi âm và chuyển đổi cuộc họp thành văn bản: Sử dụng Whisper để tự động ghi lại và chuyển đổi nội dung các cuộc họp (Zoom, Google Meet, ...), hội thảo thành văn bản, giúp lưu trữ và tìm kiếm dễ dàng hơn.
- Hệ thống dịch thuật trực tiếp: Whisper có thể được sử dụng để xây dựng các hệ thống dịch thuật giọng nói theo thời gian thực giữa các ngôn ngữ. VD: Các hội thảo quốc tế, hoặc giao tiếp với khách hàng đa ngôn ngữ mà không cần phiên dịch viên, các cuộc phát sóng trực tiếp.
- Ứng dụng học ngôn ngữ: Sử dụng Whisper để giúp người học ngôn ngữ cải thiện phát âm, từ vựng, và khả năng giao tiếp. VD: Một ứng dụng học ngoại ngữ có thể lắng nghe và chấm điểm phát âm của người học, hoặc thực hiện các bài tập giao tiếp bằng cách nhận diện giọng nói và phản hồi lại.
- Công cụ phân tích dữ liệu âm thanh: Whisper có thể dùng trong các công cụ phân tích âm thanh để phát hiện và phân tích các từ khóa trong các cuộc hội thoại, cuộc gọi dịch vụ khách hàng hoặc nội dung âm thanh khác. VD: Một công cụ giúp các doanh nghiệp phân tích cuộc gọi dịch vụ khách hàng, phát hiện các từ khóa và xu hướng để cải thiện chất lượng dịch vụ.
5. Hướng dẫn tạo Subtitle bằng Whisper
Mình sẽ hướng dẫn các bạn tạo phụ đề tiếng Anh từ video tiếng Việt sử dụng model medium
(các mô hình lớn hơn nữa thì máy mình chịu thua), Whisper hỗ trợ 57 ngôn ngữ trong các model cao cấp hơn như large và turbo, nên các bạn muốn tạo file subtitle tiếng Việt có thể sử dụng 2 model này.
Ngoài ra bạn cũng có thể cân nhắc sử dụng bản trả phí qua API mà Open AI cung cấp với mức giá $0.006 mỗi phút âm thanh, được làm tròn đến từng giây, mô hình trả phí này sẽ sử dụng tài nguyên của Open AI (GPU, ...), luôn luôn cập nhật các công nghệ mới nhất và quyền lợi kết nối với đội hỗ trợ của họ.
Mình đã test trên 1 clip giới thiệu về Iphone với độ dài 9 phút bằng Google Colab, và mất 50 phút để tạo xong file phụ đề với model medium
. Về phần kết quả mình thấy chưa được ưng ý lắm nhưng hoàn toàn hợp lý, mô hình turbo
hay large
sẽ cho bạn kết quả chính xác hơn.
Bước 1: Cài đặt các thư viện cần thiết
pip install git+https://github.com/openai/whisper.git
pip install moviepy pysrt
Bước 2: Tạo file phụ đề
# Code được generate bằng ChatGPT
import whisper
import moviepy.editor as mp
import pysrt
# Bước 1: Trích xuất âm thanh từ video
def extract_audio(video_file, audio_file):
video = mp.VideoFileClip(video_file)
video.audio.write_audiofile(audio_file)
# Bước 2: Chuyển giọng nói tiếng Việt thành phụ đề tiếng Anh
def transcribe_audio_to_english(audio_file):
# Tải mô hình Whisper (dùng mô hình đa ngôn ngữ)
model = whisper.load_model("medium")
# Chuyển đổi giọng nói tiếng Việt thành văn bản tiếng Anh
result = model.transcribe(audio_file, task="translate")
return result
# Bước 3: Tạo file SRT từ kết quả chuyển đổi
def create_srt(segments, output_srt):
subs = pysrt.SubRipFile()
for i, segment in enumerate(segments):
start_time = segment['start']
end_time = segment['end']
text = segment['text']
# Tạo thời gian bắt đầu và kết thúc
start_srt = pysrt.SubRipTime(seconds=start_time)
end_srt = pysrt.SubRipTime(seconds=end_time)
# Tạo đoạn phụ đề
sub = pysrt.SubRipItem(index=i + 1, start=start_srt, end=end_srt, text=text)
subs.append(sub)
# Lưu thành file SRT
# Gọi hàm để tạo file SRT cho video
video_file_path = "Test_Clip.mp4" # Đường dẫn tới video đã tải xuống
output_srt_path = "Test_Clip.srt" # Đường dẫn để lưu file SRT
generate_srt_for_video(video_file_path, output_srt_path)
6. Kết luận
Whisper của OpenAI là một hệ thống chuyển giọng nói thành văn bản tiên tiến, hỗ trợ nhiều ngôn ngữ và có khả năng xử lý âm thanh trong các môi trường phức tạp. Hãy follow 200Lab chúng mình để cập nhật các kiến thức công nghệ mới mỗi ngày nhé.
Các bài viết liên quan:
Bài viết liên quan
Apple lên tiếng về AI: Chúng ta có đang đánh giá quá cao Trí tuệ của nó?
Nov 21, 2024 • 8 min read
Cursor AI là gì? Hướng dẫn Sử dụng Cursor AI cơ bản
Sep 16, 2024 • 13 min read
IDE là gì? Những công cụ IDE phổ biến nhất hiện nay
Aug 22, 2024 • 11 min read
Cookies là gì? Cookies được sử dụng như thế nào?
Aug 12, 2024 • 9 min read
SDLC là gì? Các mô hình Software Development Life Cycle phổ biến
Jul 13, 2024 • 27 min read
System Design là gì? Tại sao Thiết kế hệ thống lại quan trọng với Developer?
Jun 17, 2024 • 10 min read