



















Preview text:
ĐẠI HỌC BÁCH KHOA HÀ NỘI ĐỒÁNTỐTNGHIỆP
Hệ thống lồng tiếng tự động cho tiếng Việt NGUYỄN KHẮC DŨNG
dung.nk200100@sis.hust.edu.vn Ngành Kỹ thuật máy tính
Giảng viên hướng dẫn: TS. Trần Hoàng Hải Chữ kí GVHD Khoa: Kỹ thuật máy tính Trường:
Công nghệ thông tin và Truyền thông HÀ NỘI, 07/2024 LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn các thầy cô của Đại học Bách Khoa Hà Nội, đặc
biệt là các thầy cô của Trường Công nghệ Thông tin và Truyền thông, những người đã
dạy dỗ và truyền đạt cho em những kiến thức quý báu. Những kiến thức này đã làm nền
tảng vững chắc cho em đạt được những thành tựu đáng kể cho đến ngày hôm nay. Trong
số đó, em muốn gửi lời cảm ơn đặc biệt tới TS. Trần Hoàng Hải và TS. Nguyễn Thị Thu
Trang, hai thầy cô đã tận tâm hướng dẫn và giúp đỡ em trong suốt quá trình thực hiện
đồ án. Sự chỉ dẫn và hỗ trợ nhiệt tình của cô đã mang lại cho em không chỉ những kiến
thức chuyên sâu mà còn cả tinh thần làm việc tích cực và chuyên nghiệp, giúp em tự tin
bước đi trên con đường sự nghiệp sắp tới.
Tiếp theo, em xin bày tỏ lòng biết ơn sâu sắc đến các anh chị tại công ty Vbee, bao
gồm anh Phạm Quang Minh, anh Nguyễn Xuân Thành, anh Lưu Đức Thành, anh Trần Đức
Hải, chị Trần Thị Thanh Duyên và chị Nguyễn Thị Mừng. Sự đồng hành và hỗ trợ của các
anh chị trong suốt quá trình thực tập và làm đồ án đã giúp em học hỏi được rất nhiều
kinh nghiệm thực tế. Cảm ơn các anh chị đã luôn tạo điều kiện cho em học tập, giúp đỡ
em về kiến thức chuyên môn và động viên tinh thần, để em có thể hoàn thành đồ án tốt
nghiệp một cách tốt nhất.
Cuối cùng, em vô cùng biết ơn và trân trọng sự hỗ trợ từ gia đình, những người đã
luôn là chỗ dựa vững chắc cho em trong suốt những năm tháng học tập đầy thách thức.
Sự động viên, khích lệ và tình yêu thương từ gia đình đã tiếp thêm sức mạnh cho em
vượt qua mọi khó khăn, để hoàn thành tốt nhiệm vụ học tập.
Vì thiếu kinh nghiệm làm việc thực tế cũng như còn hạn chế về kiến thức, trong quá
trình xây dựng và hoàn thiện báo cáo tốt nghiệp chắc chắn không tránh khỏi những thiếu
sót. Em rất mong nhận được những nhận xét, góp ý từ các thầy cô và bạn đọc để em có
thể hoàn thiện hơn nữa.
Một lần nữa, em xin chân thành cảm ơn! LỜICAMKẾT
Họ và tên sinh viên: Nguyễn Khắc Dũng Mã số sinh viên: 20200100
Điện thoại liên lạc: (+84) 832332102
Email: dung.nk200100@sis.hust.edu.vn Lớp: KTMT.01 - K65
Chương trình đào tạo: Kỹ thuật máy tính
Tôi – Nguyễn Khắc Dũng – cam kết Đồ án Tốt nghiệp (ĐATN) là công trình nghiên cứu
của bản thân tôi dưới sự hướng dẫn của TS. Trần Hoàng Hải. Các kết quả nêu trong ĐATN
là trung thực, là thành quả của riêng tôi, không sao chép theo bất kỳ công trình nào khác.
Tất cả những tham khảo trong ĐATN – bao gồm hình ảnh, bảng biểu, số liệu, và các câu
từ trích dẫn – đều được ghi rõ ràng và đầy đủ nguồn gốc trong danh mục tài liệu tham
khảo. Tôi xin hoàn toàn chịu trách nhiệm với dù chỉ một sao chép vi phạm quy chế của nhà trường.
Hà Nội, ngày 01 tháng 07 năm 2024 Tác giả ĐATN Nguyễn Khắc Dũng
TÓM TẮT NỘI DUNG ĐỒ ÁN
Ngày nay, với sự phát triển của truyền thông, nhu cầu lồng tiếng cho các sản phẩm
phim ảnh, video, và quảng cáo,... ngày càng tăng. Lồng tiếng truyền thống bằng con
người đòi hỏi rất nhiều công sức, thời gian và chi phí. Điều này đã dẫn tới sự ra đời của
các hệ thống lồng tiếng tự động, nơi mà công nghệ trí tuệ nhân tạo có thể tự động hoá
các bước trong quy trình cũ với chi phí rẻ hơn và thời gian ngắn hơn. Tuy nhiên, các hệ
thống hiện có chưa hỗ trợ tiếng Việt một cách đầy đủ, hiệu quả khiến cho các nhà sản
xuất nội dung số chưa thể giảm tải chi phí sản xuất và đẩy nhanh thời gian phát hành.
Chính vì vậy, mục tiêu của đồ án là xây dựng một hệ thống lồng tiếng tự động cho tiếng
Việt, giúp tối ưu thời gian và chi phí trong việc tạo ra các sản phẩm chất lượng, đáp ứng
nhu cầu của thị trường truyền thông.
Để xây dựng một hệ thống lồng tiếng tự động cho tiếng Việt, đồ án đề xuất một quy
trình tạo phụ đề tự động từ âm thanh và giải pháp chuyển phụ đề thành giọng nói lồng
tiếng. Quy trình và giải pháp này được thiết kế tổng quát, không phụ thuộc vào bất kỳ
dịch vụ cung cấp công nghệ cụ thể nào. Trong quy trình tạo phụ đề tự động, công nghệ
nhận diện giọng nói tự động sẽ được sử dụng để chuyển đổi âm thanh thành văn bản.
Văn bản nhận diện được sau đó sẽ trải qua các bước xử lý như dịch thuật, cắt ghép và
chỉnh sửa để tạo ra các câu phụ đề hoàn chỉnh, khớp chính xác với thời gian xuất hiện
trong video. Tác giả đã tiến hành khảo sát và đánh giá so sánh giữa các dịch vụ nhận
dạng giọng nói tự động, từ đó lựa chọn dịch vụ phù hợp nhất với nhu cầu cụ thể. Để
chuyển phụ đề thành giọng nói lồng tiếng, công nghệ chuyển văn bản thành giọng nói
cùng các bước tiền xử lý và điều chỉnh được đề xuất và sử dụng để giọng nói được tạo
ra khớp chính xác với thời gian hiển thị của phụ đề.
Sau khi đề xuất quy trình và giải pháp tổng quan, tác giả đã phát triển và triển khai hệ
thống trong môi trường của Vbee JSC. Hệ thống này được xây dựng bằng các công nghệ
tiên tiến như NodeJS, MongoDB, Kafka, và Redis cho backend; ReactJS cho giao diện
người dùng; và Docker cho việc triển khai. Hiện tại, hệ thống được triển khai tại địa chỉ
https://studio.vbee.vn/dubbing thu hút trung bình hơn 29 người dùng mỗi ngày và xử lý
khoảng 240 yêu cầu chuyển đổi hàng ngày. i MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI......................................................... 1
1.1 Đặt vấn đề............................................................................................ 1
1.2 Mục tiêu và phạm vi đề tài..................................................................... 2
1.3 Định hướng giải pháp............................................................................ 2
1.4 Bố cục đồ án ........................................................................................ 3
CHƯƠNG 2. GIẢI PHÁP CHO HỆ THỐNG LỒNG TIẾNG TỰ ĐỘNG. 5
2.1 Khảo sát hiện trạng............................................................................... 5
2.1.1 Nhu cầu thực tiễn....................................................................... 5
2.1.2 Đánh giá các công cụ tương tự..................................................... 6
2.2 Giải pháp chung cho hệ thống lồng tiếng tự động..................................... 6
2.3 Giải pháp tạo phụ đề từ giọng nói........................................................... 7
2.3.1 Vấn đề....................................................................................... 7
2.3.2 Giải pháp .................................................................................. 9
2.3.3 Đánh giá và lựa chọn dịch vụ ASR .............................................. 12
2.3.4 Hậu xử lý kết quả ASR bằng LLM............................................... 15
2.4 Giải pháp dịch phụ đề sang ngôn ngữ mới............................................... 18
2.4.1 Vấn đề....................................................................................... 18
2.4.2 Giải pháp .................................................................................. 18
2.4.3 Tiền xử lý nội dung .................................................................... 20
2.4.4 Đánh giá và lựa chọn dịch vụ dịch ngôn ngữ................................. 22
2.5 Giải pháp chuyển phụ đề thành giọng nói lồng tiếng ................................ 24
2.5.1 Vấn đề....................................................................................... 24
2.5.2 Giải pháp .................................................................................. 25
CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.......................... 32
3.1 Khảo sát yêu cầu................................................................................... 32
3.2 Phân tích yêu cầu.................................................................................. 34
3.2.1 Tổng quan chức năng.................................................................. 34
3.2.2 Đặc tả chức năng........................................................................ 37
3.2.3 Yêu cầu phi chức năng................................................................ 43
3.3 Thiết kế kiến trúc.................................................................................. 43
3.3.1 Kiến trúc Microservices.............................................................. 43
3.3.2 Kiến trúc tổng quan của hệ thống ................................................ 44
3.3.3 Kiến trúc Frontend..................................................................... 47
3.3.4 Kiến trúc Backend...................................................................... 48
3.4 Thiết kế chi tiết hệ thống....................................................................... 50
3.4.1 Frontend.................................................................................... 50
3.4.2 Backend.................................................................................... 52
3.4.3 Cơ sở dữ liệu ............................................................................. 61
CHƯƠNG 4. XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNG....................... 64
4.1 Công nghệ sử dụng ............................................................................... 64
4.1.1 Frontend.................................................................................... 64
4.1.2 Backend.................................................................................... 65
4.1.3 DevOps..................................................................................... 69
4.2 Xây dựng ứng dụng............................................................................... 70
4.2.1 Thư viện và công cụ sử dụng....................................................... 70
4.2.2 Minh họa các chức năng chính .................................................... 70
4.3 Kiểm thử.............................................................................................. 74
4.4 Triển khai ............................................................................................ 75 iii
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN............................. 76
5.1 Kết luận............................................................................................... 76
5.2 Hướng phát triển................................................................................... 77
TÀI LIỆU THAM KHẢO......................................................................... 79 DANH MỤC HÌNH VẼ Hình 2.1
Giải pháp chung cho hệ thống lồng tiếng tự động . . . . . . . . 6 Hình 2.2
Ví dụ về cấu trúc của file SRT . . . . . . . . . . . . . . . . . . 8 Hình 2.3
Quy trình tạo phụ đề tự động từ âm thanh . . . . . . . . . . . . 10 Hình 2.4
Ví dụ kết quả trả về khi sử dụng dịch vụ của Deepgram . . . . 11
Hình 2.5 Luồng xử lý tách các câu phụ đề . . . . . . . . . . . . . . . . . 12
Hình 2.6 Quy trình phát triển prompt - Nguồn: ChatGPT Prompt En-
gineering for Developers Course Lesson 3 . . . . . . . . . . . . . . 15
Hình 2.7 Ví dụ về prompt viết hướng dẫn rõ ràng và cụ thể . . . . . . . 16
Hình 2.8 Ví dụ về prompt cho mô hình thời gian để "nghĩ" . . . . . . . 17 Hình 2.9
Ví dụ về prompt thêm dấu câu vào đoạn văn . . . . . . . . . . 17
Hình 2.10 Prompt kết quả thêm dấu câu với đoạn văn tiếng Việt . . . . . 17
Hình 2.11 Luồng xử lý dịch theo lô . . . . . . . . . . . . . . . . . . . . . 19
Hình 2.12 Ví dụ mẫu prompt giữ nguyên cấu trúc văn bản khi dịch . . . . 22
Hình 2.13 Chuyển nội dung phụ đề thành âm thanh lồng tiếng . . . . . . 25
Hình 2.14 Lưu dựa theo số thứ tự câu . . . . . . . . . . . . . . . . . . . . 26
Hình 2.15 Lưu dựa theo giọng . . . . . . . . . . . . . . . . . . . . . . . . 26
Hình 2.16 Thuật toán kiểm tra tổng hợp thành công . . . . . . . . . . . . 29
Hình 2.17 Luồng xử lý hợp nhất audio
. . . . . . . . . . . . . . . . . . . 30 Hình 3.1
Luồng sử dụng của các hệ thống lồng tiếng tự động . . . . . . 32 Hình 3.2
Biểu đồ use case tổng quan . . . . . . . . . . . . . . . . . . . . 34 Hình 3.3
Biểu đồ use case quản lý dự án lồng tiếng . . . . . . . . . . . . 35
Hình 3.4 Biểu đồ use case chuyển phụ đề thành giọng nói lồng tiếng . . 36
Hình 3.5 Kiến trúc Microservices tổng quan - Nguồn: Fundamentals
of Software Architecture - Mark Richards [22] . . . . . . . . . . . . 44
Hình 3.6 Kiến trúc hệ thống
. . . . . . . . . . . . . . . . . . . . . . . . 45 Hình 3.7
Thiết kế kiến trúc frontend . . . . . . . . . . . . . . . . . . . . 47
Hình 3.8 Kiến trúc Backend
. . . . . . . . . . . . . . . . . . . . . . . . 49 Hình 3.9
Biểu đồ dịch chuyển trang CRM . . . . . . . . . . . . . . . . . 50
Hình 3.10 Danh sách dự án . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Hình 3.11 Chi tiết dự án
. . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Hình 3.12 Chi tiết kiến trúc service Dubbing . . . . . . . . . . . . . . . . 53
Hình 3.13 Luồng tạo dự án . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Hình 3.14 Luồng tạo nội dung phụ đề từ video . . . . . . . . . . . . . . . 55
Hình 3.15 Luồng dịch phụ đề sang ngôn ngữ mới . . . . . . . . . . . . . 56
Hình 3.16 Thiết kế kiến trúc dịch vụ TTS Dubbing . . . . . . . . . . . . 58
Hình 3.17 Luồng xử lý chuyển phụ đề thành âm thanh . . . . . . . . . . . 59
Hình 3.18 Biểu đồ thực thể liên kết . . . . . . . . . . . . . . . . . . . . . 61
Hình 3.19 Thiết kế tổng quan cơ sở dữ liệu . . . . . . . . . . . . . . . . . 62 Hình 4.1
Giao diện danh sách dự án . . . . . . . . . . . . . . . . . . . . 71 Hình 4.2
Giao diện tạo dự án lồng tiếng . . . . . . . . . . . . . . . . . . 71 Hình 4.3
Giao diện chọn ngôn ngữ . . . . . . . . . . . . . . . . . . . . . 72 Hình 4.4
Giao diện chờ xử lý . . . . . . . . . . . . . . . . . . . . . . . . 72 Hình 4.5
Giao diện chỉnh sửa phụ đề . . . . . . . . . . . . . . . . . . . . 73 Hình 4.6
Giao diện danh sách chuyển đổi . . . . . . . . . . . . . . . . . 73
DANH MỤC BẢNG BIỂU Bảng 2.1
So sánh các hệ thống lồng tiếng . . . . . . . . . . . . . . . . . 6 Bảng 2.2
So sánh chất lượng các dịch vụ cung cấp ASR . . . . . . . . . 14 Bảng 2.3
So sánh các dịch vụ cung cấp ASR . . . . . . . . . . . . . . . 14 Bảng 2.4
Độ dài tối đa kết quả trả về của các mô hình GPT . . . . . . . 21 Bảng 2.5
So sánh dịch sử dụng API dịch máy và dịch sử dụng API LLM 23 Bảng 3.1
Danh sách use case . . . . . . . . . . . . . . . . . . . . . . . . 37
Bảng 3.2 Luồng sự kiện thay thế cho Use case Tạo dự án . . . . . . . . 38 Bảng 3.3
Dữ liệu đầu vào . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Bảng 3.4
Dữ liệu đầu ra . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Bảng 3.5
Luồng sự kiện thay thế cho Use case Biên tập phụ đề . . . . . 40 Bảng 3.6
Dữ liệu đầu vào . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Bảng 3.7
Dữ liệu đầu ra . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Bảng 3.8
Luồng sự kiện thay thế cho Use case chuyển phụ đề thành
âm thanh lồng tiếng . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Bảng 3.9
Dữ liệu đầu vào . . . . . . . . . . . . . . . . . . . . . . . . . .41Bảng 3.10
Dữ liệu đầu ra . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Bảng 3.11 Luồng sự kiện thay thế cho Use case xuất báo cáo request
người dùng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Bảng 3.12 Dữ liệu đầu vào . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Bảng 3.13 Dữ liệu đầu ra . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Bảng 3.14 Các dịch vụ bên thứ 3 . . . . . . . . . . . . . . . . . . . . . . . 46
Bảng 3.15 Các dịch vụ backend của hệ thống . . . . . . . . . . . . . . . . 46
Bảng 3.16 Cấu hình chung giao diện
. . . . . . . . . . . . . . . . . . . . 50
Bảng 3.17 Danh sách API dự án . . . . . . . . . . . . . . . . . . . . . . . 56
Bảng 3.18 Danh sách API ngôn ngữ . . . . . . . . . . . . . . . . . . . . . 57
Bảng 3.19 Danh sách API TTS Dubbing
. . . . . . . . . . . . . . . . . . 60
Bảng 3.20 Danh sách hàng đợi . . . . . . . . . . . . . . . . . . . . . . . . 60
Bảng 3.21 Chi tiết cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . . . 63 Bảng 4.1
Danh sách thư viện và công cụ sử dụng . . . . . . . . . . . . . 70 Bảng 4.2
Danh sách kiểm thử . . . . . . . . . . . . . . . . . . . . . . . . 74 Bảng 4.3
Tên miền triển khai hệ thống . . . . . . . . . . . . . . . . . . . 75 Bảng 4.4
Thống kê cầu hình hạ tầng triển khai . . . . . . . . . . . . . . 75 iii
DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Thuật ngữ Ý nghĩa ĐATN Đồ án tốt nghiệp API
Application Programming Interface ASR Automatic Speech Recognition CCR Concurrent request CNTT Công nghệ thông tin CSDL Cơ sở dữ liệu CSS Cascading Style Sheets HTML
Ngôn ngữ đánh dấu siêu văn bản IDE
Integrated Development Environment JSON JavaScript Object Notation LLM Large Language Model MT Machine Translation NLP Natural Language Processing request Yêu cầu response Phản hồi SRT SubRip Text STT Speech to Text SV Sinh viên TTS Text To Speech WER Word Error Rate iv
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI 1.1 Đặt vấn đề
Trong thời đại số bùng nổ, video đã trở thành phương tiện truyền thông quan trọng
và phổ biến trên toàn cầu. Tuy nhiên, với các video nước ngoài, rào cản ngôn ngữ là
thách thức lớn của số đông người Việt khi tiếp cận nội dung video. Điều này tạo ra nhu
cầu về việc lồng tiếng cho các video nhằm mở rộng đối tượng tiếp cận và nâng cao trải nghiệm người dùng.
Lồng tiếng không chỉ hữu ích cho các bộ phim nước ngoài mà còn cho nhiều loại nội
dung khác. Ví dụ, các video review phim trên YouTube hay các nền tảng khác như TikTok
và podcast cần được lồng tiếng để tiếp cận được đông đảo khán giả. Với các video TikTok,
nơi nội dung thường ngắn gọn nhưng phong phú về hình ảnh và âm thanh, lồng tiếng
giúp người xem hiểu rõ hơn và cảm nhận sâu sắc hơn về nội dung. Đối với các podcast,
lồng tiếng giúp truyền tải thông điệp và câu chuyện tới người nghe một cách trọn vẹn,
dù họ không thông thạo ngôn ngữ gốc của nội dung.
Hiện nay, phương pháp lồng tiếng truyền thống bằng con người gặp nhiều hạn chế,
đặc biệt là về mặt thời gian và chi phí. Chi phí thuê diễn viên lồng tiếng chuyên nghiệp
có thể dao động từ 200$ đến 1,000$ mỗi giờ, trong khi các diễn viên tự do thường tính
từ 50$ đến 200$ mỗi giờ. Bên cạnh đó, chi phí thuê phòng thu và hậu kỳ cũng không hề
nhỏ, thường từ 50$ đến 150$ mỗi giờ [1]. Quá trình này đòi hỏi sự phối hợp của nhiều
nhân sự như diễn viên lồng tiếng, kỹ thuật viên âm thanh và biên tập viên, khiến việc
thu âm, chỉnh sửa và đồng bộ giọng nói với hình ảnh trở nên phức tạp và tốn kém. Đối
với các video có thời lượng dài hoặc cần lồng tiếng sang nhiều ngôn ngữ, chi phí và thời
gian sẽ tăng lên đáng kể. Điều này đặt ra thách thức lớn đối với các nhà sáng tạo nội
dung, khi không phải ai cũng có đủ tài chính và nguồn lực để thực hiện lồng tiếng cho
video của họ. Việc lồng tiếng truyền thống có thể trở nên quá đắt đỏ và mất thời gian,
đặc biệt khi cần phải thay đổi hoặc điều chỉnh nội dung thường xuyên, khiến nhiều dự
án phải đối mặt với khó khăn trong việc quản lý ngân sách và thời gian.
Chính vì thế, việc sử dụng các công nghệ trí tuệ nhân tạo để tự động hóa các bước có
thể trong quá trình lồng tiếng đã trở thành một giải pháp tối ưu, giúp tiết kiệm chi phí
và thời gian đáng kể so với lồng tiếng truyền thống. Ví dụ với dịch vụ lồng tiếng của
SpeechGen, chỉ khoảng 0,08 USD cho mỗi 1,000 ký tự, tiết kiệm chi phí đến 100 lần [2].
Bên cạnh đó, các công cụ trí tuệ nhân tạo như Vbee AIVoice
[3] và VoiceOverMaker [4] cung cấp tính linh hoạt cao và dễ sử dụng. Người dùng 1
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
có thể dễ dàng tạo ra giọng nói từ văn bản với nhiều tùy chỉnh về tốc độ, âm điệu và
cao độ, giúp đáp ứng nhu cầu đa dạng của các dự án khác nhau.
Trên thế giới hiện nay đã có nhiều công cụ tự động hóa nhiều công đoạn lồng
tiếng dựa trên các công nghệ trí tuệ nhân tạo [5] có thể kể đến như: Rask AI,
Speechify, hei.io, .... Những công cụ này có khả năng tạo ra giọng nói tự nhiên, đồng
thời có thể tùy chỉnh theo ngữ điệu và cảm xúc mong muốn. Tuy nhiên đối với thị
trường Việt Nam, hầu hết các công cụ này chưa hỗ trợ tiếng Việt, cũng như chưa
hiểu rõ về thị hiếu và nhu cầu của khách hàng tại nơi đây.
Nhận thấy nhu cầu và tiềm năng to lớn của việc áp dụng công nghệ trí tuệ nhân
tạo vào lồng tiếng, đặc biệt là tại Việt Nam, ĐATN đã chọn đề tài “Hệ thống lồng tiếng
tự động cho tiếng Việt” nhằm giải quyết được các khó khăn nêu trên.
1.2 Mục tiêu và phạm vi đề tài
Với những vấn đề được đưa ra, ĐATN sẽ tập trung vào hai nhiệm vụ chính: (i) Đề
xuất giải pháp tổng quát cho hệ thống lồng tiếng tự động, và (ii) Áp dụng giải pháp
này để phát triển hệ thống lồng tiếng tự động cho tiếng Việt.
Mục tiêu của nhiệm vụ đầu tiên là xây dựng một khung giải pháp linh hoạt và khả
dụng rộng rãi cho các hệ thống lồng tiếng tự động. Giải pháp này sẽ bao gồm một
quy trình tổng quát, có thể áp dụng cho nhiều dự án khác nhau mà không bị giới hạn
bởi công nghệ cụ thể. Đồng thời, giải pháp cần đảm bảo tính khả thi và hiệu quả, có
thể triển khai thực tế với hiệu suất cao, độ chính xác và khả năng mở rộng tốt.
Đối với nhiệm vụ thứ hai, mục tiêu là áp dụng giải pháp tổng quát đã đề xuất để
phát triển một hệ thống lồng tiếng tự động cho tiếng Việt với các chức năng chính
như sau: (i) Tạo phụ đề tự động từ video, (ii) Biên tập phụ đề, (iii) Chuyển phụ đề
thành giọng nói lồng tiếng.
Về phạm vi đề tài, ĐATN sẽ tập trung vào việc phát triển một hệ thống ứng dụng
web sử dụng các dịch vụ công nghệ trí tuệ nhân tạo đã có sẵn. ĐATN sẽ không nghiên
cứu, phát triển công nghệ trí tuệ nhân tạo mà sẽ kế thừa những công nghệ hiện có
để xây dựng hệ thống.
1.3 Định hướng giải pháp
Để đạt được mục tiêu nêu ra trong phần 1.2, ĐATN đề xuất các giải pháp sau:
Đầu tiên, giải pháp tổng quát sẽ được đề xuất cho hệ thống lồng tiếng tự động,
tối ưu hóa từng giai đoạn trong quy trình bằng sử dụng các công nghệ trí tuệ nhân
tạo tiên tiến. Công nghệ nhận diện giọng nói tự động (ASR) sẽ chuyển đổi âm thanh
thành văn bản, công nghệ dịch tự động (MT) sẽ dịch văn bản sang ngôn ngữ
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
đích, và công nghệ chuyển văn bản thành giọng nói (TTS) sẽ tạo ra giọng nói từ văn bản
đã dịch. Đồng thời, sử dụng các mô hình ngôn ngữ lớn (LLM) để cải thiện hiệu suất xử lý
và chất lượng kết quả của hệ thống. Giải pháp tổng quan sẽ nêu cách kết hợp các công
nghệ trên thành một hệ thống hoàn chỉnh. Sau đó sẽ đi vào chi tiết từng giai đoạn để giải
quyết những vấn đề khi áp dụng vào hệ thống.
Tiếp theo, các giải pháp được đề xuất sẽ được hiện thực hóa để xây dựng hệ thống lồng
tiếng tự động cho tiếng Việt. Để đáp ứng được việc xử lý và phục vụ cho lượng lớn người
dùng mà không gây quá tải cho máy chủ, kiến trúc Microservices [6] sẽ được áp dụng để
thiết kế hệ thống. Với kiến trúc này, hệ thống sẽ được chia thành nhiều dịch vụ nhỏ, mỗi
dịch vụ đảm nhiệm một chức năng riêng biệt và có thể triển khai độc lập. Điều này không
chỉ giúp hệ thống dễ dàng mở rộng và bảo trì mà còn đảm bảo tính linh hoạt, khả năng
chịu lỗi cao và cải thiện hiệu suất tổng thể. Đồng thời, việc sử dụng kiến trúc Microservices
cũng hỗ trợ trong việc phát triển và tích hợp các tính năng mới một cách hiệu quả, đáp
ứng được nhu cầu ngày càng tăng của người dùng về các dịch vụ lồng tiếng tự động chất lượng cao.
Với chức năng tạo phụ đề tự động từ video và chuyển phụ đề thành giọng nói lồng
tiếng, quá trình xử lý sẽ áp dụng các chi tiết từ giải pháp đã được đề cập. Đối với chức
năng biên tập phụ đề, giao diện của hệ thống cần được thiết kế và xây dựng trực quan, dễ
sử dụng để người dùng có thể chỉnh sửa nội dung và thời gian của phụ đề sao cho phù
hợp với video theo ý muốn. Để đảm bảo tính hiệu quả và thuận tiện cho người dùng, giao
diện của hệ thống sẽ bao gồm ba thành phần chính: một thành phần để chỉnh sửa nội
dung, một thành phần để chỉnh sửa thời gian theo khung thời gian, và một thành phần để phát video.
1.4 Bố cục đồ án
Phần còn lại của báo cáo đồ án tốt nghiệp sẽ được tổ chức như sau:
Chương 2 sẽ tập trung vào nghiên cứu và đề xuất các giải pháp tối ưu cho hệ thống lồng
tiếng tự động. Bắt đầu với việc khảo sát hiện trạng, bước này đóng vai trò quan trọng
trong việc xác định rõ ràng các thách thức và hạn chế khi áp dụng công nghệ trí tuệ nhân
tạo vào quy trình lồng tiếng. Khảo sát sẽ bao gồm việc đánh giá thực trạng của phương
pháp lồng tiếng truyền thống con người cũng như khảo sát các công cụ lồng tiếng tự động
hiện có. Qua quá trình này, những vấn đề chính trong lĩnh vực lồng tiếng tự động sẽ được
phác thảo rõ ràng. Từ đó, sẽ đề xuất các giải pháp cụ thể nhằm khắc phục các hạn chế hiện
tại và tối ưu hóa hiệu quả của hệ thống. Các giải pháp này không chỉ nhằm cải thiện độ
chính xác và hiệu suất mà còn đảm bảo tính khả thi và hiệu quả trong triển khai thực tế.
Chương 3 sẽ phân tích và thiết kế một hệ thống lồng tiếng tự động áp dụng vào 3
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
môi trường của công ty Vbee. Các hệ thống lồng tiếng tự động hiện có sẽ được tham
khảo để xác định các tính năng cần thiết cho hệ thống đang phát triển. Kiến trúc hệ
thống và các module chức năng sẽ được thiết kế sao cho có thể áp dụng các giải
pháp đã nêu ở chương 2. Các phân tích và thiết kế này sẽ được mô tả chi tiết để đảm
bảo quá trình xây dựng chương trình diễn ra thuận lợi.
Chương 4 sẽ tiến hành xây dựng và triển khai hệ thống lồng tiếng tự động. Chương
này sẽ trình bày các công cụ và công nghệ cụ thể được sử dụng trong quá trình phát
triển, như các framework, thư viện phần mềm, và môi trường phát triển tích hợp
(IDE). Quá trình xây dựng sẽ bao gồm các bước triển khai từng module chức năng,
kiểm thử và tối ưu hóa hệ thống. Mỗi bước sẽ được thực hiện kèm theo các thử
nghiệm chi tiết để đảm bảo chất lượng, và các kết quả đạt được sẽ được đánh giá và cải tiến liên tục.
Chương cuối cùng sẽ tổng kết lại toàn bộ nội dung đồ án. Các giải pháp đề xuất,
các kết quả đã đạt được khi áp dụng sẽ được đề cập để thấy để thấy những hiệu quả
và khả năng áp dụng của hệ thống lồng tiếng tự động. Dựa trên kết quả này, các
hướng phát triển tiếp theo sẽ được đề xuất, bao gồm nâng cao chất lượng giọng nói,
mở rộng tính năng, và cải thiện trải nghiệm người dùng. Những gợi ý cụ thể sẽ được
đưa ra để cải tiến và hoàn thiện hệ thống trong tương lai, giúp hệ thống có thể đáp
ứng được các yêu cầu ngày càng cao của người dùng và thị trường.
CHƯƠNG 2. GIẢI PHÁP CHO HỆ THỐNG LỒNG TIẾNG TỰ ĐỘNG
2.1 Khảo sát hiện trạng
2.1.1 Nhu cầu thực tiễn
Hiện nay, quá trình lồng tiếng thủ công là một công việc phức tạp, đòi hỏi nhiều công
sức, thời gian và chi phí. Quy trình này bao gồm bốn bước chính: tuyển chọn diễn viên,
xây dựng kịch bản, lồng tiếng và chỉnh sửa hậu kỳ [7]. Đầu tiên, việc tuyển chọn diễn viên
phù hợp là bước khởi đầu quan trọng, dựa trên nhiều yếu tố như chất giọng, khả năng
biến đổi giọng và khả năng diễn đạt của từng diễn viên. Tiếp theo, kịch bản lồng tiếng sẽ
được biên soạn lại dựa trên kịch bản gốc. Kịch bản này có thể là bản dịch hoặc được chỉnh
sửa, cải biên để phù hợp với ngôn ngữ và văn hóa của khán giả mục tiêu. Sau khi kịch bản
đã hoàn thiện, các diễn viên lồng tiếng sẽ tiến hành ghi âm. Quá trình ghi âm không chỉ
đòi hỏi đọc kịch bản mà còn yêu cầu diễn viên thể hiện cảm xúc và sắc thái của nhân vật
qua giọng nói. Diễn viên thường phải thực hiện nhiều lần ghi âm để đạt được sự đồng bộ
hoàn hảo giữa lời thoại và khẩu hình của nhân vật trong video. Cuối cùng là bước hậu kỳ,
nơi các đoạn âm thanh lồng tiếng được hợp nhất và điều chỉnh để khớp với thời gian xuất
hiện trong video, tạo ra một sản phẩm lồng tiếng hoàn chỉnh.
Với phương pháp lồng tiếng thủ công, quy trình này yêu cầu sự phối hợp và đóng góp
của nhiều cá nhân mới có thể tạo ra được một sản phẩm lồng tiếng hoàn chỉnh. Tuy nhiên,
với sự tiến bộ của công nghệ trí tuệ nhân tạo, nhiều giai đoạn trong quy trình này có thể
được tự động hóa một cách dễ dàng.
Ví dụ, trong hai giai đoạn tuyển chọn diễn viên và lồng tiếng, công nghệ chuyển văn
bản thành giọng nói (Text-to-Speech - TTS) đã phát triển đến mức có thể tạo ra giọng nói
nhân tạo với độ chính xác và tự nhiên cao. Với danh sách đa dạng các giọng nói, người
dùng có thể lựa chọn giọng nói phù hợp với nhu cầu của mình. Sau đó, sử dụng kịch bản
đã được chuẩn bị sẵn, hệ thống TTS chuyển đổi văn bản thành âm thanh lồng tiếng, giúp
tiết kiệm thời gian và chi phí một cách đáng kể.
Tương tự, với việc chuẩn bị nội dung kịch bản, công nghệ trí tuệ nhân tạo có thể tự
động hóa quá trình này một cách hiệu quả. Thay vì phải viết lại kịch bản gốc xuất hiện
trong video và dịch kịch bản gốc một cách thủ công, các công nghệ chuyển giọng nói thành
văn bản (Speech-to-Text - STT) có thể nhận diện chính xác nội dung có trong video theo
đúng các mốc thời gian. Ngoài ra, các công nghệ trí tuệ nhân tạo dịch thuật và mô hình
ngôn ngữ lớn (Large Language Model - LLM) có khả năng hiểu ngữ cảnh và ngữ nghĩa, giúp
tạo ra các bản dịch tự nhiên hơn. 5
Như vậy, có thể thấy các công nghệ trí tuệ nhân tạo đã có thể tự động hóa gần như
toàn bộ các giai đoạn trong quy trình lồng tiếng. Điều này giúp giảm bớt khối lượng công
việc thủ công, thời gian và chi phí của quá trình lồng tiếng.
2.1.2 Đánh giá các công cụ tương tự
Dựa trên danh sách các hệ thống lồng tiếng tự động lớn hiện có [5], 4 trang web chính
được lựa chọn để tiến hành so sánh đó là Speechify, Rask, ElevenLabs, Hei. Dựa trên tài
liệu trang chủ, cũng như đánh giá của người dùng trên các trang đánh giá, các yếu tố về
ngôn ngữ lồng tiếng, giá thành sử dụng, giao diện trải nghiệm và các tính năng khác sẽ
được so sánh, kết quả chi tiết được mô tả trong bảng 2.1:
Bảng 2.1: So sánh các hệ thống lồng tiếng Tính Năng Speechify Rask ElevenLabs Hei Ngôn ngữ hỗ Hơn 50 ngôn Hơn 40 ngôn Hơn 30 ngôn Hơn 20 ngôn trợ ngữ ngữ ngữ ngữ Đa Dạng Giọng Đa dạng giọng Tuỳ chọn giọng Nhiều tuỳ chọn Đa dạng giọng nói hạn chế giọng nói vừa phải Giá Dựa trên gói Kế hoạch miễn Dựa trên gói Trả phí một lần thuê bao phí và trả phí thuê bao Giao Diện Thân thiện với Cơ bản Trực quan Thân thiện với Người Dùng người dùng người dùng Xử lý đầu vào Có hỗ trợ Có hỗ trợ Có hỗ trợ Có hỗ trợ video Tự động dịch Có hỗ trợ Có hỗ trợ Có hỗ trợ Có hỗ trợ phụ đề
Từ kết quả so sánh có thể thấy được các đặc điểm chung của một hệ thống lồng tiếng
tự động như: hỗ trợ đa ngôn ngữ, cung cấp đa dạng giọng lồng tiếng, tự động tạo kịch
bản. Với những đặc điểm chung này, một giải pháp chung cho hệ thống lồng tiếng tự động
sẽ được đề xuất, rồi đi sâu vào giải pháp cho từng phần xử lý để tối ưu hóa và hoàn thiện
hệ thống, đáp ứng được nhu cầu của người dùng.
2.2 Giải pháp chung cho hệ thống lồng tiếng tự động
Hình 2.1: Giải pháp chung cho hệ thống lồng tiếng tự động
Hình 2.1 mô tả quy trình hoạt động tổng thể của một hệ thống lồng tiếng tự động. Đầu
tiên, hệ thống tiếp nhận video và tạo phụ đề từ nội dung giọng nói bằng công nghệ ASR.
Công nghệ này nhận diện văn bản từ giọng nói và xác định thời điểm xuất hiện của từng
phần văn bản. Dựa trên nội dung và thời gian, hệ thống chia phần nội dung thành các câu
phụ đề có ý nghĩa, sử dụng ngôn ngữ gốc xuất hiện trong video. Kết quả sẽ là một tệp tin
phụ đề với các câu phụ đề với ngôn ngữ gốc xuất hiện trong video.
Sau khi nhận diện và tạo phụ đề, hệ thống tiến hành dịch phụ đề sang ngôn ngữ mới
nếu cần thiết. Công nghệ dịch tự động (Machine Translation - MT) và các mô hình ngôn
ngữ lớn (Large Language Model - LLM) sẽ được sử dụng để đảm bảo bản dịch chính xác
và tự nhiên, phù hợp với ngữ cảnh và ngữ nghĩa của nội dung gốc. Kết quả dịch vẫn được
xử lý để trùng với thời điểm xuất hiện của câu phụ đề gốc tương ứng, sau đó được tái tạo
lại thành một tệp tin phụ đề đã được dịch.
Cuối cùng, phụ đề đã được dịch sẽ được chuyển thành giọng nói lồng tiếng bằng công
nghệ TTS. Công nghệ này cho phép tạo ra các giọng nói nhân tạo với độ chính xác và tự
nhiên cao, người dùng có thể lựa chọn giọng nói phù hợp với nhu cầu của mình từ danh
sách các giọng nói có sẵn. Kết quả cuối cùng là các câu phụ đề được đọc bằng giọng nói
lồng tiếng, với mỗi câu được phát ra đúng vào thời điểm tương ứng, và với chất lượng âm
thanh được điều chỉnh để phù hợp với giọng đã được lựa chọn trước đó.
Có thể thấy quy trình lồng tiếng thủ công, bao gồm tuyển chọn diễn viên, xây dựng kịch
bản, lồng tiếng và chỉnh sửa hậu kỳ, gần như đã được tự động hóa hoàn toàn bằng cách
sử dụng các công nghệ trí tuệ nhân tạo. Điều này không chỉ giúp giảm bớt khối lượng công
việc thủ công, tiết kiệm thời gian và chi phí mà còn nâng cao hiệu suất và chất lượng của
quá trình lồng tiếng. Với hệ thống lồng tiếng tự động này, các nhà sản xuất nội dung có
thể nhanh chóng và hiệu quả tạo ra các sản phẩm chất lượng cao, đáp ứng nhu cầu ngày
càng tăng trong ngành công nghiệp truyền thông và giải trí.
2.3 Giải pháp tạo phụ đề từ giọng nói 2.3.1 Vấn đề
Hiện nay, các hệ thống lồng tiếng tự động sử dụng công nghệ trí tuệ nhân tạo để tạo ra
giọng nói từ các kịch bản, thường dưới dạng tệp phụ đề. Những tệp phụ đề này không chỉ
là bản ghi văn bản của âm thanh mà còn giúp đồng bộ hóa hình ảnh và âm thanh một cách
chính xác. Để hiểu rõ hơn về cách công nghệ lồng tiếng hoạt động, đồ án sẽ nêu các khái
niệm cơ bản về tệp phụ đề và cách chúng tương tác với hệ thống lồng tiếng tự động.
Tệp phụ đề là loại tệp văn bản chứa các dòng đối thoại hoặc văn bản khác được hiển
thị dưới màn hình trong phim, chương trình truyền hình, trò chơi điện tử hoặc các phương
tiện trực quan khác. Các tệp phụ đề thường có hai định dạng phổ biến: SRT (SubRip Text)
và VTT (Video Text Tracks). Vì hai định dạng này có nhiều điểm tương đồng, đồ án sẽ tập
trung vào định dạng SRT vì tính phổ biến và dễ sử dụng của nó.
Hình 2.2: Ví dụ về cấu trúc của file SRT
Tệp SRT có cấu trúc đơn giản và dễ đọc, bao gồm các phụ đề được đánh số theo thứ
tự. Mỗi phụ đề bao gồm ba phần chính:
(a) Số thứ tự phụ đề: Đây là số thứ tự duy nhất cho mỗi đoạn phụ đề, giúp xác định vị trí của
đoạn phụ đề trong tệp và trong video. Ví dụ, phụ đề đầu tiên sẽ có số thứ tự là 1, phụ đề
thứ hai là 2, và cứ tiếp tục như vậy cho đến câu cuối cùng.
(b) Thời gian bắt đầu và kết thúc của phụ đề: Thời gian này được đánh dấu bằng dấu "–>"
giữa thời gian bắt đầu và kết thúc của phụ đề. Định dạng thời gian là giờ: phút: giây, mili
giây. Ví dụ: 00:00:03,300 –> 00:00:06,000.
(c) Nội dung của phụ đề: Đây là phần chính của mỗi đoạn phụ đề, chứa văn bản sẽ được hiển
thị trên màn hình. Văn bản này có thể bao gồm đối thoại giữa các nhân vật, mô tả âm
thanh hoặc bất kỳ thông tin nào khác cần truyền tải tới người xem. Nội dung này có thể
trải dài nhiều dòng, nhưng phải đảm bảo rõ ràng và dễ hiểu.
Trong các hệ thống lồng tiếng tự động, các tệp phụ đề đóng vai trò như nguồn đầu vào,
cung cấp thông tin cần thiết để hệ thống tự động xử lý và tạo ra âm thanh lồng tiếng.
Để tạo nội dung phụ đề từ âm thanh, hệ thống cần sử dụng công nghệ ASR. Hiện nay,
có nhiều nền tảng cung cấp dịch vụ API tích hợp ASR vào hệ thống, chẳng hạn như Google
Cloud Speech-to-Text [8], Amazon Transcribe [9], và OpenAI Whisper [10]. Các dịch vụ này
mang lại nhiều lựa chọn cho nhà phát triển nhờ sự đa dạng về tính năng, độ chính xác,
tốc độ và khả năng tùy chỉnh.