Abogen - Tạo audiobook từ EPUB, PDF và văn bản
(github.com/denizsafak)- Abogen là một công cụ mã nguồn mở giúp chuyển đổi tệp ePub, PDF và văn bản thành audiobook chất lượng cao một cách dễ dàng
- Trong quá trình chuyển đổi, phụ đề đồng bộ (subtitle) với giọng nói cũng được tạo tự động
- Cung cấp nhiều tính năng như trộn giọng nói tùy biến, định dạng mã hóa, chia chương, xử lý hàng loạt (chế độ hàng đợi)
- Sử dụng bộ máy tổng hợp giọng nói Kokoro-82M mới nhất để hỗ trợ chất lượng TTS tự nhiên và đa ngôn ngữ
- So với các dự án khác, công cụ này có ưu điểm về GUI trực quan, quản lý thư mục theo dự án và tự động xử lý metadata
Tổng quan và tầm quan trọng của Abogen
- Abogen là công cụ chuyển văn bản thành giọng nói (TTS) mã nguồn mở giúp chuyển nhanh các tệp văn bản (ePub, PDF, .txt, v.v.) thành audiobook tự nhiên
- Cung cấp nhiều tính năng phong phú như giao diện trực quan, xử lý hàng loạt nhiều tệp, trộn giọng tùy chỉnh, nhiều định dạng đầu ra, quản lý chương và hỗ trợ metadata
- Khác với các dự án mã nguồn mở khác, chỉ với thao tác đơn giản là có thể dễ dàng tạo ra âm thanh chất lượng cao (đặc biệt là TTS dựa trên Kokoro-82M) cùng với phụ đề
- Quá trình cài đặt ban đầu và thiết lập môi trường Python phức tạp được tự động hóa, nên cả lập trình viên mới bắt đầu cũng có thể sử dụng dễ dàng
- Đặc biệt, xử lý chương và metadata theo từng dự án, môi trường GUI, tính năng giọng nói tùy chỉnh được đánh giá là lợi thế cạnh tranh trong ngành
Tóm tắt các tính năng chính
- Chuyển văn bản thành giọng nói (TTS) để biến ePub, PDF và tệp văn bản thành âm thanh chỉ trong vài giây
- Tự động tạo phụ đề đồng bộ (subtitles), hỗ trợ âm thanh và phụ đề khớp hoàn toàn
- Sử dụng voice mixer để trộn nhiều mô hình giọng nói, tạo hồ sơ giọng nói của riêng bạn
- Tính năng chế độ hàng đợi hỗ trợ xử lý hàng loạt nhiều tệp và giữ cấu hình riêng cho từng tệp
- Tự động tạo dấu chương/metadata và quản lý thư mục dự án
- Nhiều định dạng đầu ra: hỗ trợ WAV, FLAC, MP3, OPUS, M4B; phụ đề cũng có thể chọn SRT/ASS, v.v.
- Hỗ trợ các ngôn ngữ chính: tiếng Anh Mỹ/Anh, tiếng Tây Ban Nha, tiếng Pháp, tiếng Hindi, tiếng Ý, tiếng Nhật, tiếng Bồ Đào Nha, tiếng Trung, v.v.
- Cung cấp chất lượng cao và phát âm tự nhiên dựa trên bộ máy TTS Kokoro-82M
- Hỗ trợ cả GUI lẫn dòng lệnh, có thể sử dụng container Docker
Tổng hợp chi tiết theo từng tính năng của Abogen
#Bắt đầu và bối cảnh cài đặt
- Các công cụ TTS hiện có thường bị giới hạn về cài đặt, cấu hình môi trường, chất lượng, khả năng tùy biến và xử lý nhiều tệp
- Abogen được tạo ra với giao diện vừa đơn giản vừa mạnh mẽ để ngay cả người mới cũng có thể dễ dàng tiếp cận các tính năng nâng cao như chuyển đổi văn bản–âm thanh, tạo phụ đề và trộn giọng nói
- Có thể sử dụng trên nhiều hệ điều hành (Windows, Linux, macOS) và hỗ trợ tự động dựng môi trường tích hợp/cài đặt mà không cần cài Python trước
#Cách sử dụng chính
- Có thể kéo và thả tệp ePub, PDF hoặc văn bản, hoặc dùng trình biên tập tích hợp
- Thiết lập: có thể chọn chi tiết tốc độ đọc, giọng nói (mô hình·giới tính·ngôn ngữ), kiểu phụ đề (theo câu·theo từ), định dạng đầu ra âm thanh·phụ đề, đường dẫn xuất, v.v.
- Chỉ cần nhấn nút bắt đầu chuyển đổi là có thể tạo kết quả ngay
#Trình diễn thực tế
- Ngay cả với GPU cấu hình thấp, khoảng 3.000 ký tự văn bản có thể được tạo thành âm thanh dài 3 phút 28 giây chỉ trong 11 giây
- Tốc độ xử lý sẽ khác nhau tùy cấu hình phần cứng
#Các tùy chọn thiết lập
- Phương thức nhập: kéo thả, trình biên tập tích hợp, quản lý hàng đợi để xử lý đồng thời nhiều tệp
- Tốc độ đọc: điều chỉnh chi tiết từ 0.1x đến 2.0x
- Chọn giọng nói và nghe thử: mô hình theo ngôn ngữ·giới tính, chỉ định hồ sơ giọng tùy chỉnh bằng mixer
- Tạo phụ đề: tự động hóa phụ đề theo câu, theo dấu phẩy, theo n từ
- Đầu ra âm thanh: WAV, FLAC, MP3, OPUS, M4B (bao gồm chương)
- Định dạng phụ đề: hỗ trợ tùy biến như SRT, ASS
- Quản lý chương và dự án: lưu thành thư mục dự án gồm âm thanh theo chương, bản gộp và metadata
- Nhiều tùy chọn UI như chủ đề, log, phím tắt, v.v.
#Voice Mixer
- Kết hợp nhiều mô hình giọng nói bằng điều chỉnh trọng số, cho phép trực tiếp tạo, lưu và tái sử dụng giọng độc đáo
- Có thể nghe thử và áp dụng kết quả trộn giọng như một hồ sơ giọng nói
#Chế độ hàng đợi
- Giữ cài đặt riêng cho từng tệp, tự động chuyển đổi nhiều văn bản và eBook cùng lúc
- Mỗi tệp sẽ lưu riêng thiết lập tại thời điểm được thêm vào hàng đợi, không phụ thuộc vào thay đổi ở cài đặt chính
#Dấu chương/Metadata
- Tự động chèn thẻ phân chia chương
- Cũng có thể chèn thủ công thẻ ``
- Khi xảy ra lỗi, sẽ thuận tiện để xử lý lại nhanh chỉ chương đó
- Có thể thêm thông tin như tiêu đề, tác giả, năm bằng thẻ metadata để hiển thị trong ứng dụng audiobook
- Có thể thêm ở phần đầu của tệp văn bản
#Ngôn ngữ được hỗ trợ
- Hỗ trợ đa ngôn ngữ của bộ máy Kokoro-82M
- Tiếng Anh (Mỹ/Anh), tiếng Tây Ban Nha, tiếng Pháp, tiếng Hindi, tiếng Ý, tiếng Nhật, tiếng Bồ Đào Nha Brazil, tiếng Trung, v.v.
- Phụ đề cho các ngôn ngữ khác có thể được yêu cầu bổ sung sau do giới hạn kỹ thuật của bộ máy
#Đầu ra và cách sử dụng
- Khuyến nghị các trình phát media nâng cao như MPV, có hỗ trợ phụ đề đồng bộ
- Hỗ trợ chạy máy chủ dựa trên Docker
#Điểm khác biệt so với các dự án tương tự
- Abogen mang lại mức độ tiện dụng hàng đầu với GUI độc lập cùng khả năng tùy biến, quản lý thư mục theo dự án, tự động hóa chương·metadata, xử lý hàng đợi và giọng trộn
- Có điểm tương đồng với audiblez, autiobooks, pdf-narrator, epub_to_audiobook, ebook2audiobook nhưng khác biệt ở tính dễ dùng của GUI, bộ máy TTS nâng cao và đồng bộ chương/phụ đề
#Lộ trình và đóng góp
- Có kế hoạch bổ sung OCR (nhận dạng tài liệu), tăng cường GUI đa ngôn ngữ, v.v.
- Bất kỳ ai cũng có thể fork để thêm tính năng, sửa lỗi và đóng góp cho mã nguồn mở
#Ghi công kỹ thuật và giấy phép
- Sử dụng nhiều công nghệ mã nguồn mở đối tác như TTS Kokoro-82M, GUI dựa trên PyQt, tích hợp EbookLib, v.v.
- Giấy phép MIT (tự do sửa đổi và sử dụng thương mại), bộ máy (Kokoro) dùng giấy phép Apache-2.0
#Lưu ý và giới hạn
- Tính năng đồng bộ phụ đề hiện chỉ được cung cấp cho tiếng Anh (hỗ trợ ngôn ngữ khác cần phát triển thêm ở bộ máy Kokoro)
- Một số tính năng bị giới hạn (ví dụ preview âm thanh trong Docker)
- Hãy tham khảo tài liệu chính thức để biết hướng dẫn chi tiết về cài đặt và thiết lập môi trường
1 bình luận
Ý kiến Hacker News
Tôi hình dung một pipeline lấy sách từ Calibre-Web, dùng Abogen để tạo phiên bản audio, rồi phục vụ qua Audiobookshelf; có vẻ đây cũng sẽ là một giải pháp rất tốt cho người khiếm thị hoặc người gặp khó khăn về nghe nhìn, tham khảo Calibre-Web và audiobookshelf
Dùng công cụ này để biến sách dạng văn bản thành audiobook cho mục đích nghe cá nhân thì ổn, nhưng để tác giả dùng nó tạo file phát hành thì rất rủi ro; các tác giả độc lập vốn đã rất khó quảng bá tác phẩm, và dạo này chỉ cần độc giả tiềm năng thấy dấu hiệu có AI là họ mất hứng ngay; về phần tôi, tôi bắt đầu thuê các diễn viên lồng tiếng diễn xuất tốt nhưng tiếng Anh không phải tiếng mẹ đẻ, hoặc những người dùng ngôn ngữ khác ở nhà; đôi khi tôi còn yêu cầu họ giữ giọng nặng hơn một chút, vì cách này giúp phân biệt với AI và cũng tăng sức hút cho cuốn sách với những ai muốn trải nghiệm mới; trước đây tôi từng rất bất ngờ khi nghe thử tuyển chọn các diễn viên đến từ vùng Địa Trung Hải vì họ thu audiobook sống động đến mức kinh ngạc
Tôi đang thắc mắc liệu đây chỉ là chuyển văn bản thành giọng nói, hay thật sự tạo ra thứ giống audiobook; audiobook hay thường có diễn viên lồng tiếng thể hiện từng nhân vật khác nhau, với ngữ điệu và phương ngữ riêng; những thứ này có lẽ ChatGPT và các công cụ tương tự có thể làm được vài câu, nhưng để duy trì suốt cả audiobook dài 8–20 giờ thì không dễ; ở mức hiện tại tôi vẫn nghĩ còn có rào cản cơ bản để biến epub thành audiobook tối tân, không biết tôi có bỏ sót điều gì không
Công cụ này cần
pipkhi chạy app abogen, nên phải chạy trong môi trường có dùng đượcpip; có thể khởi động bằnguv tool run abogen, nhưng nó dừng ở bước cài model; tôi xác nhận rằnguv venv && uv pip install pip && source .venv/bin/activate && abogenthì chạy ổn; GUI đóng gói cũng tốt, UI chọn trang hoặc mục trong file PDF cũng hay, tốc độ trên laptop GTX 1650 của tôi khá nhanh; đầu ra là audio.oggvà file phụ đề.ass, mở bằng mpv thì có thể vừa nghe vừa đọc trong terminal; một điểm tiếc là xuống dòng trong PDF gốc vẫn bị giữ nguyên nên đôi khi câu bị ngắt dài giữa chừng, gây khó hiểu; bật tùy chọn bỏ qua single newline thì cải thiện rõ rệtTôi rất thích audiobook nhưng khá khó tính với phần dẫn truyện; có nhiều audiobook tôi đã bỏ dở giữa chừng chỉ vì không hợp giọng đọc, nên để tôi thực sự dùng được dịch vụ kiểu này thì có lẽ vẫn còn khá lâu nữa
Có lẽ nó sẽ không áp dụng tốt cho những cuốn sách ngoài văn bản còn có code, biểu đồ hay hình ảnh kèm theo, điều này thì khá hiển nhiên; tôi cũng tò mò không biết có mạng nơ-ron mã nguồn mở nào nhận trang PDF rồi chuyển thành phiên bản "thuần văn xuôi" hay không, ví dụ với trang có cả hình lẫn chữ thì nó sẽ diễn đạt cả nội dung hoặc mô tả của hình thành văn bản
Tôi đã thử Kokoro TTS cho các nội dung ngắn như blog hay bài báo nhưng thấy chưa đạt kỳ vọng; giờ thì Gemini 2.5 Flash TTS tốt hơn nhiều và hạn mức miễn phí cũng khá hào phóng (10 phút mỗi lần tạo, 90 phút mỗi ngày); với bài ngắn thì vấn đề nhất quán giọng nói không lộ rõ, nhưng với thứ dài như cả một cuốn sách thì đây chắc chắn là vấn đề
Tôi đã thử dùng công cụ này để biến các sách triết học thành audiobook nhằm tăng khả năng tiếp cận, nhưng có một vấn đề nghiêm trọng; nếu câu đầu vào cho Kokoro quá dài thì từ hoặc cả câu ở phần cuối bị bỏ qua hoặc trở nên mờ đục; abogen cắt văn bản theo câu trước khi đưa vào, nên nếu câu dài thì nó cứ thế đi vào Kokoro và khiến audiobook đạt chất lượng không thể dùng nổi; vì vậy tôi đang tự làm một ứng dụng tkinter GUI dùng nltk và regex để chia nhỏ tinh hơn
kokoro-ttskhá hài lòng vì khả năng tách/chia tốt hơn kokoro-tts; công cụ này còn tạo luôn file audio theo từng chương và metadata; có thể dùng m4b-tool để nối các file audio lại và thêm thông tin chương m4b-tool; tôi rất muốn viết một bài về quy trình làm việc này vì nó thực sự hữu íchCá nhân tôi đang chờ một giải pháp có thể chuyển PDF thành ePub được dọn dẹp gọn gàng
Tôi đã dùng Kokoro TTS cùng audiblez cho CLI; model nhỏ nhưng tốc độ nhanh và chất lượng âm thanh khá ấn tượng; tuy vậy vẫn có vài điểm chưa ổn: a) nó không phân biệt được dấu chấm kết câu với dấu chấm trong các từ viết tắt như "Mr." hay "Mrs.", nên tạo ra những khoảng dừng gượng gạo; b) xử lý dấu ba chấm (...) chưa tốt; c) phát âm từ luôn giống hệt nhau dù ngữ cảnh khác nhau