EPUB으로 나만의 오디오북 만들기
EPUB to Audiobook Converter
오늘 소개하는 프로그램은 전자책 포맷인 EPUB을 오디오(MP3) 파일로 변환해 주는 간단한 도구.
다시 말해 전자책을 TTS로 소리 내 읽는 것을 그대로 녹음한 것이라고 보면 된다. 사용할 수 있는 TTS는 Azure, OpenAI, Edge가 있는데, 앞의 두 제품은 유료이므로 오늘은 모든 윈도우에 설치되어 있는 Edge TTS를 사용해 오디오북을 제작해 봤다.
해당 도구는 EPUB 파일만 지원하므로 TXT 파일은 EPUB으로 변환해서 작업하면 된다.
준비물 다운로드
Python 3.6+(필수): 다운로드
EPUB to Audiobook Converter(필수): 소스 다운로드
AudioBookConverter(선택): 다운로드(Assets 클릭 후 다운로드, 포터블 버전 추천)
EPUB to Audiobook Converter 사용법
1. Python 설치
2. 내려받은 Source code(zip)을 적당한 폴더(예: C:\epub_to_audiobook)에 압축해제
3. epub_to_audiobook 폴더에서 명령 창 열기
4. pip install virtualenv (virtualenv 가상 환경 설치)
5. virtualenv .venv (.venv라는 이름으로 가상 환경 생성)
6. call .venv/Scripts/activate (.venv 가상 환경 활성화)
→ 가상 환경이 활성화되면, 현재 작업 경로 앞에 (.venv)가 표시
→ 예: (.venv) C:\epub_to_audiobook
→ deactivate -> 가상 환경 비활성화
7. pip install –r requirements.txt (필수 패키지 설지)
8. python main.py –h (도움말 표시)
9. python main.py <input_file> <output_folder> [options]
→ 예: python main.py “C:\epub\love.epub” "C:\epub\love" --tts edge --language ko-KR --voice_name "ko-KR-SunHiNeural“
→ C:\epub\love.epub 파일을 엣지 TTS의 한국어 음성 선히를 사용해 MP3로 변환한 다음 C:\epub\love 폴더에 저장하라는 명령
엣지 TTS 음성 이름은 「Microsoft Edge, Azure TTS 엔진 사용하기 | TTS Server」 앱을 설치하면 확인할 수 있다. 아마 다른 방법도 있을 텐데, 찾아내지 못했다.
EPUB to Audiobook Converter 결과물
결과물은 EPUB 파일 구조(Epub 파일을 7z로 열면 볼 수 있음)에서 OEBPS\Text 폴더 안(사진 왼쪽 xhtml 파일)에 있는 파일을 따라 만들어지는데, 이것은 Audiobookshelf라는 자체 호스팅 오디오북 및 팟캐스트 서버를 위해서이기도 하고, 오디오북 포맷인 M4B 파일을 제작하기 위한 사전 준비이기도 하다.
참고로 PLEX Media Server가 동영상 스트리밍용 서버 프로그램이라면, Audiobookshelf는 오디오북 스트리밍 서버 프로그램이라고 보면 된다.
테스트에 사용한 전자책은 미야베 미유키의 『혼조 후카가와의 기이한 이야기』이고 변환 시간은 대략 20분 정도 걸렸다(Ryzen3 5300U).
테스트 결과물 및 오디오북 음성 변환
엣지의 선히 목소리가 마음에 들지 않는다면, 「무료 AI 보컬 Remix 도구 | Replay」 도구를 이용해 음성을 변환하는 것도 가능하다. 다만, NVIDIA GPU 사용자가 아니라면 음성 변환에 상당한 시간이 걸릴 것이다.
원본(선히 음성) 결과물을 각각 윤석열 대한민국 대통령, 리춘히 조선민주주의인민공화국 사회자의 RVC 모델을 사용해 변환해 봤다.
오디오북 M4B 제작하기
그냥 이 상태에서 감상해도 상관은 없지만, 좀 더 깔끔한 마무리를 위해 오디오북 파일 포맷인 M4B로 통합할 수 있는데, 이 작업은 AudioBookConverter 프로그램으로 간단하게 완료할 수 있다.
AudioBookConverter을 실행하고, 앞에서 만든 MP3 오디오북 파일들을 불러오면 (MP3 파일명 앞에 일련번호가 붙어있으므로) 위 사진처럼 챕터 순서대로 정렬이 된다. 트리 구조는 최상위 [Part 1] 밑에 [Chapter]가 서브 트리로 존재하는 방식이다.
자동으로 챕터가 생성되어 있고, 나중에 완성품을 감상할 때 이 챕터가 그대로 책 차례가 된다. 작은 챕터끼리 통합(Combine)할 수 있고, 책 표지도 추가할 수 있다.
설정이 끝났으면 [Convert] 메뉴에서 [Start]를 클릭하면 오디오북 파일을 제작하게 되는데, 오늘은 챕터 기능이 있는 M4B로 저장했다.
내보내기 옵션은 프리셋 그대로 사용해도 되는데, 다만 [Split by]를 [parts]로 설정해야 결과물이 하나의 M4B 파일로 만들어진다. 만약 [Split by]를 [chapters]로 설정하면 챕터별로 M4B 파일이 만들어진다(EPUB to Audiobook Converter 결과물처럼).
이렇게 완성한 오디오북을 안드로이드의 Smart AudioBook Player라는 앱을 사용해 감상할 수 있었다.
TTS 기능을 사용할 수 있는 환경이라면 굳이 오디오북을 제작할 필요는 없겠지만, 구글 TTS 음성 품질이 엣지 TTS에 비해 많이 떨어지고, 또 책을 듣고 싶어 하지만, 기계를 잘 다루지 못하는 가족을 위해 선물용으로도 괜찮을 것 같다. 단, 저작권법에 따라 오디오북을 가까운 사람 외에 공유하는 일은 삼가야 할 것이다.
0 comments:
댓글 쓰기
댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요