안녕하세요 여러분, 저는 오프라인 텍스트 음성 변환 (TTS) 기능을 갖춘 PDF (및 EPUB) 읽기용 데스크톱 앱인 Speechfony를 제작하고 있습니다. 문서를 열고, 하이라이트와 함께 문장 단위로 듣거나, 선택한 페이지를 MP3로 내보낼 수 있습니다. 모든 기능은 로컬에서 실행됩니다: 음성은 Kokoro를 사용하고, 의미론적 검색 (Semantic search)을 위해 온디바이스 임베딩 모델 (On-device embedding model)을 사용합니다. 저는 제 문서를 클라우드 TTS 서비스로 전송하지 않고, 첫 모델 다운로드 이후에는 오프라인으로 작동하며, "PDF 전체를 일반적인 TTS 박스에 쏟아붓는 것"보다 "읽으면서 듣는 것"에 더 가까운 무언가를 원했습니다.
현재 작동하는 기능:
- PDF + EPUB 읽기
- 실시간 하이라이트가 포함된 문장 단위 재생
- 조절 가능한 헤더/푸터 여백 (반복되는 페이지 크롬이 읽히지 않도록 함)
- 읽던 부분부터 재개
- 의미론적 검색 (의미 + 키워드), 로컬 임베딩 (Local embeddings)
- MP3로 오디오북 내보내기 (데스크톱 전용)
- 사용 가능한 경우 하드웨어 가속 지원 (CoreML / DirectML / CUDA)
미흡한 점이 있을 수 있습니다. 제가 이미 추적 중인 알려진 공백(Gaps)은 다음과 같습니다:
- 다단 레이아웃, 표, 코드, 수식
- 각주 / 인용, 목차 (TOC) / 색인 페이지, 캡션 / 사이드바
- 스캔된 PDF (아직 OCR 미지원)
- 비영어권 / RTL (Right-to-Left) 언어
- 음성 및 속도 제어 제한
- 회사 이름 / 니치한 기술 용어의 발음 오류 (이는 주로 Kokoro의 어휘집 문제이며, 제가 직접 Rust 바인딩을 구축하고 있습니다)
플랫폼: macOS Apple Silicon, Windows x64, Linux x64 (glibc ≥ 2.38). 현재 Intel Mac 빌드는 없습니다. 첫 실행 시 음성 모델(~130 MB, Hugging Face에서 다운로드)을 다운로드합니다. 그 이후에는 오프라인으로 작동합니다.
링크
GitHub: https://github.com/pguso/speechfony
다운로드: https://github.com/pguso/speechfony/releases
만약 여러분이 실제로 들을 만한 문서(논문, 매뉴얼, 책, 보고서)로 테스트해 보신다면, 다음을 알려주세요:
- 무엇이 깨지거나 소리가 이상했나요?
- 어떤 PDF/EPUB 레이아웃이 추출이나 재생을 방해했나요?
- 정기적으로 이 앱을 사용하게 만들기 위해 무엇이 더 필요한가요?
이슈(Issues)와 PR(Pull Requests)은 언제나 환영합니다. 완전한 오픈 소스 (MIT License)입니다.