Mình làm app lồng tiếng trong hai tuần rồi tung ra luôn
Bài gần nhất mình viết là ngày 14 tháng 7, vậy là gần một tháng rồi. Thời gian đó mình làm gì à? Mình chuyển từ bên đi thử công cụ lồng tiếng sang bên tự tay làm ra một cái.
Mình đã dùng khá nhiều công cụ lồng tiếng mã nguồn mở. Cảm nhận thì viết ở blog này, lỗi tìm được thì mình sửa rồi gửi cho họ luôn. Dùng nhiều thành ra thấy rõ chỗ nào còn chưa ưng, và đến một lúc mình nghĩ: thôi thì tự làm một cái vậy. Rồi mình làm thật. Nó tên là PersoDub, một app lồng tiếng cài trên máy tính, và bản đầu tiên ra mắt ngày 7 tháng 8.
Cái vụ tiếng bị tua nhanh làm mình khó chịu mãi
Lý do mình làm nó chỉ có một thôi.
Khi lồng tiếng, câu dịch ra thường dài hơn câu gốc. Câu tiếng Hàn nói trong ba giây thì sang tiếng Anh có khi mất bốn giây. Gặp vậy thì phần lớn công cụ sẽ tua nhanh tiếng lên cho nhét vừa ba giây. Một hai lần thì bạn không để ý. Nhưng cả video cứ như vậy thì nghe không còn ra người đang nói nữa, mà giống như đang bật tua nhanh.
PersoDub thì không làm thế. Thay vì đụng vào tiếng, nó chỉnh độ dài ngay từ khâu dịch. Mỗi câu được dịch sao cho vừa đúng chỗ trống của câu gốc, và khi ghép video lại, chỉ cần một dòng không chạy đúng y tốc độ gốc (1x) là bị ghi ngay vào nhật ký. Không phải kiểu quy tắc mình tự nhắc mình phải nhớ. Chính code tự kiểm tra.
Hai tuần, trừ mỗi lúc ngủ
Mục tiêu đơn giản thôi. Không phải làm ra thứ hoàn hảo, mà là ra bản đầu tiên dùng được, càng nhanh càng tốt.
Nên suốt hai tuần, trừ lúc ngủ thì mình dồn hết thời gian vào đó. Sáng mở mắt ra là bắt đầu, làm một mạch đến lúc đi ngủ. Vậy là sau đúng hai tuần, mình có cái để tung ra.
Khó nhất lại là khâu kiểm tra chất lượng
Khó hơn cả việc làm ra nó là quyết định xem “đến mức này là được rồi”.
Riêng chuyện chọn mô hình tạo giọng đã mất rất nhiều thời gian. Mình lắp thử từng cái một, cho chạy cùng một câu, rồi nghe giọng nhân bản với giọng gốc cạnh nhau xem giống tới đâu. Cái này phải nghe bằng tai mà đánh giá nên chẳng bao giờ xong trong một lượt. Mô hình chuyển tiếng nói thành chữ cũng vậy. Mình đưa cùng một video cho từng cái rồi so xem cái nào sai ít hơn.
Chẳng có bước nào nhanh cả. Cái gì chưa chạy được thì mình bám đến khi chạy được mới thôi, và cứ mỗi lần nghĩ “cố thêm chút nữa là xong”, ngẩng lên đã thấy ba bốn tiếng trôi mất rồi.
Mình cứ bị lạc sang việc khác
Một cái khó nữa là thứ tự làm việc.
Đang phải bước sang phần tiếp theo thì một lỗi nhỏ đập vào mắt, thế là mình quay ra sửa nó trước. Sửa xong lại thấy lỗi khác. Việc lớn việc nhỏ cứ ập vào cùng lúc, nên quyết định làm gì trước còn khó hơn chính việc làm. Nhìn lại thì gói gọn được trong hai tuần không phải vì mình làm nhanh. Mà là vì mình chốt trước: “bản này thì mấy thứ này bắt buộc phải chạy, tính năng thêm để bản sau hãy tính”, tức là chốt sẵn bản đầu sẽ có gì.
Và đây là cái mình làm ra
Bản gốc (tiếng Anh)
Lồng tiếng bằng PersoDub (tiếng Hàn)
Cùng một video, lồng từ tiếng Anh sang tiếng Hàn. Giọng của chính người nói được nhân bản lại y nguyên.
Bạn thả một video vào, nó sẽ tách nhạc nền ra khỏi giọng nói, ghi lời thoại thành chữ, chia ra ai nói lúc nào, dịch, rồi nhân bản giọng từng người và lồng lại vào video. Nhạc với hiệu ứng vẫn giữ nguyên, chỉ có lời thoại là bị thay. Với thiết lập mặc định, toàn bộ chuyện này chạy trong chiếc MacBook Air M4 của mình. Không cần tài khoản, không cần API key, và ngoài lần tải mô hình đầu tiên thì cũng không cần mạng.
Vẫn chưa chạy được trên mọi hệ điều hành
Hiện tại nó mới chạy được trên máy Mac chip Apple Silicon. Thay vì hệ nào cũng hỗ trợ nửa vời, mình muốn nó chạy cho ra hồn trên một hệ trước đã. Mấy hệ khác thì tính sau.
Cài chỉ bằng một dòng lệnh
Cài mấy thứ này lúc nào cũng mệt. Tải xong một cái thì nó lại bảo tải cái khác. Mình gom hết vào đúng một dòng lệnh.
curl -fsSL https://raw.githubusercontent.com/stronghamjji/PersoDub/HEAD/install.sh | bash
Code và cách cài đều nằm trên GitHub. Đây là bản đầu tiên nên chắc chắn còn lỗi. Gặp lỗi thì bạn cứ thoải mái mở issue nhé. Chuyện làm app tiếp theo ra sao mình cũng sẽ viết ở đây.
Nhận bản tin lồng tiếng AI hằng tuần
Bản tổng hợp hằng tuần về lồng tiếng AI và tin tức, bằng ngôn ngữ bạn chọn. Không spam, hủy đăng ký bất cứ lúc nào.
Bình luận (0)
Chưa có bình luận nào, bạn là người đầu tiên nhé.