Commit Graph
71 Commits
Author SHA1 Message Date
JB 9d35e39e89 feat: Add support for reading book title and authors before narration 2025-10-26 10:49:51 -07:00
JB 0a6d09445d feat: Add original text preservation in chunking and export processes 2025-10-15 05:41:51 -07:00
JB 6ae8b827d2 feat: Update chapter title formatting and enhance settings layout 2025-10-14 07:37:28 -07:00
JB 7ca030d67d feat: Add auto-prefix option for chapter titles and enhance reader functionality
- Introduced `auto_prefix_chapter_titles` setting in Job and PendingJob classes to control prefixing of chapter titles with "Chapter".
- Updated job detail and settings templates to display and configure the new option.
- Enhanced reader.js to manage playback controls, including chapter navigation and playback speed adjustments.
- Implemented a new prepare_chapters.html template for chapter selection and configuration during job preparation.
- Added tests for chapter title formatting and heading equivalence to ensure correct behavior of the new feature.
2025-10-14 06:24:15 -07:00
JB ccf5a11222 Enhance speaker analysis and web templates
- Added gender inference improvements in speaker_analysis.py, including handling of titles and diacritics.
- Updated analyze_speakers function to include sample excerpts with context paragraphs.
- Modified routes.py to skip suppressed speakers in the speaker roster.
- Enhanced prepare.js to manage speaker samples and pronunciation previews more effectively.
- Refined prepare_chapters.html and prepare_speakers.html templates for better navigation and user experience.
- Added tests for speaker analysis to ensure proper handling of stopwords and threshold suppression.
2025-10-11 11:14:52 -07:00
JB 20327faf0c feat: Enhance file upload experience with drag-and-drop support and improved UI for upload dropzone 2025-10-10 18:07:18 -07:00
JB be37f03109 Add number normalization and enhance UI for voice preview
- Implemented number conversion to words for grouped numbers in text normalization.
- Added configuration options for number conversion in ApostropheConfig.
- Updated the normalize_apostrophes function to include number normalization.
- Enhanced the dashboard UI with new sections for manuscript and narrator defaults.
- Improved voice preview functionality with better handling of audio playback and status updates.
- Refactored HTML templates for cleaner structure and added new fields for speaker settings.
- Updated CSS styles for improved layout and responsiveness.
- Added tests to ensure correct spelling of grouped numbers in the normalization process.
- Included num2words as a new dependency in pyproject.toml.
2025-10-10 16:12:51 -07:00
JB f35b35c7a9 feat: Enhance EPUB export by grouping chunks for rendering and adding group ID support 2025-10-10 14:43:28 -07:00
JB 4f46eb74f4 feat: Add original text preservation in chunk overlays and enhance whitespace handling in EPUB export 2025-10-10 12:08:22 -07:00
JB 15c1220ba3 feat: Enhance chunking logic to include display text and preserve whitespace in sentences 2025-10-10 11:17:14 -07:00
JB 443dee09b6 feat: Integrate roman numeral normalization in chapter titles and enhance related tests 2025-10-10 09:31:27 -07:00
JB 3a91e79cb6 feat: Enhance text normalization and chunking logic to preserve original whitespace and handle abbreviations 2025-10-10 08:38:00 -07:00
JB 01a6267c7a feat: Implement voice fallback logic and enhance voice resolution tests for custom mixes 2025-10-09 13:58:21 -07:00
JB f0b6976d12 feat: Enhance voice formula parsing and validation, implement voice asset caching, and add tests for new functionality 2025-10-09 13:37:36 -07:00
JB 6bd301b707 feat: Add static job logs view and enhance logging functionality with improved UI and error handling 2025-10-09 12:29:38 -07:00
JB 1bae37477b feat: Enhance speaker analysis with gender inference and update related tests 2025-10-08 07:09:12 -07:00
JB 3b07df9708 feat: Add title and suffix abbreviation expansion, ensure terminal punctuation, and enhance speaker analysis functionality 2025-10-08 05:43:49 -07:00
JB 41f56a8491 feat: Implement speaker analysis and EPUB 3 export functionality
- Added speaker analysis module to infer speaker identities from text chunks.
- Introduced SpeakerGuess and SpeakerAnalysis data classes for managing speaker data.
- Developed functions for analyzing speaker occurrences and confidence levels.
- Created EPUB 3 exporter to generate EPUB packages with synchronized narration and media overlays.
- Implemented configurable chunking options for TTS synthesis and EPUB alignment.
- Enhanced JavaScript for speaker preview functionality in the web interface.
- Added comprehensive tests for chunking and EPUB exporting features.
- Documented upgrade plan for transitioning to EPUB 3 with multi-speaker support.
2025-10-07 17:57:53 -07:00
JB ea1c7bd93e feat: Add ffmetadata rendering and writing functions with tests for chapter inclusion 2025-10-07 06:01:29 -07:00
JB 85310ad916 feat: Implement chapter overrides and metadata merging in conversion process
- Added `_coerce_truthy` function to handle truthy value coercion.
- Introduced `_apply_chapter_overrides` to apply chapter modifications based on provided overrides.
- Implemented `_merge_metadata` to combine extracted metadata with overrides, ensuring proper handling of None values.
- Updated `run_conversion_job` to utilize new chapter override and metadata merging functionalities.
- Modified `Job` class to store chapters as dictionaries for better flexibility.
- Enhanced `ConversionService` to normalize chapter input and metadata tags.
- Added comprehensive tests for chapter overrides and metadata merging to ensure functionality and correctness.
2025-10-06 18:05:12 -07:00
JB 338ff104e8 feat: Implement conversion service with job management and logging
- Added `ConversionService` class to handle job queuing, processing, and cancellation.
- Introduced `Job`, `JobLog`, and `JobResult` data classes to manage job details and results.
- Implemented job status tracking with enums for better state management.
- Created a web interface with HTML templates for job submission and monitoring.
- Developed CSS styles for a modern UI layout and responsive design.
- Added functionality for voice profile management in the voice mixer.
- Implemented a Docker Compose configuration for GPU support.
- Wrote unit tests for the conversion service to ensure job processing works as expected.
2025-10-05 15:53:33 -07:00